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:
authorrihab kouki <rihab.kouki@st.com>2021-11-23 17:29:35 +0300
committerrihab kouki <rihab.kouki@st.com>2021-11-23 17:52:54 +0300
commit11042898d71249ed9c698355fd7b7812b741a161 (patch)
tree8ba372ad357d2a044cfcb665b64c0caec1a7946f /Projects/NUCLEO-WB15CC
parentf8793c3e2ab6d2c84897405a6fcf529703185063 (diff)
Release v1.13.0
Diffstat (limited to 'Projects/NUCLEO-WB15CC')
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_conf.h45
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32_lpm_if.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/vcp_conf.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry.c194
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry_origin.c29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_uart.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/main.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject107
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.project319
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/syscalls.c158
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/sysmem.c79
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s392
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld175
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.c29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.c29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/tl_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/Target/hw_ipcc.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/BLE_HeartRate.ioc8
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Binary/BLE_HeartRate_reference.hex1732
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_conf.h58
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32_lpm_if.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_entry.c185
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/main.c37
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/standby_stm32wb15.c18
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_hal_msp.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/BLE_HeartRate.ewp2479
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/startup_stm32wb15xx_cm4.s17
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/STM32WB15CCUX_FLASH.ld15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c65
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.h20
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.h12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/tl_dbg_conf.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/Target/hw_ipcc.c26
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Binary/BLE_HeartRate_ota_reference.binbin22004 -> 22376 bytes
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_conf.h43
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32_lpm_if.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_entry.c194
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/main.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.h20
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.h12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/tl_dbg_conf.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/Target/hw_ipcc.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_common.h116
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_conf.h639
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_debug.h67
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_entry.h72
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_conf.h173
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_flash.h87
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_if.h247
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/lp_timer.h60
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/main.h75
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/nucleo_wb15cc_conf.h74
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32_lpm_if.h79
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_hal_conf.h352
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_it.h83
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/utilities_conf.h65
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/vcp_conf.h51
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_debug.c423
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_entry.c743
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_flash.c152
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_timerserver.c892
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_uart.c236
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/lp_timer.c134
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/main.c337
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/standby_stm32wb15.c164
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32_lpm_if.c446
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_hal_msp.c198
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_it.c387
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/system_stm32wbxx.c354
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewd2834
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewp1310
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/Project.eww7
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/startup_stm32wb15xx_cm4.s469
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/stm32wb15xx_flash_cm4.icf42
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvoptx1144
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvprojx828
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/startup_stm32wb15xx_cm4.s335
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/stm32wb15xx_flash_cm4.sct26
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.cproject218
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.project380
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/syscalls.c158
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/sysmem.c79
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s392
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld188
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.c110
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.h74
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.c279
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.c509
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.h76
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.c358
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.h52
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.c1917
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.h93
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.c484
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.h158
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.c345
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.h40
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.c1351
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h281
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.c1206
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.h111
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.c454
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.h81
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.c1957
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.h144
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.c751
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.h107
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.c765
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.h111
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.c332
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.h72
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.c565
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.h46
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_conf.h72
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_dbg_conf.h199
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/cube_hal.h48
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/data.s28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/hal_common.h53
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/mesh_cfg_usr.h583
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.c1163
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.h51
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/pal_nvm.c443
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/sensor_cfg_usr.h741
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/svcctl_conf.c82
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_conf.h32
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_dbg_conf.h133
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_if.c47
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.c343
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.h40
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/vcp_conf.h51
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/target/hw_ipcc.c706
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/readme.txt245
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_common.h116
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_conf.h637
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_debug.h67
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_entry.h72
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_conf.h173
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_flash.h87
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_if.h247
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/lp_timer.h60
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/main.h75
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/nucleo_wb15cc_conf.h74
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32_lpm_if.h79
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_hal_conf.h352
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_it.h81
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/utilities_conf.h65
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/vcp_conf.h51
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_debug.c423
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_entry.c735
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_flash.c152
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_timerserver.c892
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_uart.c236
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/lp_timer.c134
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/main.c337
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/standby_stm32wb15.c164
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32_lpm_if.c446
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_hal_msp.c198
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_it.c374
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/system_stm32wbxx.c354
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewd2834
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewp1313
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/Project.eww7
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/startup_stm32wb15xx_cm4.s469
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/stm32wb15xx_flash_cm4.icf42
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvoptx1144
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvprojx828
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/startup_stm32wb15xx_cm4.s335
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/stm32wb15xx_flash_cm4.sct26
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.cproject225
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.project380
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/syscalls.c158
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/sysmem.c79
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s392
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld188
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.c110
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.h74
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.c279
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.c509
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.h76
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.c358
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.h52
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.c1917
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.h93
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.c484
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.h158
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.c345
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.h40
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.c1351
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h281
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.c1206
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.h111
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.c454
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.h81
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.c1908
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.h135
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.c751
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.h107
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.c844
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.h111
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.c332
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.h72
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.c565
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.h46
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_conf.h72
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_dbg_conf.h199
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/cube_hal.h48
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/data.s28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/hal_common.h53
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/mesh_cfg_usr.h628
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.c1163
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.h51
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/pal_nvm.c443
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/sensor_cfg_usr.h698
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/svcctl_conf.c82
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_conf.h32
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_dbg_conf.h133
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_if.c47
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.c343
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.h40
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/vcp_conf.h51
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/target/hw_ipcc.c706
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/readme.txt246
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Binary/BLE_Ota_reference.hex2094
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_conf.h50
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/flash_driver.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/ota_sbsfu.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32_lpm_if.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/vcp_conf.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_entry.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/flash_driver.c44
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_uart.c29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/main.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32wbxx_it.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/system_stm32wbxx.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/stm32wb15xx_flash_cm4.icf4
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/stm32wb15xx_flash_cm4.sct15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_conf.h24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/otas_app.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/tl_dbg_conf.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/Target/hw_ipcc.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/readme.txt12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/BLE_TransparentMode.ioc8
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Binary/BLE_TransparentMode_reference.hex2250
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_conf.h58
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32_lpm_if.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_entry.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_uart.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/main.c37
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_hal_msp.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/BLE_TransparentMode.ewp8
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tl_dbg_conf.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.h12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/Target/hw_ipcc.c26
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/BLE_p2pClient.ioc8
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Binary/BLE_p2pClient_reference.hex3053
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_conf.h58
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32_lpm_if.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_entry.c185
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_uart.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/main.c37
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_hal_msp.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/BLE_p2pClient.ewp78
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/STM32WB15CCUX_FLASH.ld15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c72
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.c24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.h20
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/tl_dbg_conf.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/Target/hw_ipcc.c26
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/BLE_p2pServer.ioc8
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Binary/BLE_p2pServer_reference.hex3190
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_conf.h58
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32_lpm_if.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_entry.c185
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_uart.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/main.c39
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_hal_msp.c43
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/BLE_p2pServer.ewp86
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/STM32WB15CCUX_FLASH.ld15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.c65
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.c22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.h20
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/tl_dbg_conf.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/Target/hw_ipcc.c26
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Binary/BLE_p2pServer_ota_reference.binbin32112 -> 33468 bytes
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_common.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_conf.h43
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_debug.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_entry.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32_lpm_if.h34
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/utilities_conf.h25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_debug.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_entry.c194
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_timerserver.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_uart.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/main.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32_lpm_if.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/BLE_p2pServer_ota.uvprojx2
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/startup_stm32wb15xx_cm4.s17
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_conf.h22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_dbg_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.c22
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.h20
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/tl_dbg_conf.h21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/Target/hw_ipcc.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_common.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_entry.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_conf.h16
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_if.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32_lpm_if.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm_logging.h11
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/utilities_conf.h12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/app_entry.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/gpio_lld.c32
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/hw_uart.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32_lpm_if.c24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm_logging.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/STM32WB15CCUX_FLASH.ld24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.h16
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/tl_dbg_conf.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/Target/hw_ipcc.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_common.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_entry.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_conf.h16
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32_lpm_if.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm_logging.h11
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/utilities_conf.h12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/app_entry.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/gpio_lld.c32
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_timerserver.c16
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_uart.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32_lpm_if.c24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm_logging.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/STM32WB15CCUX_FLASH.ld24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.h16
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/tl_dbg_conf.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/Target/hw_ipcc.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_common.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_conf.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_entry.h23
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_conf.h16
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_if.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32_lpm_if.h29
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm_logging.h11
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/utilities_conf.h12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/app_entry.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/gpio_lld.c32
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/standby_stm32wb15.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32_lpm_if.c24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm_logging.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/stm32wb15xx_flash_cm4.icf6
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/stm32wb15xx_flash_cm4.sct19
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/STM32WB15CCUX_FLASH.ld24
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.h16
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/tl_dbg_conf.h14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/Target/hw_ipcc.c21
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/FreeRTOS_Mutexes.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/app_freertos.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_timebase_tim.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/readme.txt11
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/ADC_MultiChannelSingleConversion.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/ADC_SingleConversion_TriggerSW_IT.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/main.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/ADC_SingleConversion_TriggerTimer_DMA.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/main.c38
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/BSP_Example.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/COMP_CompareGpioVsVrefInt_IT.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_sram_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/CORTEXM_SysTick.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/CRC_Example.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/CRYP_DMA.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/readme.txt21
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/DMA_MUXSYNC.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/main.c36
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_hal_msp.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/DMA_MUX_RequestGen.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/FLASH_EraseProgram.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/FLASH_WriteProtection.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/GPIO_EXTI.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/main.c18
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/GPIO_IOToggle.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/HAL_TimeBase.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/main.c35
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/HAL_TimeBase_RTC_WKUP.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/main.c18
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_timebase_rtc_wakeup.c26
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/HAL_TimeBase_TIM.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/main.c20
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_timebase_tim.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/I2C_TwoBoards_ComDMA.ioc13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_hal_msp.c22
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/I2C_TwoBoards_ComIT.ioc13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_hal_msp.c22
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/IWDG_WindowMode.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/LPTIM_PWMExternalClock.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_hal_msp.c22
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/LPTIM_PulseCounter.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_hal_msp.c22
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_it.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/SigGen.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/SigGen.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/prime256v1.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/readme.txt14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/SigVer.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/prime256v1.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/PKA_ECDSA_Verify_IT.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/SigVer.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/prime256v1.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/readme.txt14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/PWR_LPRUN.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/PWR_LPSLEEP.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_hal_msp.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/PWR_PVD.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/PWR_STANDBY_RTC.ioc12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/RCC_ClockConfig.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/RNG_MultiRNG.ioc12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/RTC_Alarm.ioc12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/RTC_Tamper.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/main.c40
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/SPI_FullDuplex_ComDMA_Master.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/SPI_FullDuplex_ComDMA_Slave.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/TIM_OCActive.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/TIM_PWMInput.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/TIM_PWMOutput.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/UART_HyperTerminal_DMA.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/UART_Printf.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/WWDG_Example.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/ADC_MultiChannelSingleConversion_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/ADC_SingleConversion_TriggerSW_IT_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/main.c30
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/ADC_SingleConversion_TriggerTimer_DMA_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/main.c32
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/CRC_CalculateAndCheck.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/DMA_CopyFromFlashToMemory_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EXTI_ToggleLedOnIT_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/GPIO_InfiniteLedToggling_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/HSEM_DualProcess_IT.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init.ioc15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init.ioc15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/IWDG_RefreshUntilUserEvent_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/LPTIM_PulseCounter_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/LPUART_WakeUpFromStop_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/main.c26
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/SigGen.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/SigGen.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/main.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/prime256v1.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/readme.txt12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/PWR_EnterStandbyMode.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/PWR_EnterStopMode.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/PWR_OptimizedRunMode.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/RCC_UseHSI_PLLasSystemClock.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/RNG_GenerateRandomNumbers_IT.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/SPI_TwoBoards_FullDuplex_DMA_Master_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/readme.txt12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/SPI_TwoBoards_FullDuplex_DMA_Slave_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/readme.txt12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/stm32wbxx_it.c14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/TIM_TimeBase_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/USART_Communication_Rx_IT_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/main.c28
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/USART_Communication_Tx_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/UTILS_ReadDeviceInfo.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/main.c25
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/WWDG_RefreshUntilUserEvent_Init.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/PWR_STOP1.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/main.c33
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/SPI_HalfDuplex_ComPollingIT_Master.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/SPI_HalfDuplex_ComPollingIT_Slave.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/system_stm32wbxx.c15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/TIM_PWMInput.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/main.c34
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c23
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/readme.txt10
-rw-r--r--Projects/NUCLEO-WB15CC/Release_Notes.html29
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/EWARM/startup_stm32wb15xx_cm4.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/EWARM/stm32wb15xx_flash_cm4.icf2
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Inc/main.h13
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_hal_conf.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_it.h15
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/MDK-ARM/startup_stm32wb15xx_cm4.s13
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s14
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/syscalls.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/sysmem.c27
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/STM32WB15CCUX_FLASH.ld13
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Src/main.c31
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_hal_msp.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_it.c12
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Src/system_stm32wbxx.c13
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/Templates.ioc9
-rw-r--r--Projects/NUCLEO-WB15CC/Templates/readme.txt64
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/.extSettings7
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Project.eww7
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewd1419
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewp1083
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/EWARM/startup_stm32wb15xx_cm4.s430
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/EWARM/stm32wb15xx_flash_cm4.icf40
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/Inc/main.h93
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32_assert.h52
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32wbxx_it.h66
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/LICENSE.md27
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/Src/main.c201
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/Src/stm32wbxx_it.c204
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/Src/system_stm32wbxx.c362
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/Templates_LL.ioc106
-rw-r--r--Projects/NUCLEO-WB15CC/Templates_LL/readme.txt88
1903 files changed, 93399 insertions, 21896 deletions
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_conf.h
index 65e0783fc..96da2415d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -155,7 +155,7 @@
/**
* Encryption enable when set to 1
- * Encryption disabe when set to 0
+ * Encryption disable when set to 0
*/
#define CFG_ENCRYPTION_ENABLE 0
@@ -333,6 +333,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -342,11 +346,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -354,6 +362,19 @@
#define CFG_BLE_MAX_TX_POWER (0)
+
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+* which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -698,5 +719,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_entry.h
index c95d8bea9..286cf657d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_conf.h
index 8d9ecd40f..9ab15a5c6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -215,5 +215,3 @@
#define CFG_HW_USART1_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/main.h
index 0d3694d72..b8a514d28 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,5 +75,3 @@ void MX_USART1_UART_Init(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32_lpm_if.h
index d8e67947f..45c31caa5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
-* @file stm32_lpm_if.h
-* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
-* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
-* This software component is licensed by ST under BSD 3-Clause license,
-* the "License"; You may not use this file except in compliance with the
-* License. You may obtain a copy of the License at:
-* opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +77,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_hal_conf.h
index de4bd47e1..a34040522 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_it.h
index 1b2606699..87a9f8ab2 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -74,5 +73,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/vcp_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/vcp_conf.h
index 7280c33b9..67ce3231a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/vcp_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Inc/vcp_conf.h
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file vcp_conf.h
* @author MCD Application Team
* @brief Configuration of the vcp interface
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -49,5 +48,3 @@ extern "C"
#endif
#endif /*__VCP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_debug.c
index ad883ef7d..4e6fdf391 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -58,7 +58,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -143,8 +143,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -428,5 +436,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry.c
index d067a0077..b825fa693 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -30,6 +30,10 @@
#include "stm32_lpm.h"
#include "app_debug.h"
+#include "shci.h"
+#include "dbg_trace.h"
+
+
/* Private includes -----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
@@ -68,6 +72,8 @@ static void SystemPower_Config( void );
static void appe_Tl_Init( void );
static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
/* USER CODE BEGIN PFP */
@@ -181,22 +187,159 @@ static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
}
/**
- * The type of the payload for a system user event is tSHCI_UserEvtRxParam
- * When the system event is both :
- * - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
- * - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
- * The buffer shall not be released
- * ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
- * When the status is not filled, the buffer is released by default
- */
+* The type of the payload for a system user event is tSHCI_UserEvtRxParam
+* When the system event is both :
+* - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
+* - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
+* The buffer shall not be released
+* ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
+* When the status is not filled, the buffer is released by default
+*/
static void APPE_SysUserEvtRx( void * pPayload )
{
- UNUSED(pPayload);
- /* Traces channel initialization */
- APPD_EnableCPU2( );
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
- APP_BLE_Init( );
- UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+/**
+* @brief Notify when ready system event from the M0 firmware
+*/
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+
+ } else {
+
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY – UNEXPECTED CASE \n");
+ }
+ return;
+}
+
+/**
+* @brief Notify a system error coming from the M0 firmware
+*/
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT) {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – ERR_BLE_INIT \n");
+ } else {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – BLE ERROR \n");
+ }
return;
}
@@ -303,4 +446,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry_origin.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry_origin.c
index e816cb864..6e0827534 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry_origin.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/app_entry_origin.c
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file app_entry.c
* @author MCD Application Team
* @brief Entry point of the Application
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes ------------------------------------------------------------------*/
@@ -283,5 +282,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
}
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_uart.c
index 6ae6ff9f9..43c681c1c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/hw_uart.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Src/hw_uart.c
- * Description : HW UART source file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file hw_uart.c
+ * @author MCD Application Team
+ * @brief HW UART source file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -316,5 +315,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/main.c
index 4dd7b0585..a45d3d3b7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -616,5 +616,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/standby_stm32wb15.c
index 67aa3b3be..6a2584a0c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -163,4 +162,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_hal_msp.c
index 9f1157cde..52630483c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -283,5 +282,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_it.c
index cbc072b39..45cbc8b18 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -311,4 +310,3 @@ void RTC_WKUP_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/system_stm32wbxx.c
index 28a954956..d89236231 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -162,7 +161,7 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
-#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB10xx)
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
@@ -348,5 +347,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/stm32wb15xx_flash_cm4.icf
index 56d9d33c5..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/startup_stm32wb15xx_cm4.s
index f7cdf820d..3b925699a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject
new file mode 100644
index 000000000..4882ab29a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1702371919">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1702371919" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1702371919" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
+ <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1702371919." name="/" resourcePath="">
+ <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1853691613" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.577655000" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32WB15CCUx" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.705151589" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1391219946" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.1869571933" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1707600548" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1426279943" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-WB15CC" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1362531011" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.4 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || NUCLEO-WB15CC || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto | ../../../../../../../Middlewares/ST/STM32_WPAN | ../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include | ../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc | ../../../../../../../Drivers/BSP/NUCLEO-WB15CC | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl | ../../../../../../../Middlewares/ST/STM32_WPAN/utilities | ../../../../../../../Utilities/lpm/tiny_lpm | ../../../../../../../Utilities/sequencer | ../../../../../../../Drivers/CMSIS/Include | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread | ../../../../../../../Middlewares/ST/STM32_WPAN/ble | ../../Core/Inc | ../../STM32_WPAN/App | ../../../../../../../Drivers/BSP/NUCLEO-WB15CC || || || STM32WB15xx | USE_STM32WBXX_NUCLEO | USE_HAL_DRIVER || || || || || ${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld} || true || NonSecure || Size || || || None" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.1774756377" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" value="true" valueType="boolean"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.1026183683" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" value="false" valueType="boolean"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat.1847520735" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat" value="true" valueType="boolean"/>
+ <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.16762783" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
+ <builder buildPath="${workspace_loc:/BLE_DataThroughput}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1480658126" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.340950544" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.450543131" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.2126909468" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1902025854" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.985276241" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.587785697" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1656205173" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="STM32WB15xx"/>
+ <listOptionValue builtIn="false" value="USE_STM32WBXX_NUCLEO"/>
+ <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.278362407" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/BSP/NUCLEO-WB15CC"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/utilities"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/lpm/tiny_lpm"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/sequencer"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble"/>
+ <listOptionValue builtIn="false" value="../../Core/Inc"/>
+ <listOptionValue builtIn="false" value="../../STM32_WPAN/App"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/BSP/NUCLEO-WB15CC"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.766344764" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.2047092341" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.2094591731" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.693228871" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.141527380" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.727443239" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1220501284" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1694108779" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1655007181" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1470105284" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1090667956" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.183123671" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1303095591" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.936251605" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.2056193784" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1989412980" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="BLE_DataThroughput.null.346375854" name="BLE_DataThroughput"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1702371919;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1702371919.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1902025854;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.766344764">
+ <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.project b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.project
new file mode 100644
index 000000000..9d5bee611
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.project
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>BLE_DataThroughput</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.st.stm32cube.ide.mcu.MCUProjectNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUNonUnderRootProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUCubeExampleProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCURootProjectNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>Doc/readme.txt</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/readme.txt</locationURI>
+ </link>
+ <link>
+ <name>Utilities/stm32_lpm.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Utilities/lpm/tiny_lpm/stm32_lpm.c</locationURI>
+ </link>
+ <link>
+ <name>Utilities/stm32_seq.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Utilities/sequencer/stm32_seq.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/app_debug.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/app_debug.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/app_entry.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/app_entry.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_timerserver.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/hw_timerserver.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_uart.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/hw_uart.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/main.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/main.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/standby_stm32wb15.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/standby_stm32wb15.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/stm32_lpm_if.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/stm32_lpm_if.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/stm32wbxx_hal_msp.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/stm32wbxx_hal_msp.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/stm32wbxx_it.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/stm32wbxx_it.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/CMSIS/system_stm32wbxx.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/Core/Src/system_stm32wbxx.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_adc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_adc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_adc_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_adc_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_cortex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_dma.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_dma_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_exti.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_exti.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_gpio.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_ipcc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_hsem.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_pwr.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_pwr_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rcc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rcc_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rtc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rtc_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_spi.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_spi_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_uart.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_uart_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/app_ble.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/STM32_WPAN/App/app_ble.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/dt_client_app.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/STM32_WPAN/App/dt_client_app.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/dt_server_app.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/STM32_WPAN/App/dt_server_app.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/dts.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/STM32_WPAN/App/dts.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/target/hw_ipcc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/STM32_WPAN/Target/hw_ipcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/BSP/NUCLEO-WB15CC/nucleo_wb15cc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/BSP/NUCLEO-WB15CC/nucleo_wb15cc.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/DispTools.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/menu/DispTools.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/dbg_trace.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/otp.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/utilities/otp.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm_list.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/utilities/stm_list.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm_queue.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/svc_ctl.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_gap_aci.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_gatt_aci.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_hal_aci.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_hci_le.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_l2cap_aci.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/osal.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/syscalls.c
new file mode 100644
index 000000000..0a2679a25
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/syscalls.c
@@ -0,0 +1,158 @@
+/**
+ ******************************************************************************
+ * @file syscalls.c
+ * @author Auto-generated by STM32CubeIDE
+ * @brief STM32CubeIDE Minimal System calls file
+ *
+ * For more information about which c-functions
+ * need which of these lowlevel functions
+ * please consult the Newlib libc-manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include <sys/stat.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdio.h>
+#include <signal.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/times.h>
+
+
+/* Variables */
+//#undef errno
+extern int errno;
+extern int __io_putchar(int ch) __attribute__((weak));
+extern int __io_getchar(void) __attribute__((weak));
+
+register char * stack_ptr asm("sp");
+
+char *__env[1] = { 0 };
+char **environ = __env;
+
+
+/* Functions */
+void initialise_monitor_handles()
+{
+}
+
+int _getpid(void)
+{
+ return 1;
+}
+
+int _kill(int pid, int sig)
+{
+ errno = EINVAL;
+ return -1;
+}
+
+void _exit (int status)
+{
+ _kill(status, -1);
+ while (1) {} /* Make sure we hang here */
+}
+
+__attribute__((weak)) int _read(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ *ptr++ = __io_getchar();
+ }
+
+return len;
+}
+
+__attribute__((weak)) int _write(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ __io_putchar(*ptr++);
+ }
+ return len;
+}
+
+int _close(int file)
+{
+ return -1;
+}
+
+
+int _fstat(int file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _isatty(int file)
+{
+ return 1;
+}
+
+int _lseek(int file, int ptr, int dir)
+{
+ return 0;
+}
+
+int _open(char *path, int flags, ...)
+{
+ /* Pretend like we always fail */
+ return -1;
+}
+
+int _wait(int *status)
+{
+ errno = ECHILD;
+ return -1;
+}
+
+int _unlink(char *name)
+{
+ errno = ENOENT;
+ return -1;
+}
+
+int _times(struct tms *buf)
+{
+ return -1;
+}
+
+int _stat(char *file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _link(char *old, char *new)
+{
+ errno = EMLINK;
+ return -1;
+}
+
+int _fork(void)
+{
+ errno = EAGAIN;
+ return -1;
+}
+
+int _execve(char *name, char **argv, char **env)
+{
+ errno = ENOMEM;
+ return -1;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/sysmem.c
new file mode 100644
index 000000000..dda5abe79
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Core/sysmem.c
@@ -0,0 +1,79 @@
+/**
+ ******************************************************************************
+ * @file sysmem.c
+ * @author Generated by STM32CubeIDE
+ * @brief STM32CubeIDE System Memory calls file
+ *
+ * For more information about which C functions
+ * need which of these lowlevel functions
+ * please consult the newlib libc manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include <errno.h>
+#include <stdint.h>
+
+/**
+ * Pointer to the current high watermark of the heap usage
+ */
+static uint8_t *__sbrk_heap_end = NULL;
+
+/**
+ * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
+ * and others from the C library
+ *
+ * @verbatim
+ * ############################################################################
+ * # .data # .bss # newlib heap # MSP stack #
+ * # # # # Reserved by _Min_Stack_Size #
+ * ############################################################################
+ * ^-- RAM start ^-- _end _estack, RAM end --^
+ * @endverbatim
+ *
+ * This implementation starts allocating at the '_end' linker symbol
+ * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
+ * The implementation considers '_estack' linker symbol to be RAM end
+ * NOTE: If the MSP stack, at any point during execution, grows larger than the
+ * reserved size, please increase the '_Min_Stack_Size'.
+ *
+ * @param incr Memory size
+ * @return Pointer to allocated memory
+ */
+void *_sbrk(ptrdiff_t incr)
+{
+ extern uint8_t _end; /* Symbol defined in the linker script */
+ extern uint8_t _estack; /* Symbol defined in the linker script */
+ extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
+ const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
+ const uint8_t *max_heap = (uint8_t *)stack_limit;
+ uint8_t *prev_heap_end;
+
+ /* Initialize heap end at first call */
+ if (NULL == __sbrk_heap_end)
+ {
+ __sbrk_heap_end = &_end;
+ }
+
+ /* Protect heap from growing into the reserved MSP stack */
+ if (__sbrk_heap_end + incr > max_heap)
+ {
+ errno = ENOMEM;
+ return (void *)-1;
+ }
+
+ prev_heap_end = __sbrk_heap_end;
+ __sbrk_heap_end += incr;
+
+ return (void *)prev_heap_end;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
new file mode 100644
index 000000000..447865dae
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -0,0 +1,392 @@
+/**
+ ******************************************************************************
+ * @file startup_stm32wb15xx_cm4.s
+ * @author MCD Application Team
+ * @brief STM32WB15xx devices vector table GCC toolchain.
+ * This module performs:
+ * - Set the initial SP
+ * - Set the initial PC == Reset_Handler,
+ * - Set the vector table entries with the exceptions ISR address
+ * - Branches to main in the C library (which eventually
+ * calls main()).
+ * After Reset the Cortex-M4 processor is in Thread mode,
+ * priority is Privileged, and the Stack is set to Main.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+ .syntax unified
+ .cpu cortex-m4
+ .fpu softvfp
+ .thumb
+
+.global g_pfnVectors
+.global Default_Handler
+
+/* start address for the initialization values of the .data section.
+defined in linker script */
+.word _sidata
+/* start address for the .data section. defined in linker script */
+.word _sdata
+/* end address for the .data section. defined in linker script */
+.word _edata
+/* start address for the .bss section. defined in linker script */
+.word _sbss
+/* end address for the .bss section. defined in linker script */
+.word _ebss
+/* start address for the .MB_MEM2 section. defined in linker script */
+.word _sMB_MEM2
+/* end address for the .MB_MEM2 section. defined in linker script */
+.word _eMB_MEM2
+
+/* INIT_BSS macro is used to fill the specified region [start : end] with zeros */
+.macro INIT_BSS start, end
+ ldr r0, =\start
+ ldr r1, =\end
+ movs r3, #0
+ bl LoopFillZerobss
+.endm
+
+/* INIT_DATA macro is used to copy data in the region [start : end] starting from 'src' */
+.macro INIT_DATA start, end, src
+ ldr r0, =\start
+ ldr r1, =\end
+ ldr r2, =\src
+ movs r3, #0
+ bl LoopCopyDataInit
+.endm
+
+.section .text.data_initializers
+CopyDataInit:
+ ldr r4, [r2, r3]
+ str r4, [r0, r3]
+ adds r3, r3, #4
+
+LoopCopyDataInit:
+ adds r4, r0, r3
+ cmp r4, r1
+ bcc CopyDataInit
+ bx lr
+
+FillZerobss:
+ str r3, [r0]
+ adds r0, r0, #4
+
+LoopFillZerobss:
+ cmp r0, r1
+ bcc FillZerobss
+ bx lr
+
+ .section .text.Reset_Handler
+ .weak Reset_Handler
+ .type Reset_Handler, %function
+Reset_Handler:
+ ldr r0, =_estack
+ mov sp, r0 /* set stack pointer */
+/* Call the clock system initialization function.*/
+ bl SystemInit
+
+/* Copy the data segment initializers from flash to SRAM */
+ INIT_DATA _sdata, _edata, _sidata
+
+/* Zero fill the bss segments. */
+ INIT_BSS _sbss, _ebss
+ INIT_BSS _sMB_MEM2, _eMB_MEM2
+
+/* Call static constructors */
+ bl __libc_init_array
+/* Call the application s entry point.*/
+ bl main
+
+LoopForever:
+ b LoopForever
+
+.size Reset_Handler, .-Reset_Handler
+
+/**
+ * @brief This is the code that gets called when the processor receives an
+ * unexpected interrupt. This simply enters an infinite loop, preserving
+ * the system state for examination by a debugger.
+ *
+ * @param None
+ * @retval None
+*/
+ .section .text.Default_Handler,"ax",%progbits
+Default_Handler:
+Infinite_Loop:
+ b Infinite_Loop
+ .size Default_Handler, .-Default_Handler
+/******************************************************************************
+*
+* The minimal vector table for a Cortex-M4. Note that the proper constructs
+* must be placed on this to ensure that it ends up at physical address
+* 0x0000.0000.
+*
+******************************************************************************/
+ .section .isr_vector,"a",%progbits
+ .type g_pfnVectors, %object
+ .size g_pfnVectors, .-g_pfnVectors
+
+
+g_pfnVectors:
+ .word _estack
+ .word Reset_Handler
+ .word NMI_Handler
+ .word HardFault_Handler
+ .word MemManage_Handler
+ .word BusFault_Handler
+ .word UsageFault_Handler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word SVC_Handler
+ .word DebugMon_Handler
+ .word 0
+ .word PendSV_Handler
+ .word SysTick_Handler
+ .word WWDG_IRQHandler
+ .word PVD_PVM_IRQHandler
+ .word TAMP_STAMP_LSECSS_IRQHandler
+ .word RTC_WKUP_IRQHandler
+ .word FLASH_IRQHandler
+ .word RCC_IRQHandler
+ .word EXTI0_IRQHandler
+ .word EXTI1_IRQHandler
+ .word EXTI2_IRQHandler
+ .word EXTI3_IRQHandler
+ .word EXTI4_IRQHandler
+ .word DMA1_Channel1_IRQHandler
+ .word DMA1_Channel2_IRQHandler
+ .word DMA1_Channel3_IRQHandler
+ .word DMA1_Channel4_IRQHandler
+ .word DMA1_Channel5_IRQHandler
+ .word DMA1_Channel6_IRQHandler
+ .word DMA1_Channel7_IRQHandler
+ .word ADC1_IRQHandler
+ .word 0
+ .word 0
+ .word C2SEV_PWR_C2H_IRQHandler
+ .word COMP_IRQHandler
+ .word EXTI9_5_IRQHandler
+ .word TIM1_BRK_IRQHandler
+ .word TIM1_UP_IRQHandler
+ .word TIM1_TRG_COM_IRQHandler
+ .word TIM1_CC_IRQHandler
+ .word TIM2_IRQHandler
+ .word PKA_IRQHandler
+ .word I2C1_EV_IRQHandler
+ .word I2C1_ER_IRQHandler
+ .word 0
+ .word 0
+ .word SPI1_IRQHandler
+ .word 0
+ .word USART1_IRQHandler
+ .word LPUART1_IRQHandler
+ .word 0
+ .word TSC_IRQHandler
+ .word EXTI15_10_IRQHandler
+ .word RTC_Alarm_IRQHandler
+ .word 0
+ .word PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ .word IPCC_C1_RX_IRQHandler
+ .word IPCC_C1_TX_IRQHandler
+ .word HSEM_IRQHandler
+ .word LPTIM1_IRQHandler
+ .word LPTIM2_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word AES2_IRQHandler
+ .word RNG_IRQHandler
+ .word FPU_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word DMAMUX1_OVR_IRQHandler
+
+/*******************************************************************************
+*
+* Provide weak aliases for each Exception handler to the Default_Handler.
+* As they are weak aliases, any function with the same name will override
+* this definition.
+*
+*******************************************************************************/
+ .weak NMI_Handler
+ .thumb_set NMI_Handler,Default_Handler
+
+ .weak HardFault_Handler
+ .thumb_set HardFault_Handler,Default_Handler
+
+ .weak MemManage_Handler
+ .thumb_set MemManage_Handler,Default_Handler
+
+ .weak BusFault_Handler
+ .thumb_set BusFault_Handler,Default_Handler
+
+ .weak UsageFault_Handler
+ .thumb_set UsageFault_Handler,Default_Handler
+
+ .weak SVC_Handler
+ .thumb_set SVC_Handler,Default_Handler
+
+ .weak DebugMon_Handler
+ .thumb_set DebugMon_Handler,Default_Handler
+
+ .weak PendSV_Handler
+ .thumb_set PendSV_Handler,Default_Handler
+
+ .weak SysTick_Handler
+ .thumb_set SysTick_Handler,Default_Handler
+
+ .weak WWDG_IRQHandler
+ .thumb_set WWDG_IRQHandler,Default_Handler
+
+ .weak PVD_PVM_IRQHandler
+ .thumb_set PVD_PVM_IRQHandler,Default_Handler
+
+ .weak TAMP_STAMP_LSECSS_IRQHandler
+ .thumb_set TAMP_STAMP_LSECSS_IRQHandler,Default_Handler
+
+ .weak RTC_WKUP_IRQHandler
+ .thumb_set RTC_WKUP_IRQHandler,Default_Handler
+
+ .weak FLASH_IRQHandler
+ .thumb_set FLASH_IRQHandler,Default_Handler
+
+ .weak RCC_IRQHandler
+ .thumb_set RCC_IRQHandler,Default_Handler
+
+ .weak EXTI0_IRQHandler
+ .thumb_set EXTI0_IRQHandler,Default_Handler
+
+ .weak EXTI1_IRQHandler
+ .thumb_set EXTI1_IRQHandler,Default_Handler
+
+ .weak EXTI2_IRQHandler
+ .thumb_set EXTI2_IRQHandler,Default_Handler
+
+ .weak EXTI3_IRQHandler
+ .thumb_set EXTI3_IRQHandler,Default_Handler
+
+ .weak EXTI4_IRQHandler
+ .thumb_set EXTI4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel1_IRQHandler
+ .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel2_IRQHandler
+ .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel3_IRQHandler
+ .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel4_IRQHandler
+ .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel5_IRQHandler
+ .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel6_IRQHandler
+ .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel7_IRQHandler
+ .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
+
+ .weak ADC1_IRQHandler
+ .thumb_set ADC1_IRQHandler,Default_Handler
+
+ .weak C2SEV_PWR_C2H_IRQHandler
+ .thumb_set C2SEV_PWR_C2H_IRQHandler,Default_Handler
+
+ .weak COMP_IRQHandler
+ .thumb_set COMP_IRQHandler,Default_Handler
+
+ .weak EXTI9_5_IRQHandler
+ .thumb_set EXTI9_5_IRQHandler,Default_Handler
+
+ .weak TIM1_BRK_IRQHandler
+ .thumb_set TIM1_BRK_IRQHandler,Default_Handler
+
+ .weak TIM1_UP_IRQHandler
+ .thumb_set TIM1_UP_IRQHandler,Default_Handler
+
+ .weak TIM1_TRG_COM_IRQHandler
+ .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler
+
+ .weak TIM1_CC_IRQHandler
+ .thumb_set TIM1_CC_IRQHandler,Default_Handler
+
+ .weak TIM2_IRQHandler
+ .thumb_set TIM2_IRQHandler,Default_Handler
+
+ .weak PKA_IRQHandler
+ .thumb_set PKA_IRQHandler,Default_Handler
+
+ .weak I2C1_EV_IRQHandler
+ .thumb_set I2C1_EV_IRQHandler,Default_Handler
+
+ .weak I2C1_ER_IRQHandler
+ .thumb_set I2C1_ER_IRQHandler,Default_Handler
+
+ .weak SPI1_IRQHandler
+ .thumb_set SPI1_IRQHandler,Default_Handler
+
+ .weak USART1_IRQHandler
+ .thumb_set USART1_IRQHandler,Default_Handler
+
+ .weak LPUART1_IRQHandler
+ .thumb_set LPUART1_IRQHandler,Default_Handler
+
+ .weak TSC_IRQHandler
+ .thumb_set TSC_IRQHandler,Default_Handler
+
+ .weak EXTI15_10_IRQHandler
+ .thumb_set EXTI15_10_IRQHandler,Default_Handler
+
+ .weak RTC_Alarm_IRQHandler
+ .thumb_set RTC_Alarm_IRQHandler,Default_Handler
+
+ .weak PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ .thumb_set PWR_SOTF_BLEACT_RFPHASE_IRQHandler,Default_Handler
+
+ .weak IPCC_C1_RX_IRQHandler
+ .thumb_set IPCC_C1_RX_IRQHandler,Default_Handler
+
+ .weak IPCC_C1_TX_IRQHandler
+ .thumb_set IPCC_C1_TX_IRQHandler,Default_Handler
+
+ .weak HSEM_IRQHandler
+ .thumb_set HSEM_IRQHandler,Default_Handler
+
+ .weak LPTIM1_IRQHandler
+ .thumb_set LPTIM1_IRQHandler,Default_Handler
+
+ .weak LPTIM2_IRQHandler
+ .thumb_set LPTIM2_IRQHandler,Default_Handler
+
+ .weak AES2_IRQHandler
+ .thumb_set AES2_IRQHandler,Default_Handler
+
+ .weak RNG_IRQHandler
+ .thumb_set RNG_IRQHandler,Default_Handler
+
+ .weak FPU_IRQHandler
+ .thumb_set FPU_IRQHandler,Default_Handler
+
+ .weak DMAMUX1_OVR_IRQHandler
+ .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
new file mode 100644
index 000000000..4e53aee02
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -0,0 +1,175 @@
+/*
+******************************************************************************
+**
+** File : LinkerScript.ld
+**
+** Author : STM32CubeIDE
+**
+** Abstract : Linker script for STM32WB15xC Device
+** 320Kbytes FLASH
+** 48Kbytes RAM
+**
+** Set heap size, stack size and stack location according
+** to application requirements.
+**
+** Set memory bank area and size if external memory is used.
+**
+** Target : STMicroelectronics STM32
+**
+** Distribution: The file is distributed as is without any warranty
+** of any kind.
+**
+*****************************************************************************
+** @attention
+**
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
+**
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
+**
+*****************************************************************************
+*/
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+/* Highest address of the user mode stack */
+_estack = 0x20003000; /* end of RAM */
+/* Generate a link error if heap and stack don't fit into RAM */
+_Min_Heap_Size = 0x400 ; /* required amount of heap */
+_Min_Stack_Size = 0x1000 ; /* required amount of stack */
+
+/* Specify the memory areas */
+MEMORY
+{
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
+RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
+RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
+}
+
+/* Define output sections */
+SECTIONS
+{
+ /* The startup code goes first into FLASH */
+ .isr_vector :
+ {
+ . = ALIGN(4);
+ KEEP(*(.isr_vector)) /* Startup code */
+ . = ALIGN(4);
+ } >FLASH
+
+ /* The program code and other data goes into FLASH */
+ .text :
+ {
+ . = ALIGN(4);
+ *(.text) /* .text sections (code) */
+ *(.text*) /* .text* sections (code) */
+ *(.glue_7) /* glue arm to thumb code */
+ *(.glue_7t) /* glue thumb to arm code */
+ *(.eh_frame)
+
+ KEEP (*(.init))
+ KEEP (*(.fini))
+
+ . = ALIGN(4);
+ _etext = .; /* define a global symbols at end of code */
+ } >FLASH
+
+ /* Constant data goes into FLASH */
+ .rodata :
+ {
+ . = ALIGN(4);
+ *(.rodata) /* .rodata sections (constants, strings, etc.) */
+ *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
+ . = ALIGN(4);
+ } >FLASH
+
+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
+ .ARM : {
+ __exidx_start = .;
+ *(.ARM.exidx*)
+ __exidx_end = .;
+ } >FLASH
+
+ .preinit_array :
+ {
+ PROVIDE_HIDDEN (__preinit_array_start = .);
+ KEEP (*(.preinit_array*))
+ PROVIDE_HIDDEN (__preinit_array_end = .);
+ } >FLASH
+ .init_array :
+ {
+ PROVIDE_HIDDEN (__init_array_start = .);
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array*))
+ PROVIDE_HIDDEN (__init_array_end = .);
+ } >FLASH
+ .fini_array :
+ {
+ PROVIDE_HIDDEN (__fini_array_start = .);
+ KEEP (*(SORT(.fini_array.*)))
+ KEEP (*(.fini_array*))
+ PROVIDE_HIDDEN (__fini_array_end = .);
+ } >FLASH
+
+ /* used by the startup to initialize data */
+ _sidata = LOADADDR(.data);
+
+ /* Initialized data sections goes into RAM, load LMA copy after code */
+ .data :
+ {
+ . = ALIGN(4);
+ _sdata = .; /* create a global symbol at data start */
+ *(.data) /* .data sections */
+ *(.data*) /* .data* sections */
+ *(.RamFunc) /* .RamFunc sections */
+ *(.RamFunc*) /* .RamFunc* sections */
+
+ . = ALIGN(4);
+ _edata = .; /* define a global symbol at data end */
+ } >RAM1 AT> FLASH
+
+ /* Uninitialized data section */
+ . = ALIGN(4);
+ .bss :
+ {
+ /* This is used by the startup in order to initialize the .bss section */
+ _sbss = .; /* define a global symbol at bss start */
+ __bss_start__ = _sbss;
+ *(.bss)
+ *(.bss*)
+ *(COMMON)
+
+ . = ALIGN(4);
+ _ebss = .; /* define a global symbol at bss end */
+ __bss_end__ = _ebss;
+ } >RAM1
+
+ /* User_heap_stack section, used to check that there is enough RAM left */
+ ._user_heap_stack :
+ {
+ . = ALIGN(8);
+ PROVIDE ( end = . );
+ PROVIDE ( _end = . );
+ . = . + _Min_Heap_Size;
+ . = . + _Min_Stack_Size;
+ . = ALIGN(8);
+ } >RAM1
+
+ /* Remove information from the standard libraries */
+ /DISCARD/ :
+ {
+ libc.a ( * )
+ libm.a ( * )
+ libgcc.a ( * )
+ }
+
+ .ARM.attributes 0 : { *(.ARM.attributes) }
+ MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED
+ MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED
+ MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED
+}
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.c
index 5094415fa..73189310b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : App/app_ble.c
* Description : Application file for BLE Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -231,7 +230,7 @@ static const char local_name[] = { AD_TYPE_COMPLETE_LOCAL_NAME, 'D', 'T', '_', '
uint8_t index_con_int, mutex;
-uint8_t const manuf_data[22] = { 2, AD_TYPE_TX_POWER_LEVEL, 0x00 /* 0 dBm */, /* Trasmission Power */
+uint8_t const manuf_data[22] = { 2, AD_TYPE_TX_POWER_LEVEL, 0x00 /* 0 dBm */, /* Transmission Power */
10, AD_TYPE_COMPLETE_LOCAL_NAME, 'D', 'T', '_', 'S', 'E', 'R', 'V', 'E', 'R', /* Complete Name */
7, AD_TYPE_MANUFACTURER_SPECIFIC_DATA, 0x01/*SKD version */,
CFG_DEV_ID_PERIPH_SERVER, /* NUCLEO-Board WB - DT Periph Server*/
@@ -307,7 +306,8 @@ void APP_BLE_Init( void )
0,
CFG_BLE_MAX_COC_INITIATOR_NBR,
CFG_BLE_MIN_TX_POWER,
- CFG_BLE_MAX_TX_POWER}
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
};
/**
@@ -1219,4 +1219,3 @@ void SVCCTL_InitCustomSvc( void )
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.h
index 559808169..5e6be9dc3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/app_ble.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.h
- * Description : Application configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,5 +92,3 @@ void APP_BLE_Key_Button3_Action(void);
#endif
#endif /*APP_BLE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_conf.h
index e9e85881b..7937863b0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -86,4 +85,3 @@
#define BLE_CFG_GAP_APPEARANCE (BLE_CFG_HR_SENSOR_APPEARANCE)
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_dbg_conf.h
index c3304bccc..51bec2537 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -228,5 +227,3 @@
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.c
index 20b2549cf..df7a62b0e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.c
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file dt_client_app.c
* @author MCD Application Team
* @brief data throughput client Application
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes ------------------------------------------------------------------*/
@@ -476,5 +475,3 @@ static SVCCTL_EvtAckStatus_t DTC_Event_Handler( void *Event )
return;
}
-
- /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.h
index 372a3246a..92facc094 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_client_app.h
@@ -1,22 +1,21 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file dt_client_app.h
* @author MCD Application Team
* @brief Header for dt_client_app.c module
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -41,5 +40,3 @@ void DTC_App_LinkReadyNotification(uint16_t ConnectionHandle);
#endif
#endif /*__DTC_APPLICATION_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.c
index 15520599a..80f418cab 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.c
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file dt_server_app.c
* @author MCD Application Team
* @brief data throughput server Application
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes ------------------------------------------------------------------*/
@@ -292,4 +291,3 @@ static void BLE_App_Delay_DataThroughput(void)
DTS_STM_UpdateCharThroughput( (DTS_STM_Payload_t*) &ThroughputToSend);
DataReceived = 0;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.h
index b40127259..a5c23835b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dt_server_app.h
@@ -1,22 +1,21 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file dt_server_app.h
* @author MCD Application Team
* @brief Header for dt_server_app.c module
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -51,5 +50,3 @@ typedef void (* IO_RECEIVE_DATA_USER_CALLBACK_TYPE) (uint8_t * rx_data, uint16_t
#endif
#endif /*__DTS_SERVER_APP_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.c
index 4d6d37f0f..85f3e044b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.c
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file dts.c
* @author MCD Application Team
* @brief Data Transfer Service (Custom)
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes ------------------------------------------------------------------*/
@@ -353,5 +352,3 @@ tBleStatus DTS_STM_UpdateCharThroughput(DTS_STM_Payload_t *pDataValue )
(uint8_t *) pDataValue->pPayload);
return result;
}/* end DTS_STM_UpdateChar() */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.h
index a4afee9ba..bf30a32c8 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/dts.h
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file dts.h
* @author MCD Application Team
* @brief Header for ble_application.c module
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -79,5 +78,3 @@ tBleStatus DTS_STM_UpdateCharThroughput(DTS_STM_Payload_t *pDataValue );
#endif
#endif /*__DTS_STM_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/tl_dbg_conf.h
index fc8f3cbca..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -48,7 +47,7 @@ extern "C" {
#define TL_HCI_EVT_DBG_EN 0 /* Reports BLE Asynchronous Events received from CPU2 */
#define TL_HCI_EVT_DBG_RAW_EN 0 /* Reports raw data BLE Asynchronous Events received from CPU2 */
-#define TL_MM_DBG_EN 0 /* Reports the informations of the buffer released to CPU2 */
+#define TL_MM_DBG_EN 0 /* Reports the information of the buffer released to CPU2 */
/**
* Macro definition
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..4eecadfdd 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,7 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
+
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +701,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/readme.txt
index a3067555b..81da97319 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/readme.txt
@@ -8,12 +8,12 @@
* @brief Data transfer via notification from server to client with a timer that enables to calculate the throughput at application level.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/BLE_HeartRate.ioc b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/BLE_HeartRate.ioc
index bf944b52a..670601b18 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/BLE_HeartRate.ioc
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/BLE_HeartRate.ioc
@@ -35,8 +35,8 @@ Mcu.PinsNb=14
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.3.0
-MxDb.Version=DB.6.0.30
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -73,6 +73,8 @@ ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32WB15CCUx
+ProjectManager.Example=BLE_HeartRate
+ProjectManager.ExampleSource=CubeFw
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x400
@@ -177,5 +179,3 @@ VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TINY_LPM_VS_TINY_LPM.Mode=TINY_LPM_Enabled
VP_TINY_LPM_VS_TINY_LPM.Signal=TINY_LPM_VS_TINY_LPM
board=custom
-ProjectManager.Example=BLE_HeartRate
-ProjectManager.ExampleSource=CubeFw
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Binary/BLE_HeartRate_reference.hex b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Binary/BLE_HeartRate_reference.hex
index bd3482b3d..997ac83ad 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Binary/BLE_HeartRate_reference.hex
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Binary/BLE_HeartRate_reference.hex
@@ -1,24 +1,24 @@
:020000040800F2
-:10000000081000204D3B0008E93B0008EB3B0008CE
-:10001000ED3B0008EF3B0008F13B0008000000004A
-:10002000000000000000000000000000F33B00089A
-:10003000F53B000800000000F73B0008F93B000812
-:10004000B13D0008B53D0008B93D00081B3C000863
-:10005000BD3D0008C13D0008093C0008C53D000841
-:10006000C93D0008CD3D00080F3C0008D13D000807
-:10007000D53D0008D93D0008DD3D0008E13D000800
-:10008000E53D0008E93D0008ED3D000800000000E6
-:1000900000000000F13D0008F53D0008153C000897
-:1000A000F93D0008FD3D0008013E0008053E00083E
-:1000B000093E00080D3E0008113E0008153E0008EC
-:1000C0000000000000000000193E000800000000D1
-:1000D0001D3E0008213E000800000000253E0008EB
-:1000E000293E00082D3E000800000000313E0008B7
-:1000F000FD3B0008013C0008053C0008353E0008B7
-:10010000393E000800000000000000000000000070
-:100110003D3E0008413E0008453E0008000000004A
+:1000000008100020453E0008E13E0008E33E0008DD
+:10001000E53E0008E73E0008E93E00080000000059
+:10002000000000000000000000000000EB3E00089F
+:10003000ED3E000800000000EF3E0008F13E000821
+:10004000A9400008AD400008B1400008F53E000896
+:10005000B5400008B9400008053F0008BD40000851
+:10006000C1400008C54000080B3F0008C940000817
+:10007000CD400008D1400008D5400008D940000814
+:10008000DD400008E1400008E540000800000000F5
+:1000900000000000E9400008ED400008113F0008A2
+:1000A000F1400008F5400008F9400008FD40000854
+:1000B0000141000805410008094100080D41000800
+:1000C00000000000000000001141000800000000D6
+:1000D0001541000819410008000000001D410008FA
+:1000E00021410008254100080000000029410008C6
+:1000F000F93E0008FD3E0008013F00082D410008C0
+:100100003141000800000000000000000000000075
+:1001100035410008394100083D4100080000000059
:1001200000000000000000000000000000000000CF
-:100130000000000000000000493E00084FF0B04001
+:100130000000000000000000414100084FF0B04006
:10014000006800F0F000B02888BFB02070472DE9AB
:10015000F041040054D0207881064FF0B04538D5E6
:10016000A868E96810F00C0001F0030103D00C2826
@@ -146,8 +146,8 @@
:10090000C00000F023F80646296801F00701A14263
:10091000E7D1002070BD00000801005898100020A9
:100920008C10002090000058000400588C80C111E9
-:1009300000400058080000580C3B00080024F40058
-:100940000048E801CC3A000840420F00286000F05F
+:100930000040005808000058043E00080024F4005D
+:100940000048E801C43D000840420F00286000F064
:1009500033B8000012000000240000003600000040
:100960004000000000000000010000000200000044
:100970000300000070B50F4E044630780025A8B182
@@ -180,830 +180,878 @@
:100B200000F01F010A4B8A40400943F8202070471B
:100B300000E400E018ED00E00CED00E00000FA0534
:100B400000E100E080E100E010E000E000E200E011
-:100B500080E200E02C4981B00A6802430A6009681B
+:100B500080E200E0474981B00A6802430A60096800
:100B600008400090009801B0704780B54FF4002015
:100B7000FFF7F0FF002200212E20FFF777FFBDE8EE
-:100B800002402E20FFF790BF00682049884200D025
+:100B800002402E20FFF790BF00683B49884200D00A
:100B9000704780B54FF48010FFF7DCFF0022002182
:100BA0002C20FFF763FF2C20FFF77EFF002200219F
:100BB0002D20FFF75BFFBDE802402D20FFF774BF3B
-:100BC0001CB504461249206888421CD1FFF7FAFE82
-:100BD000FFF7F8FE0F48816B21F4407141F48071FA
-:100BE0008163816B41F400418163026842F4806259
-:100BF0000260006800F48060009000982046BDE824
-:100C0000164000F015B813BD50000058000C0058F5
-:100C100000280040580000588A60FF210268516295
-:100C2000012180F82110002180F820100020704759
-:100C300090F82010012901D102207047012280F88C
-:100C40002020022180F82110CA210268516253211C
-:100C50000368596201688A6842F02002DCE7704745
-:100C6000DFF83C150A6892B200E00246086880B2DC
-:100C70008242FAD170472DE9FC4104461825DFF87D
-:100C80002485DFF82465684308EB000730780628E0
-:100C900008D131787170347078754FF0FF30706022
-:100CA000002039E000F077F8B9680918B96008F158
-:100CB0000803B96832786A439A589142327813D35C
-:100CC00008F1150315FB02FC13F80C30062B25D098
-:100CD00008F108066B43F358994222BF08F1150347
-:100CE0006A439A5CEED219E01146337869439A421E
-:100CF0000BD008F1140308F1150C5B5C15FB03F530
-:100D00000CF805407A753B7500E07A7508F114021D
-:100D10005454317871703470BDE8F68111466943DE
-:100D200008F115035B5C062B04D008F1140615FBD3
-:100D300003F574557B753A7508F115025454EBE7C9
-:100D4000F8B5DFF86434DFF85C541E7818240246E6
-:100D50006243B0422A4404D118785870507D18700C
-:100D60000FE0167D507D92F815C005F1150766431A
-:100D7000062807F806C004D0167D143514FB00F4CD
-:100D80002E55012010731878062802BF00294FF055
-:100D9000FF315960F1BD10B5DFF80C44606810F107
-:100DA000010F0FD0FFF75CFF6168DFF8002481427C
-:100DB00061683CBF5388C918081A517848431178B4
-:100DC000C84000E0002080B210BD2DE9F84FDFF8E8
-:100DD000DC53DFF8DCB3D5F80880D8F80000DBF886
-:100DE00000104A0500F090F9DFF8BC63DFF8B4A307
-:100DF00021F4806181604FF0180934780AF108000D
-:100E000019FB04F14758FFF7C6FF874217D20027A6
-:100E10000121B170062C3DD019FB04F40AF1080140
-:100E20000AF108020959814223BF0AF10801095950
-:100E3000091A002111510AEB04014C7DEAE7A98847
-:100E40004118B94202D2AF880021E2E73F1ADFE73A
-:100E5000022802DA2878012800D07F1ED8F8000086
-:100E6000C1684A07FAD500F055F9DBF80C00000C10
-:100E7000BFB247EA0047CBF80C70FFF7F1FE706095
-:100E8000A8680068816841F480618160AFF30080E8
-:100E9000BDE8F18FB8B20028DAD1FFF7E1FE70604B
-:100EA0000320BDE8F24FFFF72DBE2DE9F843EFF325
-:100EB000108872B6BD4DBB4BA8680168CA224A6251
-:100EC00053204862B84A886820F4806088601820FF
-:100ED0001678374647431F44387B022826D13C68A2
-:100EE000D7F810909078F0B17A7B012A0AD10121CD
-:100EF0003046FFF725FF88F310887968304600F008
-:100F000016F904E088F31088304600F0C1F8A868AC
-:100F10000068CA2141622246532141624846314657
-:100F200000F050F90BE0FFF750FF06E0C8684207F9
-:100F3000FCD500F07EF89F49086088F31088FF21F7
-:100F4000A86802685162BDE8F183F8B5974CA160CA
-:100F5000CA2209684A6253224A62954A136843F0DA
-:100F600020031360136803F00703C3F10403237025
-:100F700095682D0C05F07F056D1C6570EDB29268CB
-:100F8000C2F30E02521C628092B2521E6A43A2F554
-:100F9000A072DA404FF6FF739A422CBFA380A28062
-:100FA000854A136843F400231360844B1D6845F49D
-:100FB00000251D6048BB7C487A4E012383701825AC
-:100FC0004FF0FF33436000235FFA83FC06F10C0708
-:100FD00015FB0CFC4FF0000E07F80CE05B1CDFB2B9
-:100FE000062FF1DB06230370886820F48060886098
-:100FF00000F01FF8D0600320FFF78FFDA16808689C
-:10100000826842F48042826005E0C868410544BFBE
-:101010000320FFF777FDA1680A68FF2050620022D5
-:1010200003210320FFF722FDBDE8F2400320FFF774
-:101030003BBDC86800F0800060F49060C8604FF469
-:1010400000207047F0B504460025EFF3108672B615
-:101050001827DFF850C10CF10C0007FB05FE10F853
-:101060000E0010B16D1C062DF5DB062D0CD06F4364
-:101070000CEB07000127077386F3108804614273A5
-:1010800003600D700020F0BD86F310880120F0BDD4
-:10109000F8B50746EFF3108472B60320FFF70FFD93
-:1010A000424DAE683068CA2141623A4653214162DE
-:1010B000182043494243895C02291BD1002138464C
-:1010C000FFF73EFE3848017806290ED130683849CE
-:1010D0000A68530500F018F821F480618160C16846
-:1010E0004A07FCD500F016F804E04078884218BFA3
-:1010F000FFF76BFEA9680A68FF2050620320FFF724
-:10110000D3FC84F31088F1BD02D5C1684A07FCD432
-:1011100081687047C16801F0800161F49061C1602D
-:101120004FF40020234908600320FFF7F6BC2DE9A7
-:10113000F04180460F46424618201A4942438C1817
-:10114000207B022804BF4046FFF7A2FFEFF3108583
-:1011500072B60320FFF7B3FC144EB0680068CA21D2
-:1011600041625321416202202073A76067604046BC
-:10117000FFF781FD0C490A784978914202D0FFF7C8
-:1011800024FE02E0A168081AA060FF20B1680A6886
-:1011900050620320FFF788FC85F31088BDE8F081DA
-:1011A000282800409C1000206413002030130020E9
-:1011B000082800400C080058000800588008005813
-:1011C000A81000201047704710B58EB002A80FF28B
-:1011D0000441D54C302200F025FA0FF2A9300190DD
-:1011E000009469460FF2853000F060FA0121022078
-:1011F00000F045FBCD4A0021042000F0D8FB02A8F6
-:1012000000F056FC08B100F04BFD00F09FF800F034
-:1012100049FDC74C0FF23D32002084F880000021C8
-:101220004FF6FF70E082012000F0C1FB00F09EFD50
-:1012300000F0C5FD0FF21533002204F181010020FA
-:10124000FFF700FF022060768021012020760D202C
-:10125000A076022020761820E07603202076B5487C
-:101260000180A0214180012000F019F90EB010BDCD
-:101270007CB50646AE4D7078052805F1800404D093
-:101280003E280DD0FF2824D03AE0B088E98A884271
-:1012900002D10020E8822070012000F000F92FE048
-:1012A000F178012908D00C292AD1E88A6A460DF183
-:1012B000010100F000FE23E06078FFF7E9FE2078EE
-:1012C00004280CBF062005202070B6F80500E8822F
-:1012D00016E0B6F8030040F20241401A08D0C01EE2
-:1012E0000BD0001F02BF0121E88A01F01EF807E0C1
-:1012F000E88A914900F009FF02E0E88A00F0BDFFAA
-:10130000012076BD00F0A7BF8948C08A00F04ABF1F
-:101310001CB5874CE08A01AA0DF1050100F0CBFD58
-:1013200098B99DF80500022804BF9DF80410022911
-:1013300003D100200090012302E00020009002234E
-:10134000E08A1A46002100F011FE13BD78B50FF2B5
-:1013500048207A4D00887A4E89B0ADF81A0000F026
-:1013600075FD286810F1010F0ED069683074090A04
-:10137000000A707406F110046868B074F174080A09
-:10138000090C3075717506E0002000F0E9FF0400DB
-:1013900008BF0FF2102422460621002000F0F2FFC1
-:1013A00060793072102120797072E078B072A07884
-:1013B000F0726078307320780FF2F0147073224668
-:1013C000182000F0DFFF0FF2F41600F063F84EF67D
-:1013D0006E50089007AA2868079006212E2000F07A
-:1013E000D1FF22461021182000F0CCFF00F052F867
-:1013F0001821012000F0EDFF01F016F80DF11600A4
-:1014000006A90190009105AB07220021012000F000
-:1014100099FE0FF28810BDF81810454C0090052376
-:10142000BDF81400002201F0BFF80DF11A00009081
-:101430000223BDF81610BDF81400002201F0B4F824
-:1014400002220221002000F069FD0120207000F03E
-:1014500010FE01206070012108202071A170102071
-:10146000607100210020E070049110213548A060D7
-:101470000390082200200290019100920023012293
-:101480000121012000F00EFEA07808B100F0C8FE96
-:101490000AB070BD32461021082000F073BF2DE95C
-:1014A000F8420746012F87B003D1224805884688B5
-:1014B00003E04FF4C8654FF47A66DFF8749009F1E1
-:1014C00080046078FFF7E4FD022F05D12078012821
-:1014D00014BF022800F072FD2770002006900590CE
-:1014E00009F119010491062299F818000FF2DC01A4
-:1014F0000390029101920023009332462946002076
-:1015000000F06EFD0E490E2000F062FE002808BFBC
-:10151000012F06D160780C4908B0BDE8F042FFF712
-:1015200006BE08B0BDE8F082A0080320EB16000854
-:101530002C1100207813002040E201008075FF1F6D
-:101540006C10002007B2010046E0010000210120DC
-:1015500000F03ABA0220A2E70021042000F034BAD9
-:10156000012000F057BA012000F05CBA10B5044623
-:10157000616801F1080000F0A5FB00B101202070B6
-:1015800010BD000010B1012803D07047072000F003
-:101590002FBA072000F034BA4003000048525354D9
-:1015A0004D000000000000000000000012345678DA
-:1015B0009ABCDEF0123456789ABCDEF0FEDCBA0932
-:1015C00087654321FEDCBA098765432109485253E8
-:1015D000544D00000000000000000000000000006A
-:1015E00000000000000000001E0004000A050201C7
-:1015F00012279C00F4010000FFFF000048010100D9
-:101600000020000062B38B0708D0521E11F8013B86
-:1016100000F8013B00F024808B07F6D1830740F0EF
-:10162000208000BF103A07D330B4B1E83810103A28
-:10163000A0E83810F9D230BC530724BFB1E8081035
-:10164000A0E8081044BF51F8043B40F8043BD2071F
-:1016500024BF31F8022B20F8022B44BF0B78037013
-:101660007047121F17D35B0009D151F8043B20F8D3
-:10167000023B1B0C121F20F8023BF6D20BE051F884
-:10168000043B00F8013B1B0A20F8023B1B0C121F15
-:1016900000F8013BF3D238BF121D521E24BF11F8CF
-:1016A000013B00F8013BF8D8704700007FB50C46BD
-:1016B0006D4D61686D4EE8612962284600F0E0FFDB
-:1016C000246805F1240000F0E5FF746006F10800CD
-:1016D00000F0E0FF01203070296829B10FF25510A9
-:1016E00000900294684688477FBD1FB55F4C04F1A7
-:1016F000080000F0D2FF00BB2178F1B1694604F187
-:10170000080000F0F3FF5848C16949B10098029001
-:1017100001228DF8042001A888479DF8040000E00C
-:1017200001202070207818B1009801F094F804E0AE
-:10173000009904F1080000F0B9FF04F1080000F07E
-:10174000ACFF28B9207818B104F10800FFF704FFB6
-:101750001FBD2DE9F8430646002000F05FF87488AD
-:101760003088B268DFF80081C4F3090444EA8024B9
-:10177000F068A4B2C1B2204600F03CF8002748F25D
-:10178000E8094846FFF7EFFE08E06888A04202D16A
-:10179000316928780870687800B1012708F12400C1
-:1017A00000F07BFFF0B9694608F1240000F09EFFCD
-:1017B000009800F10B05407A0F28E6D0B5F801102B
-:1017C000A1420DD10098817AC81E7169C0B28842C9
-:1017D000C8BF0846706102463069E91CFFF712FF76
-:1017E0002878D9E73800CCD0012000F017F8002085
-:1017F000BDE8F28310B513461C4A5468A4F80900EA
-:10180000E1720A46194604F10C00FFF7FBFE164A86
-:101810001369BDE810400021002018471249096AE9
-:1018200082B008B921B101E011B1012002B008472E
-:1018300002B0704710B50146487A0F2818BF0E282D
-:1018400007D10B4800F03CFFBDE810400020FFF737
-:1018500087BE064C04F1080000F032FF04F10800D6
-:10186000BDE81040FFF778BE6C1200201013002076
-:10187000901200201948002101604160704710B5A6
-:1018800000F00CF85C6819B1012904D1204301E093
-:1018900024EA0000586082F3108810BDEFF3108234
-:1018A00072B60E4B704738B5EFF3108472B60B4921
-:1018B0000B4D086820B129688847686880470AE0AE
-:1018C000486820B1A9688847E868804703E028692C
-:1018D00080476869804784F3108831BD3C1300203D
-:1018E000843D00082DE9FC475B4CDFF87091A56949
-:1018F0002840A0614FF0FF3A4FF0010830E0491C4A
-:1019000054F831000642FAD004EBC1061840716861
-:101910001040014208BFC6F804A07768384000F0C4
-:101920009FF8606208FA00F087437760EFF3108158
-:1019300072B6626A206908FA02F2D243104020614E
-:10194000022004EBC00353F8086C1640401E43F815
-:10195000086CF6D181F31088606A59F82010884726
-:1019600063692069A2691840104207D0E069216AC2
-:10197000084203D1002103EA0206C1E7C4F824A00B
-:1019800000F0B7FFEFF3108972B62169606901407A
-:10199000A069014201BFE169206A014201F012F829
-:1019A00089F3108801F02BF8A561BDE8F38738B5FD
-:1019B0001446EFF3108572B600F052F8274941F84B
-:1019C000204085F3108831BD10B500F00BF80443BA
-:1019D0001C6153F83140204343F83100FFE782F3A4
-:1019E000108810BDEFF3108272B61B4B1C69704754
-:1019F000EFF3108172B6184A536923EA000005E03C
-:101A0000EFF3108172B6144A53691843506181F3A1
-:101A100010887047EFF3108172B60F4AD3691843EC
-:101A2000D061F4E7F8B50C4C656A276A2E4615F1CB
-:101A3000010F0EBF0025012101FA05F5206202E029
-:101A4000284600F0C1FF216AE0690842F8D08843C7
-:101A50006662E0612762F1BD44100020B0110020F1
-:101A600002460020110C090404BF1020120412F0D9
-:101A70007F4F04BF083012020FF2180112F0704FAE
-:101A800004BF001D1201120FC0F11F00895C401A33
-:101A9000C0B270470403020201010101000000000E
-:101AA0000000000001F001F89DF80E0005B000BD37
-:101AB000F8B500F10C026B4624214FF66640F1E7C1
-:101AC000F8B500F10C026B460F214FF66840E9E7CC
-:101AD00080B567494FF400400860FEF77BFF0020A7
-:101AE00000F03EFC48B180796249634A0A600A68A6
-:101AF00022F47C5242EA00220A6000F015F800F05D
-:101B000080F85E48016800220260026902F050021B
-:101B1000026100F0A0F800F07FF800F0EBFE4FF05B
-:101B2000FF30FFF7DFFEFAE718B5A5B014A844218F
-:101B300001F00AF801A81C2101F006F808A83021DC
-:101B400001F002F8FEF73EFF4D48016821F0180150
-:101B50000160072014904FF48031012016901591F8
-:101B60004020189000214FF480741E91179414A8FF
-:101B7000FEF7EDFA08B100F093F86F200190022112
-:101B80000020029103900490059006900790012197
-:101B900001A8FEF759FD08B100F082F84FF460503B
-:101BA000089002214FF48040119012911020139060
-:101BB000109408A800F0D6FF08B100F071F8314980
-:101BC000086820F0700008602F480268C2F3032004
-:101BD0000090009830B90A681209120142F004021C
-:101BE0000A6008E000980A68801E80F30400120969
-:101BF00040EA02100860086840F40040086026B01F
-:101C000010BD80B521482249016001F067F810B18C
-:101C1000BDE8014044E001BD002110B51D481E4C47
-:101C2000416004600F21816047F6FF71C1600021AF
-:101C300001618161416101F089F808B100F030F87B
-:101C4000CA206062FF2153206062A068C008C00003
-:101C5000A060616210BD114881B0016841F00401CB
-:101C60000160006800F004000090009801B0704727
-:101C7000104000589C000058FECAFECA8008005858
-:101C8000900000581C0400585875FF1F30120020A7
-:101C9000000C005898120020002800404C0000580A
-:101CA00072B6FEE71C490020087700221B4802702C
-:101CB00000F036B818490A7F41F82200087F401C1E
-:101CC0000877704770B504466078FF2802BFB4F803
-:101CD000031001F47F41B1F5406F12D100260E4D83
-:101CE00000E0761C297FF0B288420AD2F1B255F8A2
-:101CF0002110204688470100F3D002D0022805D0E9
-:101D000006E02046BDE87040FFF7B2BA002070BD83
-:101D1000012070BD00000000E012002080130020B0
-:101D200080B501F0B7F801F0B6F801F0B5F801F0B0
-:101D3000B5F801F0EDF801F0ECF801F069F901F007
-:101D4000CDF901F0CCF901F0CBF901F0CAF901F0BD
-:101D5000C9F901F0C8F901F0C7F901F0C6F901F0BD
-:101D6000C5F9BDE8014001F0C2B90000E0B505A029
-:101D7000042100908DF8041042F62920694601F0F4
-:101D8000B4F807BD53544D0010B500782B4C18B172
-:101D900002280FD004D310BDA0800120207310BDF5
-:101DA000607BFFF775F9607BBDE8104040F60101EC
-:101DB000FFF7BDB9607BBDE81040FFF769B910B50A
-:101DC0000FF2450200210220FFF7F1FD1B4C00211C
-:101DD000042021732070214642F6382001F063F977
-:101DE0001F20E07204F10D010A20A0800120A072E2
-:101DF0004FF48060E0800122BDE810400FF24503FF
-:101E00000020FFF71FB900000D480C490068CA7A8E
-:101E100000F00700413048801307087B04D518B94B
-:101E20008888401D888003E0012804BF00200873D3
-:101E3000891C42F6372001F036B90000001300205B
-:101E40002828004000210220FFF7BEBD00B587B062
-:101E500000F010F8012003220690ADF80420ADF840
-:101E6000062000F0A5F800284CBFFF209DF80000D8
-:101E700007B000BD00208DF800001822002101A845
-:101E800001F03CB9ADF80600049107A80121082231
-:101E900003900691ADF8042070470922002168469E
-:101EA00001F02CB91822002102A801F027B918224C
-:101EB00001A801F023B970B5C8B006460C46154616
-:101EC0000522FFF7EBFFADF82060FFF7EBFF3021B5
-:101ED00000F014F80521049000F019F8002848BF1C
-:101EE000FF2009D49DF8000030B99DF80300207050
-:101EF0009DF804002870002048B070BDADF80A10AD
-:101F000008200221ADF80800059108A87047079144
-:101F1000CDF818D0002102A8FFF71BBC00B5C7B050
-:101F200000F00EF8FFF7C3FF312000F013F800F0C7
-:101F30003FF800284CBFFF209DF8000047B000BDCF
-:101F400000238DF81C008DF8003007A841708270C6
-:101F500000217047ADF8060007A90320049008226D
-:101F6000012003910690ADF80420704730B5C7B04A
-:101F70000025ADF81C008DF81F2007A84A9C817031
-:101F800003718DF80050ADF82140FFF776FF0F2167
-:101F9000029132200721FFF775FF00F009F80028B1
-:101FA0004CBFFF209DF8000047B030BD0390069164
-:101FB000CDF814D0002101A8FFF7CBBB00B587B046
-:101FC00000F045F900F073F9812000F03BF900F0D2
-:101FD00085F900284CBFFF209DF8000007B000BD28
-:101FE0002DE9F84DC7B09446DDF840E1519A559D72
-:101FF000569EDDF84CA1ADF81D108DF81C004FF079
-:10200000000BADF81FC08DF821308DF822E000F0F4
-:1020100024F800F017F824F8095F668000F047F90B
-:102020003F20832100F075F9574406910D3704973E
-:1020300000F057F900284CBFFF209DF8000048B081
-:10204000BDE8F08D88F800A007AC5499E419524619
-:1020500008F10100544401F04BB88DF823201746D5
-:1020600052998DF800B00DF1240809A8B84401F088
-:102070003FB800B5C7B000F00CF8852000F0C3F8F9
-:1020800000F02CF900284CBFFF209DF8000047B05D
-:1020900000BD00218DF81C008DF80010182201A849
-:1020A00001F02CB82DE9F841C7B04FF0000800F05E
-:1020B00026F80DF12300DDF844E14E9F4F9E509D20
-:1020C000529C8DF81F30C0F800E08DF800808DF82C
-:1020D00020708DF821608DF822508DF8274000F097
-:1020E000E6F88620ADF8060007A90C2000F0F2F80B
-:1020F00000284CBFFF209DF8000000F024B98DF8A7
-:102100001C0007A841708270704700B5C7B000225C
-:10211000ADF81C008DF800200DF11E0018220160A2
-:1021200001A8002100F0EAFF8820ADF8060007A909
-:10213000062000F0CFF800284CBFFF209DF80000DB
-:1021400047B000BDF8B5C8B005460E4617461C4658
-:1021500000F023F808A8467087708DF8205000F032
-:10216000D3F88A21ADF80A103F20032100F0BFF810
-:10217000002848BFFF200ED49DF8000058B94F99A1
-:102180004E98BDF801202280BDF803200280BDF8E2
-:1021900005000880002049B0F0BD072200216846F4
-:1021A00000F0ACBF00B5C7B00021ADF81C00FFF7D0
-:1021B00073FF0F2102918D20022100F07EF800F0C4
-:1021C0008EF800284CBFFF209DF8000047B000BDEE
-:1021D00018B5C7B0044600F03AF88DF81C40224606
-:1021E00000F09FF800F063F83F208E2100F0AEF879
-:1021F000641C049400F075F800284CBFFF209DF883
-:10220000000048B010BDADF8060007A901203F222C
-:10221000039104907047ADF8060007A902207047AB
-:1022200000B587B000F013F800F041F8922000F0FC
-:1022300009F800F053F800284CBFFF209DF800007B
-:1022400007B000BDADF806003F2201207047002016
-:102250008DF80000704700B587B0FFF7F8FF00F079
-:1022600026F89420FFF7EEFF00F038F800284CBF66
-:10227000FF209DF8000007B000BD00B5C7B00021E9
-:10228000ADF81C00FFF708FF9520FFF7C4FF00F032
-:1022900021F800284CBFFF209DF8000047B000BD8A
-:1022A00000228DF80020ADF81C008DF81E101822B9
-:1022B000002101A800F022BF0321ADF8060004911F
-:1022C00007A801213F22039006917047ADF8060050
-:1022D00007A9032004903F22012003910690ADF846
-:1022E0000420CDF814D0002101A8FFF732BAADF8D0
-:1022F0000800059108A8072104900791CDF818D08F
-:10230000002102A8FFF725BA1822002102A800F038
-:10231000F5BEADF80400ADF8061007A80121039042
-:1023200070470DF11D0000F0E3BE00B5C7B0FFF728
-:10233000B7FFA520FFF7CAFF00284CBFFF209DF87C
-:10234000000047B000BD48B0BDE8F081ADF8040022
-:10235000ADF8061007A80121039006917047000010
-:1023600001460648064AC3798B4218BF904218BFFF
-:102370000838F8D18B4218BF00207047F873FF1F50
-:102380000070FF1F18B50C46C7B0114600228DF82B
-:1023900000208DF81C008DF81D4022460DF11E0016
-:1023A00000F0A6FE00F02AF83F200C21ADF8040052
-:1023B000ADF8061007A8012103900691A41C04940F
-:1023C00000F02CF800284CBFFF209DF8000048B01A
-:1023D00010BD00B5C7B000F00AF80F2000F013F8E8
-:1023E00000284CBFFF209DF8000047B000BD002230
-:1023F0008DF800208DF81C008DF81D10182200218A
-:1024000001A800F07BBEADF8060007A902200490E9
-:102410003F22012003910690ADF80420CDF814D09E
-:10242000002101A8FFF795B900B587B000208DF80D
-:10243000000000F0E0F840F20110ADF806003F2285
-:102440000120069000F013F900284CBFFF209DF8F2
-:10245000000007B000BD2DE9F84107460128C7B0CC
-:10246000884615461E4608BF022003D002280CBF2E
-:10247000102000200DF11D010C1800F036F8012F7E
-:102480008DF81C7002D0022F18D019E002273A46AE
-:1024900041460DF11D0000F02BFE2570667000F026
-:1024A000AAF83F204FF4817100F016F8FF1C049742
-:1024B00000F0DFF8002805D5FF2009E01027E6E747
-:1024C000472005E09DF8000010B94E9800F067F82D
-:1024D000FFE748B0BDE8F081ADF80400ADF80610A4
-:1024E00007A8032103900691704703220021684644
-:1024F00000F004BE2DE9F64F0C460546012CC7B08E
-:102500009B4608BF022003D0022C0CBF10200020E5
-:102510000DF11F010E18FFF7E8FF012CADF81C505C
-:102520008DF81E4002D0022C2CD02DE00227569CA4
-:10253000559DDDF85091DDF84CA1DDF848814899B2
-:102540003A4600F054F8A6F800B086F8028086F803
-:1025500003A086F804907571B47100F04CF83F2028
-:10256000ADF804004FF4827107A8ADF8061003908F
-:1025700003210A370497069100F07BF8002805D55F
-:10258000FF2009E01027D2E7472005E09DF8000072
-:1025900010B9579800F003F849B0BDE8F08FBDF8C6
-:1025A000011001800020704730B5C7B01C464A9B1F
-:1025B00000F049F800258DF800508DF821402246A2
-:1025C00019460DF1220000F093FD00F014F83F20B1
-:1025D0004FF4837100F042F8A41D049400F049F810
-:1025E00000284CBFFF209DF8000047B030BD0DF122
-:1025F0001F0000F07DBD1822002101A800F07EBD63
-:1026000078B5C7B04C9C4D9D00F01DF800268DF8A4
-:1026100021308DF800608DF822402246294600F0D6
-:1026200019F8FFF7E8FF3F204FF4937100F016F818
-:10263000E41D049400F01DF800284CBFFF209DF815
-:10264000000048B070BDADF81C00ADF81E108DF84C
-:10265000202070470DF1230000F04ABDADF80400C2
-:10266000ADF8061007A80121039006917047ADF858
-:102670000420CDF814D0002101A8FFF76AB80000AB
-:102680000249016002490161704700BF53270008F9
-:1026900079270008006040607047EFF3108172B640
-:1026A000026882420CBF012000201CE0EFF3108280
-:1026B00072B603680B60486001600868416023E0FF
-:1026C000EFF3108272B6086043684B60416048685F
-:1026D000016019E0EFF3108172B64268036813607D
-:1026E00002684368536081F31088704710B5EFF3B8
-:1026F000108472B602680A600068FFE7FFF7EAFF1D
-:1027000084F3108810BD0B6082F3108870470000BE
-:1027100000F072BD6C486D49016001F12002426019
-:1027200001F13002826001F13C02026201F14402D7
-:10273000426201F14C02C26001F15402026101F1F6
-:102740007002426101F1740282618031C16100F066
-:1027500071BD38B504465E4D2846FFF79BFF5A48C9
-:102760004068A1680160E168C160856059494160C5
-:1027700000F07CFD58482AE080B553484268136851
-:1027800001211972406800F077FD002002BD38B5C4
-:10279000514C4F4D04E000F041F800982168884703
-:1027A0002846FFF77AFF0028F5D031BD4A48416836
-:1027B000084738B50446494D2846FFF76BFF4248A5
-:1027C000C068A1680160456000F05BFD4448216875
-:1027D000016061684160002032BD80B53A48C2683E
-:1027E000136810211972C06800F051FD002002BD6D
-:1027F00035483B4AC168C16813680868184738B54E
-:10280000374C364D04E000F009F8009861688847BD
-:102810002846FFF742FF0028F5D031BD694628461B
-:10282000FFF764BF38B504462E4D2846FFF732FF48
-:102830002D48FFF72FFF24480069A1688160E168F7
-:10284000C160056121680160616841602169416181
-:102850006169816131BD80B501462348FFF730FFD2
-:10286000BDE802400FF2050000F021BD38B5164C5E
-:102870001D4D06E0FFF7D2FF009920690069FFF7C0
-:102880001FFF2846FFF709FF0028F3D031BD10B520
-:10289000164C2046FFF7FEFE0B4841690C60BDE870
-:1028A000104000F018BD1CB5104C06E069462046EB
-:1028B000FFF71CFF009800F01BF82046FFF7EDFE25
-:1028C0000028F3D013BD000000000320AC09032052
-:1028D000480A0320900803204C130020500A0320CC
-:1028E00054130020380A032044130020400A032018
-:1028F0007047704710B52048204C88B0016841F4FB
-:1029000000410160FEF7B6FF1D480168C908C90013
-:1029100041F00401016000F0F7FC1A490020FEF7C5
-:1029200014FB00F006FD01210120FEF7A8FF00F0D6
-:102930003AF8FFF7EFFE144A00210820FFF737F8B6
-:1029400004F23C500FF245010090019169460FF2EC
-:10295000410000F055F804F25470029004F5C9618A
-:1029600040F23C5005900391049402A8FFF75AFFEF
-:10297000FFF7CEFE08B010BD08000058300003205D
-:102980008004005898120020432A00087047000075
-:1029900080B500F0FCFCFEF717FCBDE80440002108
-:1029A0000120FEF76CBF80B50121002000F011FE70
-:1029B0000121012000F00DFEBDE8044001210220AC
-:1029C00000F007BEFEF76FBF4FF0FF30FEF78ABF83
-:1029D00000210820FEF7F8BF0220FFF71BB80220F5
-:1029E000FFF720B8012804D0102804D0402804D0D4
-:1029F0007047FEF787BCFEF787BCFEF789BC7047BF
-:102A00007FB50C464D4D61684D4EE8612962284600
-:102A100000F046FE2468746006F10800FFF73AFEF5
-:102A2000012000F068F801203070296841B10FF2F0
-:102A3000E9000FF2ED020090019202946846884787
-:102A40007FBD1FB53E4C04F10800FFF726FE00BB1A
-:102A50002178F1B1694604F10800FFF747FE3748D5
-:102A6000C16949B10098029001228DF8042001A8A3
-:102A700088479DF8040000E001202070207818B1FC
-:102A80000098FFF7E8FE04E0009904F10800FFF762
-:102A90000DFE04F10800FFF700FE28B9207818B1F8
-:102AA00004F10800FFF794FF1FBD2DE9F041054632
-:102AB0000E4690461C46002000F01DF8204F786816
-:102AC000A0F80950C672324641460C30FEF79AFD16
-:102AD0001A4A136900210020984748F2E800FFF7DE
-:102AE0007EFF79688A78D21C04F10800FEF78AFD1F
-:102AF000BDE8F04101201CB51049124C096A20B90B
-:102B000001B188470020207013BD0120207011B151
-:102B1000BDE81C40084713BD0020FFF75DBF000063
-:102B200010B50146064C04F10800FFF7C9FD04F199
-:102B30000800BDE81040FFF74BBF0000BC120020AA
-:102B40002013002081130020002200F0B3BD0000FC
-:102B5000DFF87C211368010C23EA014343EA0043B8
-:102B6000136070472DE9F041054600272868DFF81B
-:102B700064610105B8462FD53468286A04F44074AE
-:102B8000844229D0FDF71EFF002C316805D1286A48
-:102B900021F44071014331601DE0306840F4803021
-:102BA000306021F44071326822F480323260286A49
-:102BB000014331603068C0070DD5FDF7FDFE0446C6
-:102BC00041F289383068800705D4FDF7F5FE001B17
-:102BD0004045F7D30327B8462878DFF8FC40C10703
-:102BE00005D5E16F6868890840EA8101E1672878C6
-:102BF000810705D5E16FA86821F440610143E167D1
-:102C00002878C10644BF2869FFF7A2FF287881060B
-:102C100044BF6869FFF79CFF287841070AD5E86838
-:102C2000E16F020902F47F220001914300F47F204A
-:102C30000843E067286881051ED5A869B0F1804F78
-:102C400018BFB0F1004F00D018B9E16F21F040413A
-:102C500008E0E16F21F04041E16720F08050E16F32
-:102C600021F040610843E067A869B0F1C05F03D17B
-:102C7000216841F080712160286841050DD5E16F20
-:102C8000E86921F040510143E167E869B0F1005F74
-:102C900003D1216841F4803121602868C10405D541
-:102CA0007168686A21F440410143716028688104B9
-:102CB0000BD5A169E86A21F030010143A161A16946
-:102CC000A86A890840EA8101A1614046BDE8F08117
-:102CD00088000058900000580C000058F8B50446D1
-:102CE0000025ACB104F13406307910B92046FDF767
-:102CF0004BFF0F4F384600F021F8386840F00110C4
-:102D00003860204600F007F835600120307100E09F
-:102D100001252846F2BD10B50021064A064B00EBFE
-:102D20008104491C06296360E261F8D310BD0000EC
-:102D3000000C0058C71100085F0C0008002101605A
-:102D40004FF03F1141603F218160704738B504006A
-:102D500044D094F8210028B9002184F8201020469E
-:102D6000FDF72EFF00F049F8FF2510B100F03FF805
-:102D700034E02168DFF8B0008A6802408A60216888
-:102D80008A68636820690343A06903431A438A6021
-:102D90002168E068086120680169A26841EA02418F
-:102DA00001612068C16821F08001C1602068C16CA8
-:102DB00021F00201C1642168CA6CE36960690343C0
-:102DC0001A43CA6420688168880609D400F020F894
-:102DD00030B120684562042100F01FF8012032BDA7
-:102DE00020684562012184F82110002032BD20684E
-:102DF0004562042184F821107047022084F82100E4
-:102E0000CA2021684862532022685062204626E08A
-:102E100020460BE02068C0F8248084F821100020B0
-:102E200084F8200070470000BFFF8FFF70B5044694
-:102E300040F2E9362068C16821F0A001C160FDF7C9
-:102E4000BBFD05462068C168880606D4FDF7B4FDC1
-:102E5000401BB042F6D3032070BD002070BD70B59A
-:102E600004462068C1684A0612D44FF0FF32C2609F
-:102E700040F2E936FDF7A0FD05462068C168480626
-:102E800006D4FDF799FD401BB042F6D3032070BD78
-:102E9000002070BD704770477047000018B51B4C8C
-:102EA0000020206087B041F60A00ADF818000094B9
-:102EB0000323012206A90120FFF7CDFA42F62922B9
-:102EC0000121ADF818200491A01C05900A220023CE
-:102ED000022103920293019300912023208806AAE5
-:102EE0000121FFF707FB08B010BD80B542F629228B
-:102EF000904209D10A680548009200220B79418866
-:102F00000088FFF751FB02BD002002BD7C130020AA
-:102F10007047704738B5024686B050780024FF28C5
-:102F200039D1B2F803106B4840F60143C91A1FD0DB
-:102F3000123901BFB2F80710C088401C81422AD163
-:102F4000957AB2F80500537A0124012D08D10A328E
-:102F50000192009300220023FFF752FB002015E0AE
-:102F60000A320192009301228023FFF749FB12E00D
-:102F70004088B2F80710801C81420CD1507B01249C
-:102F8000C10748BF8DF8084002D402208DF8080020
-:102F900002A8FEF7F9FE204607B030BDFEB5014697
-:102FA00001AA487A8DF804004B7A08885070DC0733
-:102FB00004D50888000A9070032300E00223487AB1
-:102FC000040707D54888D0545B1C4888DCB2000A47
-:102FD00010555B1C4C7AE00610D50D7A00200BE0F2
-:102FE00001EB4004DFB2A688D6555B1CA488DEB294
-:102FF000240A94555B1C401CA842F1DB01A935480A
-:103000000091DBB2418800880022FFF7CDFAFEBDB7
-:1030100018B587B030482F4CFEF74CFE41F60D0135
-:10302000ADF8181000940823012206A90120FFF72B
-:1030300012FA42F63720ADF81800012204920A2055
-:10304000A11C03900023102205910293019300928A
-:10305000072300F023F842F63820ADF818000022CC
-:103060000492029201920A20211D039002220591EE
-:1030700000F012F842F63920ADF818000022049250
-:1030800001920A20A11D03900223082205910293B8
-:1030900000F002F808B010BD00920123208806AAB3
-:1030A0000121FFF727BA80B5002242F63723C01A64
-:1030B00009D0401E0BD10748009101238188008868
-:1030C000FFF772FA02E00846FFF768FF0246104673
-:1030D00002BD00005C130020152F000870477047E8
-:1030E0007047704770477047704770477047704728
-:1030F00010B50446FEF786FA204610BD10B504460A
-:1031000010460A460146204600F0EEFA204610BD61
-:10311000C0680840884201D10120704700207047F4
-:10312000C0690840884201D10120704700207047E3
-:1031300010B56C4C02212046FFF7F2FF38B16068F1
-:10314000C043810703D5FFF75AFB022018E0012195
-:103150002046FFF7E5FF38B16068C043C10703D5DB
-:10316000FFF715FB01200BE008212046FFF7D8FFF1
-:1031700038B16068C043010703D5FFF794FB08200E
-:10318000A06010BD10B5574C00F033F818B9606856
-:10319000C043810306D400F02CF830B96068C04306
-:1031A000810302D5BDE810407AE0082100F022F842
-:1031B00070B96068C04301030AD560684A4940F4A9
-:1031C00000206060086880474FF40020A06010BDB8
-:1031D000202100F00FF858B96068C043810207D57C
-:1031E000606840F400106060BDE81040FFF7DEBA90
-:1031F00010BD022120468BE73C4881B0016841F4B4
-:1032000080110160006800F4801000900098384838
-:10321000016841F4007101603648026842F40072AE
-:10322000026040BF20BF3448016841F400410160A2
-:1032300001B0704780B53148016841F480110160E8
-:10324000006800F48010009000982648016841F062
-:1032500001010160026842F4803202602C20FDF717
-:1032600023FCBDE802402D20FDF71EBC2448016868
-:10327000490849000160704722494FF480300860D6
-:1032800070471F48016821F00201016070471C4827
-:103290004FF400314160016821F400310160704752
-:1032A0001748016841F400310160FFF7A1BA38B551
-:1032B00004460C4D08212846FFF72AFF30B10A4882
-:1032C0000460686820F40020686031BDA0474FF4B6
-:1032D0000021A96031BD0A48016821F008010160A0
-:1032E00070470000000C00586C130020500100587B
-:1032F000D4080058200800580C040058500000580A
-:10330000040C0058080C00580248016841F4007190
-:103310000160704708040058564900E0564981B0E2
-:103320000A6802430A60096808400090009801B0EA
-:10333000704718B585B068461421FFF705FC0320D7
-:1033400001904FF460410024009102940120FFF7A6
-:10335000E3FF00F097F8474C2068400840002060E9
-:10336000182100910220FFF7D7FF6946434800F07B
-:10337000EFF9206820F002002060FDF742FBFDF726
-:1033800046FBFDF74AFB00F011F806B010BD00B592
-:1033900087B068460FF208211C22FEF743F9FFF7B9
-:1033A00076FA6846FEF78CFB07B000BDF0B585B035
-:1033B00068461421FFF7C8FB0026002500240021E1
-:1033C0000FF2CC0000EBC102907988B11368B3F121
-:1033D000904F08D0294FBB4208D0294FBB4204BFB1
-:1033E0009088044304E09088064301E090880543F8
-:1033F000491C2229E4DB00200290012103200390D4
-:103400000191B0B270B100900120FFF785FF01205B
-:10341000FFF784FF00F036F80022B1B24FF0904081
-:1034200000F04EFAA8B280B100900220FFF774FFBE
-:103430000220FFF773FF114E6946304600F088F90D
-:103440000022A9B2304600F03BFAA0B280B1009051
-:103450000420FFF761FF0420FFF760FF084D694675
-:10346000284600F075F90022A1B2284600F028FA9B
-:1034700005B0F0BD4C0000584C0100580004004855
-:103480000008004869464FF0904000F061B9000024
-:10349000000000480100000000000048010000009A
-:1034A000000000480100000000000048010000008A
-:1034B000000000480100000000000048010000007A
-:1034C000000000480100000000000048010000006A
-:1034D000000000480100000000000048010000005A
-:1034E000000000480100000000000048010000004A
-:1034F000000000480100000000000048010000003A
-:103500000000004801000000000000480100000029
-:103510000000004801000000000000480100000019
-:103520000000004801000000000000480100000009
-:1035300000000048010000000000004801000000F9
-:1035400000000048010000000000004801000000E9
-:1035500000000048010000000000004801000000D9
-:1035600000000048010000000000004801000000C9
-:1035700000000048010000000000004801000000B9
-:1035800000000048010000000000004801000000A9
-:103590000000004801000000000000480100000099
-:1035A000000000000000000000000000903400084F
-:1035B000280003202C00032022040400294981B0A4
-:1035C0000A6802430A60096808400090009801B048
-:1035D0007047F0B585B005460C4668461421FFF7E4
-:1035E000B3FA2DB1012D08BF102002D0022D02D157
-:1035F0000120FFF7E3FF0FF28C001B4F30F815009E
-:10360000009001210220039007EB850602913068AB
-:103610002CB900210191694600F09AF81FE0134986
-:10362000019107EBC504694600F092F80FF26000C3
-:1036300050F8251004F1240000F067F9F268002129
-:1036400004F1240000F05AF90FF240004457B16928
-:1036500000222046FDF70AFA2046FDF725FA002051
-:1036600005B0F0BD4C0000580810002000002110EB
-:10367000002000F013B8012000F010B8022000F084
-:103680000DB800000100100040000000060A1700FD
-:103690000000001604000016060000167047000027
-:1036A0000249016002490161704700BFB327000869
-:1036B000DB27000800B500BF13009646944610397A
-:1036C00028BFA0E80C50FAD85FEA417C28BF0CC0A4
-:1036D00048BF40F8042BC90728BF20F8022B48BF79
-:1036E00000F8012B00BD000062F30F2262F31F42BD
-:1036F000401810F0030308D0C91A1FD3DB0748BFD6
-:1037000000F8012D28BF20F8022D130030B4144614
-:103710001546103928BF20E93C00FAD8490728BFD0
-:1037200020E90C0048BF40F8042D890028BF20F88C
-:10373000022D48BF00F8012D30BC7047C91818BFD2
-:1037400000F8012DCB0728BF00F8012D70470000BD
-:103750002DE9F84F4FF00009614A624B4FF00F0816
-:1037600005460E4633E0604FBD4214BF07270427CD
-:103770008F4027434CF82E70C1431C6801EA040CAB
-:103780007468E40348BF40EA0C0CC3F800C05C68EE
-:1037900001EA040C7468A40348BF40EA0C0CC3F8A7
-:1037A00004C0146801EA040C7468E40248BF40EAEB
-:1037B0000C0CC2F800C0546801EA040C716889025C
-:1037C00048BF40EA0C0CC2F804C009F10109316895
-:1037D00031FA09F072D0012404FA09F414EA010064
-:1037E000F3D04FEA490C032101FA0CF16FEA010E04
-:1037F0007168012918BF022903D0112918BF1229A5
-:1038000011D1A968F7680EEA010107FA0CF73943EC
-:10381000A960696821EA04047168C1F3001101FA22
-:1038200009F10C436C60E968B4680EEA010104FA1E
-:103830000CF42143E9604FEA89017468022C18BF37
-:10384000122C12D14FEAD90405EB840401F01C07B5
-:10385000D4F820A008FA07FB2AEA0B0AD6F810B021
-:103860000BFA07F747EA0A0727622C680EEA0407F3
-:10387000347904F0030404FA0CF43C432C607468BB
-:10388000E400A2D5DFF864C04FEA990E5CF82E7010
-:1038900001F00C0108FA01F427EA0404B5F1904F95
-:1038A00008BF002709D0124FBD4208BF012704D02E
-:1038B000104FBD427FF457AF022759E7BDE8F18FA3
-:1038C00081B0002A14BF8161816201B070470A4A49
-:1038D000136803421CBF1060FFF784B870470000F4
-:1038E00000080058800800580010004808000140F7
-:1038F00000040048000800480C0800580346002057
-:1039000009B95A6070470120704708B90120704713
-:10391000016000207047000000EB8100374AD0F8BA
-:103920008010914201D0012070470020704742F47E
-:10393000806240F8212070477047704710B500F052
-:1039400083F82F4C00F049F80028FBD1042100F047
-:1039500045F828B92B480068010403D500F040F869
-:1039600000F058F80022032100F03CF826480168D6
-:10397000C908C90041F0010101602448016841F013
-:103980000401016030BF10BD10B51D4C00F028F8D7
-:1039900000F023F80028FBD14FF0B040816801F01F
-:1039A0000C01042911D1016841F4803101600168E2
-:1039B0008903FCD581688908890041F00201816092
-:1039C000816801F00C010829FAD10022032100F0DE
-:1039D00009F8BDE8104000F03FB8032120469BE7FE
-:1039E000002204212046A2E780B500F02DF8074808
-:1039F000016821F00401016030BF01BD00040080B6
-:103A000000140058880400580004005810ED00E02D
-:103A100000F022B84FF0B040016841F480710160BD
-:103A200001684905FCD581688908890041F00101D8
-:103A30008160416A890889004162816801F00C0156
-:103A40000429FAD1704700000248016821F0020100
-:103A50000160704710E000E00248016841F0020197
-:103A60000160704710E000E01349002008604FF447
-:103A7000E0221248016841F4700101604FF0B0414A
-:103A8000086840F0010008608A600D480A6802403A
-:103A90000C480A60036823F005030360426852087B
-:103AA0005200426000220848C860086820F4802064
-:103AB00008608A617047000008ED00E088ED00E0D2
-:103AC000FBFEF6FA940000580010042201000000EA
-:103AD00003000000050000000100000001000000DC
-:103AE000060000000A0000002000000002000000A4
-:103AF000040000000800000010000000400000006A
-:103B0000800000000001000000020000A08601000B
-:103B1000400D0300801A060000350C0040420F00E3
-:103B200080841E0000093D0000127A000024F40089
-:103B300000366E010048E801006CDC020000000065
-:103B400000000000000000000000000000F024F869
-:103B5000012810D00D4880470D480047F0B5434676
-:103B60004C4655465E466746F8B40A4C6B462360A1
-:103B7000BFF34F8F30BF074C2468A546F8BC98466A
-:103B8000A146AA46B346BC46F0BD0000693A00080B
-:103B90009D3D000870130020024900200860704716
-:103BA000000000007413002019E050F8042BD30724
-:103BB00044BFA9F101039A18091F0023042942F800
-:103BC000043BF9D25FEA817C134604D54FF0000C28
-:103BD000A2F800C09B1CC90744BF0021197050F80F
-:103BE000041B0029E1D17047FEE7FEE7FEE7FEE790
-:103BF000FEE770477047704700F012B8FFF798BAB9
-:103C0000FFF7C0BA00F014B80120FFF760BE102023
-:103C1000FFF75DBE4020FFF75ABEFDF746B9000032
-:103C2000024841680278891841607047841000207A
-:103C30000449C8680A6882430A60486000F004B812
-:103C400000000000001500587047000010B500F09B
-:103C500013F802000023DB4300241068984203D0CD
-:103C600011000220ABBE14605068984203D0111DB1
-:103C70000220ABBE546010BD014870470000000038
-:103C80009010002010B450F8041B79B1026843680A
-:103C900002440830DC0744BFA9F10104E31852F8DC
-:103CA000044B43F8044B091FF9D1ECE710BC7047F3
-:103CB00010B5074979441831064C7C44163404E0A9
-:103CC0000A68081D114488470146A142F8D110BD79
-:103CD0002C000000680000004EF68851CEF2000172
-:103CE000086840F470000860BFF34F8FBFF36F8F18
-:103CF0004FF00070E1EE100A70470000ADFEFFFFCC
-:103D0000E80200009C100020700800003000032032
-:103D10000000000071FFFFFF080000008C000000A1
-:103D200028000320000000005DFFFFFF940000005A
-:103D30001C010000081000200000000000F00DF839
-:103D4000002801D0FFF7B4FFAFF300800020AFF3ED
-:103D50000080FDF7BDFE00F002F80120704700F082
-:103D600001B800000746384600F002F8FBE7000003
-:103D700080B5FFF76BFF024A11001820ABBEFBE7CE
-:103D800026000200E9390008113A00083D39000810
-:103D900089390008393900083B390008AFF3008041
-:103DA000FFF79AFFFFF7CAFF0000000000000000C5
-:103DB000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF37
-:103DC000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF27
-:103DD000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF17
-:103DE000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF07
-:103DF000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFF7
-:103E0000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFE6
-:103E1000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFD6
-:103E2000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFC6
-:103E3000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFB6
-:103E4000FFF7FEBFFFF7FEBFFFF7FEBF0000004811
-:103E5000001000480000004871360008773600085E
-:103E60007D3600080F0000000F0000000F0000006A
-:103E70000000000000000000000000000000000042
-:103E80000000000000000000000000000000000032
-:103E9000000000000000000000000000FFFFFFFF26
-:103EA000FFFFFFFF00000000000000000000000016
-:103EB0000DFF0100000000000000000000000000F5
-:103EC00000000000000000000100000000000000F1
-:103ED00010000000FFFFFFFFFFFFFFFF00093D0094
-:0400000508003D9D15
+:100BC00010B58CB004466846302100F05DF821680D
+:100BD0002A4A91420FD14FF4007000904FF000412B
+:100BE0000691684600F05EF808B100F0BBF94FF4DA
+:100BF0008020FFF7AFFF0CB010BD30B58DB00446BC
+:100C000001A8302100F040F821681D4A91422ED100
+:100C1000FFF7D8FEFFF7D6FE1A4DA86B20F4407000
+:100C200040F48070A8634FF480714FF4006001902D
+:100C3000099101A800F036F808B100F093F9A86B0B
+:100C400040F40040A8630022296841F480612960D3
+:100C50000021286800F48060009000980320FFF7CE
+:100C600005FF0320FFF720FF204600F019FA0DB022
+:100C700030BD000050000058000C00580010005813
+:100C80000028004058000058002200F021BA7047A8
+:100C9000DFF87C211368010C23EA014343EA004397
+:100CA000136070472DE9F041054600272868DFF8FA
+:100CB00064610105B8462FD53468286A04F440748D
+:100CC000844229D0FFF77EFE002C316805D1286AC6
+:100CD00021F44071014331601DE0306840F4803000
+:100CE000306021F44071326822F480323260286A28
+:100CF000014331603068C0070DD5FFF75DFE044643
+:100D000041F289383068800705D4FFF755FE001B93
+:100D10004045F7D30327B8462878DFF8FC40C107E1
+:100D200005D5E16F6868890840EA8101E1672878A4
+:100D3000810705D5E16FA86821F440610143E167AF
+:100D40002878C10644BF2869FFF7A2FF28788106EA
+:100D500044BF6869FFF79CFF287841070AD5E86817
+:100D6000E16F020902F47F220001914300F47F2029
+:100D70000843E067286881051ED5A869B0F1804F57
+:100D800018BFB0F1004F00D018B9E16F21F0404119
+:100D900008E0E16F21F04041E16720F08050E16F11
+:100DA00021F040610843E067A869B0F1C05F03D15A
+:100DB000216841F080712160286841050DD5E16FFF
+:100DC000E86921F040510143E167E869B0F1005F53
+:100DD00003D1216841F4803121602868C10405D520
+:100DE0007168686A21F44041014371602868810498
+:100DF0000BD5A169E86A21F030010143A161A16925
+:100E0000A86A890840EA8101A1614046BDE8F081F5
+:100E100088000058900000580C00005810B5FFF7EB
+:100E2000D9FD00F06FF900F019F800F049F8464CD0
+:100E30004648606104F1140000F042FA00F077F8CF
+:100E400000F053F84248206000206060204600F027
+:100E50006FFA00F06BF900F013FAFCE780B598B078
+:100E600007A84421FFF710FF68461C21FFF70CFF7D
+:100E7000FFF7A8FD3748016821F01801016007203D
+:100E800007904FF480310891012009904FF4807150
+:100E90000A9140200B900021119107A8FFF757F904
+:100EA0006F20009002210020019102900390049095
+:100EB0000590069001216846FFF7C6FB19B000BDFA
+:100EC00010B58CB068463021FFF7DEFE4FF480404D
+:100ED0000990022110200B904FF440540A91009485
+:100EE0006846FFF7DFFE0CB010BD002038B51A4D84
+:100EF0001A4C68602C600F20A86047F6FF70E8600D
+:100F000000202861A8616861284600F031FA0022BB
+:100F10000021284600F034F8CA206062FF215320E7
+:100F20006062A068C008C000A060616231BD0C486A
+:100F300081B0016841F004010160006800F0040024
+:100F40000090009801B0704730120020000C00584B
+:100F50000010005890000058AC12002000280040FB
+:100F60004C000058704770478A60FF210268516248
+:100F7000012180F82110002180F820100020704706
+:100F80002DE9F84300F065F808BF022038D000F0E2
+:100F900067F814D5FFF710FD07462068C1684807B9
+:100FA0000DD5FFF709FDC01B4845F6D300F039F811
+:100FB00026E0FFF701FDC01B484507D3F6E700F028
+:100FC0002AF800F065F8FFF7F7FC07462068C168CB
+:100FD0004A07EED5C0F81480206800F013F82A48BC
+:100FE000016841F4002101602848026842F40022AF
+:100FF00002602068816841F48041816000F01BF844
+:10100000BDE8F2838168C908C900816020688168F1
+:101010000D43856070472068816821F4806181609C
+:10102000704720684662032184F82110002084F86C
+:101030002000032070472068816841F4806181604E
+:1010400001212068466284F82110002084F82000E5
+:1010500070470446884694F82000012815467047DA
+:10106000012184F82010022084F82100CA20216880
+:101070004862532022685062FF2620688168480534
+:1010800040F2E93970470000800800580008005815
+:101090002068C16801F0800161F49061C16070470F
+:1010A00090F82010012901D102207047012280F818
+:1010B0002020022180F82110CA21026851625321A8
+:1010C0000368596201688A6842F020024CE7000018
+:1010D00000B500BF130096469446103928BFA0E81B
+:1010E0000C50FAD85FEA417C28BF0CC048BF40F8DA
+:1010F000042BC90728BF20F8022B48BF00F8012B9A
+:1011000000BD000080B553484FF40041016000204D
+:1011100000F0D2F948B180794F49504A0A600A6814
+:1011200022F47C5242EA00220A6001BD10B54C480C
+:101130004C4C88B001680160CA214B48C161532101
+:10114000C161FF220168C908C9000160C261474846
+:10115000016841F40041016000F0C0F944480168B1
+:10116000C908C90041F00401016000F0EFF94149EC
+:10117000002000F068FB00F0B2FC0121012000F02B
+:10118000B2F900F057F800F001FE3B4A00210820B8
+:1011900000F053FF04F23C500FF231010090019136
+:1011A00069460FF22D0000F0CBFF04F2547002905C
+:1011B00004F5C96140F23C5005900391049402A8E3
+:1011C00000F06CFE00F0E0FD08B010BD70470000BC
+:1011D00038B5044688B0616801F10B0504A801F038
+:1011E00070F82988B1F5124F22D168461021FFF717
+:1011F0004BFD60680D300078B0B900F09EFC0D200A
+:101200008DF800007F218DF802101C480168090C40
+:10121000ADF80C10684601F04DF801F091F800218E
+:10122000012000F060F903E0012804BF00202070D5
+:1012300009B030BD80B50121002001F0A2FA0121E2
+:10124000012001F09EFABDE804400121022001F0D6
+:1012500098BA0000104000589C000058FECAFECA10
+:10126000900800583000032008280040080000586B
+:1012700080040058AC12002083210008002004E004
+:1012800002E000F044B900BF4FF0FF3000F06EBE46
+:101290000021082000F0DEBE022000F001BF022085
+:1012A00000F006BF012804D0102804D0402804D044
+:1012B000704701F0E3B801F0E3B801F0E5B80000D1
+:1012C000F8B504460025ACB104F13406307910B904
+:1012D0002046FFF759FC0F4F384600F021F83868D8
+:1012E00040F001103860204600F007F8356001201A
+:1012F000307100E001252846F2BD10B50021064AF4
+:10130000064B00EB8104491C06296360E261F8D3B7
+:1013100010BD0000000C0058670F00088F0C00087B
+:10132000002101604FF03F1141603F218160704713
+:1013300010B5040001D1012010BD607A20B9002150
+:1013400021722046FFF73CFC0220607221680A6887
+:10135000606822F0200202430A602068016841F0C0
+:1013600004010160012060720020E06010BD0000F7
+:1013700038B5040044D094F8210028B9002184F83D
+:1013800020102046FFF739FC00F049F8FF2510B186
+:1013900000F03FF834E02168DFF8B0008A680240CE
+:1013A0008A6021688A68636820690343A0690343EF
+:1013B0001A438A602168E068086120680169A268B0
+:1013C00041EA024101612068C16821F08001C160E9
+:1013D0002068C16C21F00201C1642168CA6CE36914
+:1013E000606903431A43CA6420688168880609D487
+:1013F00000F020F830B120684562042100F01FF8A9
+:10140000012032BD20684562012184F821100020AE
+:1014100032BD20684562042184F821107047022003
+:1014200084F82100CA202168486253202268506253
+:10143000204626E020460BE02068C0F8248084F88F
+:101440002110002084F8200070470000BFFF8FFFAC
+:1014500070B5044640F2E9362068C16821F0A00169
+:10146000C160FFF7A9FA05462068C168880606D45E
+:10147000FFF7A2FA401BB042F6D3032070BD002054
+:1014800070BD70B504462068C1684A0612D44FF09A
+:10149000FF32C26040F2E936FFF78EFA0546206857
+:1014A000C168480606D4FFF787FA401BB042F6D35E
+:1014B000032070BD002070BD01460648064AC3796E
+:1014C0008B4218BF904218BF0838F8D18B4218BF22
+:1014D00000207047F873FF1F0070FF1F194800219C
+:1014E00001604160704710B500F00CF85C6819B1FC
+:1014F000012904D1204301E024EA0000586082F36E
+:10150000108810BDEFF3108272B60E4B704738B5DD
+:10151000EFF3108472B60B490B4D086820B12968AF
+:101520008847686880470AE0486820B1A96888470A
+:10153000E868804703E0286980476869804784F34A
+:10154000108831BD501300207C400008024801681B
+:1015500041F400710160704708040058DFF83C1541
+:101560000A6892B200E00246086880B28242FAD16C
+:1015700070472DE9FC4104461825DFF82485DFF883
+:101580002465684308EB00073078062808D13178D5
+:101590007170347078754FF0FF307060002039E062
+:1015A00000F077F8B9680918B96008F10803B9685C
+:1015B00032786A439A589142327813D308F115036E
+:1015C00015FB02FC13F80C30062B25D008F1080699
+:1015D0006B43F358994222BF08F115036A439A5CA2
+:1015E000EED219E01146337869439A420BD008F1E4
+:1015F000140308F1150C5B5C15FB03F50CF80540B2
+:101600007A753B7500E07A7508F11402545431780C
+:1016100071703470BDE8F6811146694308F1150315
+:101620005B5C062B04D008F1140615FB03F574551A
+:101630007B753A7508F115025454EBE7F8B5DFF8FD
+:101640006434DFF85C541E78182402466243B042CA
+:101650002A4404D118785870507D18700FE0167D18
+:10166000507D92F815C005F115076643062807F866
+:1016700006C004D0167D143514FB00F42E5501204D
+:1016800010731878062802BF00294FF0FF31596007
+:10169000F1BD10B5DFF80C44606810F1010F0FD0F8
+:1016A000FFF75CFF6168DFF80024814261683CBF9E
+:1016B0005388C918081A517848431178C84000E087
+:1016C000002080B210BD2DE9F84FDFF8DC53DFF8C1
+:1016D000DCB3D5F80880D8F80000DBF800104A0524
+:1016E00000F090F9DFF8BC63DFF8B4A321F4806167
+:1016F00081604FF0180934780AF1080019FB04F1F1
+:101700004758FFF7C6FF874217D200270121B17063
+:10171000062C3DD019FB04F40AF108010AF1080275
+:101720000959814223BF0AF108010959091A002108
+:1017300011510AEB04014C7DEAE7A9884118B9422E
+:1017400002D2AF880021E2E73F1ADFE7022802DA7F
+:101750002878012800D07F1ED8F80000C1684A0709
+:10176000FAD500F055F9DBF80C00000CBFB247EADF
+:101770000047CBF80C70FFF7F1FE7060A8680068B6
+:10178000816841F480618160AFF30080BDE8F18F32
+:10179000B8B20028DAD1FFF7E1FE70600320BDE89F
+:1017A000F24FFFF7AFB92DE9F843EFF3108872B6A7
+:1017B000BD4DBB4BA8680168CA224A6253204862EB
+:1017C000B84A886820F48060886018201678374608
+:1017D00047431F44387B022826D13C68D7F8109035
+:1017E0009078F0B17A7B012A0AD101213046FFF7C7
+:1017F00025FF88F310887968304600F016F904E078
+:1018000088F31088304600F0C1F8A8680068CA2143
+:1018100041622246532141624846314600F050F968
+:101820000BE0FFF750FF06E0C8684207FCD500F068
+:101830007EF89F49086088F31088FF21A868026835
+:101840005162BDE8F183F8B5974CA160CA220968DE
+:101850004A6253224A62954A136843F02003136098
+:10186000136803F00703C3F10403237095682D0C7C
+:1018700005F07F056D1C6570EDB29268C2F30E0233
+:10188000521C628092B2521E6A43A2F5A072DA40E4
+:101890004FF6FF739A422CBFA380A280854A13683B
+:1018A00043F400231360844B1D6845F400251D603C
+:1018B00048BB7C487A4E0123837018254FF0FF33D4
+:1018C000436000235FFA83FC06F10C0715FB0CFC58
+:1018D0004FF0000E07F80CE05B1CDFB2062FF1DBC7
+:1018E00006230370886820F48060886000F01FF889
+:1018F000D0600320FFF711F9A1680868826842F4FC
+:101900008042826005E0C868410544BF0320FFF7BC
+:10191000F9F8A1680A68FF20506200220321032021
+:10192000FFF7A4F8BDE8F2400320FFF7BDB8C86890
+:1019300000F0800060F49060C8604FF400207047B1
+:10194000F0B504460025EFF3108672B61827DFF8CD
+:1019500050C10CF10C0007FB05FE10F80E0010B191
+:101960006D1C062DF5DB062D0CD06F430CEB07002C
+:101970000127077386F310880461427303600D70BA
+:101980000020F0BD86F310880120F0BDF8B50746B1
+:10199000EFF3108472B60320FFF791F8424DAE6862
+:1019A0003068CA2141623A465321416218204349B6
+:1019B0004243895C02291BD100213846FFF73EFED5
+:1019C0003848017806290ED1306838490A6853052D
+:1019D00000F018F821F480618160C1684A07FCD5E5
+:1019E00000F016F804E04078884218BFFFF76BFE5D
+:1019F000A9680A68FF2050620320FFF755F884F3B6
+:101A00001088F1BD02D5C1684A07FCD481687047CF
+:101A1000C16801F0800161F49061C1604FF4002061
+:101A2000234908600320FFF778B82DE9F04180468C
+:101A30000F46424618201A4942438C18207B022840
+:101A400004BF4046FFF7A2FFEFF3108572B60320F4
+:101A5000FFF735F8144EB0680068CA21416253217F
+:101A6000416202202073A76067604046FFF781FD56
+:101A70000C490A784978914202D0FFF724FE02E02F
+:101A8000A168081AA060FF20B1680A6850620320AC
+:101A9000FFF70AF885F31088BDE8F0812828004098
+:101AA0009C100020781300204413002008280040D8
+:101AB0000C0800580008005880080058A8100020A2
+:101AC00010470000564900E0564981B00A680243B9
+:101AD0000A60096808400090009801B0704718B586
+:101AE00085B068461421FFF7CFF8032001904FF42A
+:101AF00060410024009102940120FFF7E3FF00F011
+:101B000097F8474C20684008400020601821009159
+:101B10000220FFF7D7FF6946434800F099FE20688E
+:101B200020F002002060FEF76CFFFEF770FFFEF76A
+:101B300074FF00F011F806B010BD00B587B068461C
+:101B40000FF228211C2200F06FFF00F0DCF968463C
+:101B500000F0A8FB07B000BDF0B585B068461421C1
+:101B6000FFF792F800260025002400210FF2CC0098
+:101B700000EBC102907988B11368B3F1904F08D09F
+:101B8000294FBB4208D0294FBB4204BF9088044371
+:101B900004E09088064301E090880543491C26290B
+:101BA000E4DB002002900121032003900191B0B2F8
+:101BB00070B100900120FFF785FF0120FFF784FF3F
+:101BC00000F036F80022B1B24FF0904000F0FEFE77
+:101BD000A8B280B100900220FFF774FF0220FFF747
+:101BE00073FF114E6946304600F032FE0022A9B262
+:101BF000304600F0EBFEA0B280B100900420FFF769
+:101C000061FF0420FFF760FF084D6946284600F099
+:101C10001FFE0022A1B2284600F0D8FE05B0F0BD9C
+:101C20004C0000584C0100580004004800080048CF
+:101C300069464FF0904000F00BBE000000000048E5
+:101C40000100000000000048010000000000004802
+:101C500001000000000000480100000000000048F2
+:101C600001000000000000480100000000000048E2
+:101C700001000000000000480100000000000048D2
+:101C800001000000000000480100000000000048C2
+:101C900001000000000000480100000000000048B2
+:101CA00001000000000000480100000000000048A2
+:101CB0000100000000000048010000000000004892
+:101CC0000100000000000048010000000000004882
+:101CD0000100000000000048010000000000004872
+:101CE0000100000000000048010000000000004862
+:101CF0000100000000000048010000000000004852
+:101D00000100000000000048010000000000004841
+:101D10000100000000000048010000000000004831
+:101D20000100000000000048010000000000004821
+:101D30000100000000000048010000000000004811
+:101D40000100000000000048010000000000004801
+:101D500001000000000000480100000000000048F1
+:101D60000100000000000048010000000000000029
+:101D700000000000000000003C1C000828000320B8
+:101D80002C0003202604040000F005BF6C486D49B8
+:101D9000016001F12002426001F13002826001F134
+:101DA0003C02026201F14402426201F14C02C26053
+:101DB00001F15402026101F17002426101F1740209
+:101DC00082618031C16100F004BF38B504465E4DC8
+:101DD000284600F061FF5A484068A1680160E16848
+:101DE000C16085605949416000F00FFF58482AE002
+:101DF00080B553484268136801211972406800F0A9
+:101E00000AFF002002BD38B5514C4F4D04E000F0F0
+:101E100041F8009821688847284600F040FF0028D4
+:101E2000F5D031BD4A484168084738B50446494DA8
+:101E3000284600F031FF4248C068A1680160456053
+:101E400000F0EEFE444821680160616841600020B6
+:101E500032BD80B53A48C268136810211972C06853
+:101E600000F0E4FE002002BD35483B4AC168C1686D
+:101E700013680868184738B5374C364D04E000F051
+:101E800009F8009861688847284600F008FF002894
+:101E9000F5D031BD6946284600F02ABF38B5044662
+:101EA0002E4D284600F0F8FE2D4800F0F5FE24489F
+:101EB0000069A1688160E168C16005612168016015
+:101EC00061684160216941616169816131BD80B5AD
+:101ED0000146234800F0F6FEBDE802400FF205007F
+:101EE00000F0ADBE38B5164C1D4D06E0FFF7D2FF31
+:101EF00000992069006900F0E5FE284600F0CFFE59
+:101F00000028F3D031BD10B5164C204600F0C4FEB9
+:101F10000B4841690C60BDE8104000F0A4BE1CB540
+:101F2000104C06E06946204600F0E2FE009800F002
+:101F30001BF8204600F0B3FE0028F3D013BD0000CC
+:101F400000000320AC090320480A03209008032066
+:101F500060130020500A032068130020380A032071
+:101F600058130020400A0320704700002DE9FC4769
+:101F7000604CDFF88491A5692840A0614FF0FF3ADA
+:101F800021694FF0010834E0521C54F832006169B5
+:101F900019400142F8D0616904EBC206084071683B
+:101FA0001840014208BFC6F804A07768384000F026
+:101FB000A5F8606208FA00F087437760EFF31081BC
+:101FC00072B6626A206908FA02F2D24310402061B8
+:101FD000022004EBC00353F8086C1640401E43F87F
+:101FE000086CF6D181F31088606A59F82010884790
+:101FF0002169A36960690140194205D0E069216A3D
+:10200000084208BF0022C0D0C4F824A000F081FE1E
+:10201000EFF3108972B6216960690140A06901423D
+:1020200001BFE169206A0142FFF72BF989F31088AB
+:1020300000F070FEA561BDE8F38738B51446EFF3F4
+:10204000108572B600F05AF82B4941F8204085F30C
+:10205000108831BD10B500F00BF804431C6153F833
+:102060003140204343F83100FFE782F3108810BD70
+:10207000EFF3108272B61F4B1C697047EFF31081AB
+:1020800072B61C4A536923EA000005E0EFF31081A1
+:1020900072B6184A53691843506181F3108870472B
+:1020A000EFF3108172B6134AD3691843D061F4E795
+:1020B000F8B5104C666A256A374616F1010F0EBF57
+:1020C0000026012101FA06F6206202E03046FFF701
+:1020D000DAF8216AE0690842F8D06762EFF310810C
+:1020E00072B6E269206A8243E26181F31088256258
+:1020F000F1BD000044100020B01100200246002075
+:10210000110C090404BF1020120412F07F4F04BF09
+:10211000083012020FF2180112F0704F04BF001DB8
+:102120001201120FC0F11F00895C401AC0B2704743
+:102130000403020201010101000000000000000090
+:102140007FB50C464D4D61684D4EE86129622846C9
+:1021500000F0E2FD2468746006F1080000F09CFDC8
+:10216000012000F068F801203070296841B10FF2B9
+:10217000E9000FF2ED020090019202946846884750
+:102180007FBD1FB53E4C04F1080000F088FD00BB88
+:102190002178F1B1694604F1080000F0A9FD374843
+:1021A000C16949B10098029001228DF8042001A86C
+:1021B00088479DF8040000E001202070207818B1C5
+:1021C0000098FFF784FE04E0009904F1080000F095
+:1021D0006FFD04F1080000F062FD28B9207818B105
+:1021E00004F10800FFF754F81FBD2DE9F041054642
+:1021F0000E4690461C46002000F01DF8204F7868DF
+:10220000A0F80950C672324641460C3000F0FCFB83
+:102210001A4A136900210020984748F2E800FFF7A6
+:102220003EF879688A78D21C04F1080000F0ECFBD3
+:10223000BDE8F04101201CB51049124C096A20B9D3
+:1022400001B188470020207013BD0120207011B11A
+:10225000BDE81C40084713BD0020FFF71DB8000073
+:1022600010B50146064C04F1080000F02BFD04F106
+:102270000800BDE81040FFF70BB80000D0120020A6
+:102280003413002095130020FFF7AFFF9DF80E00D8
+:1022900005B000BDF8B500F10C026B4625214FF6E4
+:1022A0006640F1E7F8B500F10C026B460F214FF6DE
+:1022B0006840E9E7F8B502466B460E214FF67540D7
+:1022C000E2E770B51B491C4B0A681C49C2F30D02BA
+:1022D00001EB82010C6822689A4205D16569A16907
+:1022E000E269E368246904E025696169A2696368B9
+:1022F000A4682E0E067001722E0C467042722E0AD1
+:102300008670C473C5F3031605F00F050571C6701A
+:102310000D0E45710D0C85710D0A190E8172C57176
+:10232000190CC1721B0A210E41730373210C8173B6
+:10233000002070BD3C400058B95646A9000003205B
+:1023400018B58FB002A80FF2F031D04C342200F053
+:102350006BFB0FF295300190009469460FF27130DB
+:1023600000F0E4FC01210220FFF7BDF8C84A00217B
+:102370000420FFF762FE02A8FFF78CFF08B1FEF70A
+:10238000F1FD00F09FF800F0B5FDC24C0FF22932CC
+:10239000002084F8800000214FF6FF70E0820120C9
+:1023A000FFF74BFE00F00CFE00F033FE0FF201339E
+:1023B000002204F181010020FFF7C2FA02206076BA
+:1023C0008021012020760D20A07602202076182082
+:1023D000E07603202076B0480180A02141800120D2
+:1023E00000F00FF910B010BD7CB50646A94D70780D
+:1023F000052805F1800404D03E280DD0FF2824D004
+:102400003AE0B088E98A884202D10020E882207050
+:10241000012000F0F6F82FE0F178012908D00C290E
+:102420002AD1E88A6A460DF1010100F06EFE23E030
+:102430006078FFF7ABFA207804280CBF062005204F
+:102440002070B6F80500E88216E0B6F8030040F206
+:102450000241401A08D0C01E0BD0001F02BF01214C
+:10246000E88A01F07CF807E0E88A8C4900F077FF01
+:1024700002E0E88A01F017F8012076BD00F0FCBF09
+:102480008448C08A00F0B8BF1CB5824CE08A01AA1B
+:102490000DF1050100F039FE98B99DF805000228FC
+:1024A00004BF9DF80410022903D1002000900123ED
+:1024B00002E0002000900223E08A1A46002100F08A
+:1024C0007FFE13BD30B50FF23420754D008887B004
+:1024D000ADF81A0000F0E4FD7248016811F1010F37
+:1024E0000ED042682974120A090A697405F11004B1
+:1024F0004068A874EA74100A120C28756A7506E020
+:102500000020FEF7D9FF040008BF0FF2FC1422469A
+:102510000621002001F04EF8607928721021207900
+:102520006872E078A872A078E872607828732078E2
+:102530000FF2DC1468732246182001F03BF80FF20A
+:10254000E01500F059F822461021182001F032F869
+:1025500000F052F81821012001F053F801F07CF846
+:102560000DF1160006A90190009105AB072200218C
+:10257000012000F011FF0FF28810BDF81810454C33
+:1025800000900523BDF81400002201F025F90DF19B
+:102590001A0000900223BDF81610BDF814000022A6
+:1025A00001F01AF902220221002000F0E1FD0120D1
+:1025B000207000F088FE0120607001210820207149
+:1025C000A1701020607100210020E07004911021A2
+:1025D0003548A060039008220020029001910092EB
+:1025E000002301220121012000F086FEA07808B11D
+:1025F00000F030FF07B030BD2A461021082000F05F
+:10260000D9BF2DE9F8420746012F87B003D12248F0
+:102610000588468803E04FF4C8654FF47A66DFF812
+:10262000749009F180046078FFF7B0F9022F05D1AA
+:102630002078012814BF022800F0EAFD277000204E
+:102640000690059009F119010491062299F81800E5
+:102650000FF2DC01039002910192002300933246B5
+:102660002946002000F0E6FD0D490E2000F0DAFEBC
+:10267000002808BF012F06D160780C4908B0BDE8DA
+:10268000F042FFF7D2B908B0BDE8F082A0080320FD
+:102690006B2D00082C1100208C13002040E201005B
+:1026A0006C1000208075FF1F07B2010046E001009A
+:1026B00000210120FFF7CEBC0220A2E70021042068
+:1026C000FFF7C8BC0120FFF7EBBC0120FFF7F0BC0F
+:1026D00010B50446616801F1080000F01BFC00B170
+:1026E0000120207010BD000010B1012803D07047F8
+:1026F0000720FFF7C3BC0720FFF7C8BC400300005A
+:10270000485253544D0000006C7AD8AC5772000008
+:10271000123456789ABCDEF0123456789ABCDEF049
+:10272000FEDCBA0987654321FEDCBA0987654321CF
+:1027300009485253544D0000000000000000000002
+:102740000000000000000000000000001E00040067
+:102750000A05020112279C00F4010000FFFFFFFFA1
+:102760004801010000200000000000002A4981B05B
+:102770000A6802430A60096808400090009801B0A6
+:102780007047F0B585B005460C4668461421FEF743
+:102790007BFA2DB1012D08BF102002D0022D02D1ED
+:1027A0000120FFF7E3FF0FF28C001C4F30F81500FB
+:1027B000009001210220039007EB8506029130680A
+:1027C0002CB900210191694600F042F820E04FF455
+:1027D0000411019107EBC504694600F039F80FF2C6
+:1027E000600050F8251004F1240001F068F8F26848
+:1027F000002104F1240001F05BF80FF2400044577F
+:10280000B16900222046FEF731F92046FEF74CF967
+:10281000002005B0F0BD00004C000058081000205A
+:10282000002000F013B8012000F010B8022000F0E2
+:102830000DB800000100100040000000060A17005B
+:102840000000001604000016060000167047000085
+:102850002DE9F84F4FF00009644A654B4FF00F081F
+:1028600005460E4633E0634FBD4214BF07270427D9
+:102870008F4027434CF82E70C1431C6801EA040CBA
+:102880007468E40248BF40EA0C0CC3F800C05C68FE
+:1028900001EA040C7468A40248BF40EA0C0CC3F8B7
+:1028A00004C0146801EA040C7468E40348BF40EAF9
+:1028B0000C0CC2F800C0546801EA040C716889036A
+:1028C00048BF40EA0C0CC2F804C009F101093168A4
+:1028D00031FA09F078D0012404FA09F414EA01006D
+:1028E000F3D04FEA490C032101FA0CF16FEA010E13
+:1028F000716801F00307012F1CBF01F003010229D9
+:1029000011D1A968F7680EEA010107FA0CF73943FB
+:10291000A960696821EA04047168C1F3001101FA31
+:1029200009F10C436C604FEA8901347904F0030427
+:10293000032C1FD0EC68B7680EEA040407FA0CF702
+:102940003C43EC60347904F00304022C12D14FEACA
+:10295000D90705EB870401F01C07D4F820A008FA7A
+:1029600007FB2AEA0B0AD6F810B00BFA07F747EA7A
+:102970000A0727622C680EEA0407347904F003047E
+:1029800004FA0CF43C432C60746814F4403F9CD06F
+:10299000DFF864C04FEA990E5CF82E7001F00C016C
+:1029A00008FA01F427EA0404B5F1904F08BF0027A4
+:1029B00009D0124FBD4208BF012704D0104FBD42BD
+:1029C0007FF451AF022753E7BDE8F18F81B0002AB1
+:1029D00014BF8161816201B070470A4A13680342E3
+:1029E0001CBF1060FEF75EBC7047000080080058F6
+:1029F000000800580010004808000140000400488A
+:102A0000000800480C08005862B38B0708D0521E1B
+:102A100011F8013B00F8013B00F024808B07F6D150
+:102A2000830740F0208000BF103A07D330B4B1E8EC
+:102A30003810103AA0E83810F9D230BC530724BF40
+:102A4000B1E80810A0E8081044BF51F8043B40F872
+:102A5000043BD20724BF31F8022B20F8022B44BFDD
+:102A60000B7803707047121F17D35B0009D151F820
+:102A7000043B20F8023B1B0C121F20F8023BF6D24D
+:102A80000BE051F8043B00F8013B1B0A20F8023B25
+:102A90001B0C121F00F8013BF3D238BF121D521E4F
+:102AA00024BF11F8013B00F8013BF8D87047000043
+:102AB000C0680840884201D101207047002070475B
+:102AC000C0690840884201D101207047002070474A
+:102AD00010B5684C02212046FFF7F2FF38B160685C
+:102AE000C043810703D5FFF7C6F9022018E0012192
+:102AF0002046FFF7E5FF38B16068C043C10703D542
+:102B0000FFF781F901200BE008212046FFF7D8FFED
+:102B100038B16068C043010703D5FFF700FA082009
+:102B2000A06010BD10B5534C02212046FFF7C0FF36
+:102B300058B96068C043810307D5606840F400302D
+:102B40006060BDE81040FFF78FB908212046FFF70D
+:102B5000AFFF70B96068C04301030AD56068464999
+:102B600040F400206060086880474FF40020A060B7
+:102B700010BD20212046FFF79BFF58B96068C04375
+:102B8000810207D5606840F400106060BDE8104025
+:102B9000FFF748B910BD394881B0016841F4801190
+:102BA0000160006800F480100090009834480168CB
+:102BB00041F4007101603348026842F4007202601F
+:102BC00040BF20BF3048016841F40041016001B0BE
+:102BD000704780B52D48016841F48011016000689C
+:102BE00000F48010009000982248016841F0010133
+:102BF0000160026842F4803202602C20FDF754FF2D
+:102C0000BDE802402D20FDF74FBF2148016849086B
+:102C10004900016070471F494FF4803008607047D9
+:102C20001B48016821F002010160704718484FF409
+:102C300000314160016821F400310160704738B50E
+:102C400004460C4D08212846FFF732FF30B10A48F0
+:102C50000460686820F40020686031BDA0474FF42C
+:102C60000021A96031BD0A48016821F00801016016
+:102C700070470000000C00588013002050010058DD
+:102C8000D4080058200800580C0400585000005880
+:102C9000040C0058080C0058006040607047EFF3C7
+:102CA000108172B6026882420CBF012000201CE035
+:102CB000EFF3108272B603680B6048600160086829
+:102CC000416023E0EFF3108272B6086043684B6006
+:102CD00041604868016019E0EFF3108172B6426804
+:102CE0000368136002684368536081F3108870477B
+:102CF00010B5EFF3108472B602680A600068FFE74F
+:102D0000FFF7EAFF84F3108810BD0B6082F3108890
+:102D10007047704770470000024901600249016135
+:102D2000704700BF2B1E0008531E00087FB50C46DD
+:102D30006D4D61686D4EE8612962284600F0C6FD60
+:102D4000246805F12400FFF7A7FF746006F108006E
+:102D5000FFF7A2FF01203070296829B10FF255104A
+:102D600000900294684688477FBD1FB55F4C04F110
+:102D70000800FFF794FF00BB2178F1B1694604F128
+:102D80000800FFF7B5FF5848C16949B100980290A3
+:102D900001228DF8042001A888479DF8040000E076
+:102DA00001202070207818B10098FFF790F804E017
+:102DB000009904F10800FFF77BFF04F10800FFF71A
+:102DC0006EFF28B9207818B104F10800FFF776FCEF
+:102DD0001FBD2DE9F8430646002000F05FF8748817
+:102DE0003088B268DFF80081C4F3090444EA802423
+:102DF000F068A4B2C1B2204600F03CF8002748F2C7
+:102E0000E8094846FFF761FC08E06888A04202D163
+:102E1000316928780870687800B1012708F124002A
+:102E2000FFF73DFFF0B9694608F12400FFF760FFA6
+:102E3000009800F10B05407A0F28E6D0B5F8011094
+:102E4000A1420DD10098817AC81E7169C0B2884232
+:102E5000C8BF0846706102463069E91CFFF7D4FD1F
+:102E60002878D9E73800CCD0012000F017F80020EE
+:102E7000BDE8F28310B513461C4A5468A4F8090053
+:102E8000E1720A46194604F10C00FFF7BDFD164A2F
+:102E90001369BDE810400021002018471249096A53
+:102EA00082B008B921B101E011B1012002B0084798
+:102EB00002B0704710B50146487A0F2818BF0E2897
+:102EC00007D10B48FFF7FEFEBDE810400020FFF7DA
+:102ED000F9BB064C04F10800FFF7F4FE04F108000A
+:102EE000BDE81040FFF7EABB801200202413002049
+:102EF000A41200201C490020087700221B48027001
+:102F000000F036B818490A7F41F82200087F401CBB
+:102F10000877704770B504466078FF2802BFB4F8A0
+:102F2000031001F47F41B1F5406F12D100260E4D20
+:102F300000E0761C297FF0B288420AD2F1B255F83F
+:102F40002110204688470100F3D002D0022805D086
+:102F500006E02046BDE87040FFF746BA002070BD8D
+:102F6000012070BD00000000F41200209413002026
+:102F700080B500F0B5FC00F0B4FC00F0B3FC00F04C
+:102F8000B3FC00F0EBFC00F0EAFC00F067FD00F0A1
+:102F9000CBFD00F0CAFD00F0C9FD00F0C8FD00F057
+:102FA000C7FD00F0C6FD00F0C5FD00F0C4FD00F057
+:102FB000C3FD00F0C2FDBDE8014000F0BFBD000050
+:102FC000E0B505A0042100908DF8041042F62920F8
+:102FD000694600F0B0FC07BD53544D0010B50078B1
+:102FE0002B4C18B102280FD004D310BDA0800120B3
+:102FF000207310BD607BFEF7C9FC607BBDE810400C
+:1030000040F60101FEF711BD607BBDE81040FEF700
+:10301000BDBC10B50FF2450200210220FFF70DF8EC
+:103020001B4C0021042021732070214642F63820D9
+:1030300000F05FFD1F20E07204F10D010A20A08066
+:103040000120A0724FF48060E0800122BDE81040B2
+:103050000FF245030020FEF773BC00000D480C4939
+:103060000068CA7A00F00700413048801307087BE7
+:1030700004D518B98888401D888003E0012804BF62
+:1030800000200873891C42F6372000F032BD000092
+:10309000141300202828004000210220FEF7DABF88
+:1030A00000B587B000F01FF8012003220690ADF8AC
+:1030B0000420ADF8062000F0A5F800284CBFFF2042
+:1030C0009DF8000007B000BD182201A800F03DBD2A
+:1030D000ADF80600049107A801210822039006918B
+:1030E000ADF80420704700208DF800001822002160
+:1030F00001A800F02ABD09220021684600F025BD84
+:103100001822002102A800F020BD70B5C8B0064604
+:103110000C4615460522FFF7EFFFADF82060FFF7DC
+:10312000EFFF302100F014F80521049000F019F8A9
+:10313000002848BFFF2009D49DF8000030B99DF851
+:10314000030020709DF804002870002048B070BD76
+:10315000ADF80A1008200221ADF80800059108A872
+:1031600070470791CDF818D0002102A8FFF731BEB3
+:1031700000B5C7B000F00EF8FFF7A6FF312000F051
+:1031800013F800F03FF800284CBFFF209DF8000026
+:1031900047B000BD00238DF81C008DF8003007A853
+:1031A0004170827000217047ADF8060007A9032026
+:1031B00004900822012003910690ADF80420704786
+:1031C00030B5C7B00025ADF81C008DF81F2007A84A
+:1031D0004A9C817003718DF80050ADF82140FFF7D3
+:1031E00085FF0F21029132200721FFF771FF00F0C8
+:1031F00009F800284CBFFF209DF8000047B030BD03
+:1032000003900691CDF814D0002101A8FFF7E1BD8D
+:1032100000B587B000F0B4F900F09CF9812000F00F
+:103220003DF900F05BF900284CBFFF209DF800003D
+:1032300007B000BD2DE9F84DC7B09446DDF840E178
+:10324000519A559D569EDDF84CA1ADF81D108DF894
+:103250001C004FF0000BADF81FC08DF821308DF829
+:1032600022E000F024F800F017F824F8095F6680E7
+:1032700000F070F93F20832100F05DF9574406917A
+:103280000D37049700F02DF900284CBFFF209DF862
+:10329000000048B0BDE8F08D88F800A007AC549954
+:1032A000E419524608F10100544400F048BC8DF87E
+:1032B0002320174652998DF800B00DF1240809A873
+:1032C000B84400F03CBC00B5C7B000F00CF8852055
+:1032D00000F00DF900F002F900284CBFFF209DF826
+:1032E000000047B000BD00218DF81C008DF80010D3
+:1032F000182201A800F029BC2DE9F841C7B04FF011
+:10330000000800F026F80DF12300DDF844E14E9F9F
+:103310004F9E509D529C8DF81F30C0F800E08DF8F4
+:1033200000808DF820708DF821608DF822508DF886
+:10333000274000F00FF98620ADF8060007A90C2001
+:1033400000F0C8F800284CBFFF209DF8000000F0F6
+:1033500014B98DF81C0007A841708270704700B541
+:10336000C7B00022ADF81C008DF800200DF11E0042
+:103370001822016001A8002100F0E7FB8820ADF8C9
+:10338000060007A9062000F0A5F800284CBFFF2082
+:103390009DF8000047B000BDF8B5C8B005460E4620
+:1033A00017461C4600F023F808A8467087708DF871
+:1033B000205000F0BBF88A21ADF80A103F2003210D
+:1033C00000F0A7F8002848BFFF200ED49DF80000A9
+:1033D00058B94F994E98BDF801202280BDF80320BE
+:1033E0000280BDF805000880002049B0F0BD07222A
+:1033F0000021684600F0A9BB00B5C7B00021ADF8B8
+:103400001C00FFF773FF0F2102918D20022100F0B5
+:1034100077F800F064F800284CBFFF209DF800000A
+:1034200047B000BD18B5C7B000F0B9F800F092F889
+:103430003F208E2100F0A8F800F053F800284CBF80
+:10344000FF209DF8000048B010BDADF8060007A9A8
+:103450000220704700B587B000F092F800F07AF8CB
+:10346000922000F01BF800F039F800284CBFFF2034
+:103470009DF8000007B000BD00B587B000F080F8EF
+:1034800000F068F8942000F009F800F027F8002810
+:103490004CBFFF209DF8000007B000BDADF806004E
+:1034A0003F220120704700B5C7B00021ADF81C00D5
+:1034B000FFF71CFF9520FFF7C8FF00F00BF800286E
+:1034C0004CBFFF209DF8000047B000BDADF80600DE
+:1034D00007A9032004903F22012003910690ADF834
+:1034E0000420CDF814D0002101A8FFF772BCADF87C
+:1034F000060007A901203F22039104907047032191
+:10350000ADF80600049107A801213F22039006911F
+:103510007047ADF80800059108A8072104900791AD
+:10352000CDF818D0002102A8FFF753BC18220021C3
+:1035300002A800F00ABBADF80400ADF8061007A819
+:1035400001210390704700228DF80020ADF81C0087
+:103550008DF81E101822002101A800F0F6BA00B55F
+:10356000C7B0FFF7F0FFA520FFF7B0FF00284CBF62
+:10357000FF209DF8000047B000BD48B0BDE8F081D5
+:1035800000208DF800007047ADF80400ADF806107B
+:1035900007A8012103900691641C04947047044617
+:1035A00000208DF800008DF81C4022460DF11D0012
+:1035B00000F0C5BA18B50C46C7B0114600228DF808
+:1035C00000208DF81C008DF81D4022460DF11E00D4
+:1035D00000F0B5FA00F02AF83F200C21ADF8040005
+:1035E000ADF8061007A8012103900691A41C0494CD
+:1035F00000F02CF800284CBFFF209DF8000048B0D8
+:1036000010BD00B5C7B000F00AF80F2000F013F8A5
+:1036100000284CBFFF209DF8000047B000BD0022ED
+:103620008DF800208DF81C008DF81D101822002147
+:1036300001A800F08ABAADF8060007A9022004909C
+:103640003F22012003910690ADF80420CDF814D05C
+:10365000002101A8FFF7BDBB00B587B000208DF8A1
+:10366000000000F0E0F840F20110ADF806003F2243
+:103670000120069000F013F900284CBFFF209DF8B0
+:10368000000007B000BD2DE9F84107460128C7B08A
+:10369000884615461E4608BF022003D002280CBFEC
+:1036A000102000200DF11D010C1800F036F8012F3C
+:1036B0008DF81C7002D0022F18D019E002273A466C
+:1036C00041460DF11D0000F03AFA2570667000F0D9
+:1036D000AAF83F204FF4817100F016F8FF1C049700
+:1036E00000F0DFF8002805D5FF2009E01027E6E705
+:1036F000972005E09DF8000010B94E9800F067F89B
+:10370000FFE748B0BDE8F081ADF80400ADF8061061
+:1037100007A8032103900691704703220021684601
+:1037200000F013BA2DE9F64F0C460546012CC7B040
+:103730009B4608BF022003D0022C0CBF10200020A3
+:103740000DF11F010E18FFF7E8FF012CADF81C501A
+:103750008DF81E4002D0022C2CD02DE00227569C62
+:10376000559DDDF85091DDF84CA1DDF84881489970
+:103770003A4600F054F8A6F800B086F8028086F8C1
+:1037800003A086F804907571B47100F04CF83F20E6
+:10379000ADF804004FF4827107A8ADF8061003904D
+:1037A00003210A370497069100F07BF8002805D51D
+:1037B000FF2009E01027D2E7972005E09DF80000E0
+:1037C00010B9579800F003F849B0BDE8F08FBDF884
+:1037D000011001800020704730B5C7B01C464A9BDD
+:1037E00000F049F800258DF800508DF82140224660
+:1037F00019460DF1220000F0A2F900F014F83F2064
+:103800004FF4837100F042F8A41D049400F049F8CD
+:1038100000284CBFFF209DF8000047B030BD0DF1DF
+:103820001F0000F08CB91822002101A800F08DB90A
+:1038300078B5C7B04C9C4D9D00F01DF800268DF862
+:1038400021308DF800608DF822402246294600F094
+:1038500019F8FFF7E8FF3F204FF4937100F016F8D6
+:10386000E41D049400F01DF800284CBFFF209DF8D3
+:10387000000048B070BDADF81C00ADF81E108DF80A
+:10388000202070470DF1230000F059B9ADF8040075
+:10389000ADF8061007A80121039006917047ADF816
+:1038A0000420CDF814D0002101A8FFF792BA00003F
+:1038B0000346002009B95A6070470120704708B9D3
+:1038C000012070470160002070470000024901603C
+:1038D00002490161704700BFCB1D0008F11D0008BF
+:1038E000704770477047000018B51B4C00202060DF
+:1038F00087B041F60A00ADF81800009403230122B6
+:1039000006A90120FFF7BFFE42F629220121ADF8EA
+:1039100018200491A01C05900A2200230221039282
+:103920000293019300912023208806AA0121FFF72A
+:10393000F9FE08B010BD80B542F62922904209D1A7
+:103940000A680548009200220B7941880088FFF739
+:1039500043FF02BD002002BD901300207047704756
+:1039600038B5024686B050780024FF2839D1B2F825
+:1039700003106B4840F60143C91A1FD0123901BF2A
+:10398000B2F80710C088401C81422AD1957AB2F85B
+:103990000500537A0124012D08D10A3201920093C7
+:1039A00000220023FFF744FF002015E00A320192B5
+:1039B000009301228023FFF73BFF12E04088B2F81A
+:1039C0000710801C81420CD1507B0124C10748BFE5
+:1039D0008DF8084002D402208DF8080002A8FFF7F5
+:1039E000FDFA204607B030BDFEB5014601AA487A6F
+:1039F0008DF804004B7A08885070DC0704D50888DD
+:103A0000000A9070032300E00223487A040707D5D8
+:103A10004888D0545B1C4888DCB2000A10555B1CF7
+:103A20004C7AE00610D50D7A00200BE001EB400443
+:103A3000DFB2A688D6555B1CA488DEB2240A945552
+:103A40005B1C401CA842F1DB01A935480091DBB2A8
+:103A5000418800880022FFF7BFFEFEBD18B587B081
+:103A600030482F4CFFF74EFA41F60D01ADF8181013
+:103A700000940823012206A90120FFF704FE42F664
+:103A80003720ADF81800012204920A20A11C0390EF
+:103A9000002310220591029301930092072300F066
+:103AA00023F842F63820ADF8180000220492029262
+:103AB00001920A20211D03900222059100F012F8C4
+:103AC00042F63920ADF818000022049201920A2033
+:103AD000A11D0390022308220591029300F002F831
+:103AE00008B010BD00920123208806AA0121FFF72B
+:103AF00019BE80B5002242F63723C01A09D0401EF5
+:103B00000BD107480091012381880088FFF764FEEC
+:103B100002E00846FFF768FF0246104602BD0000BB
+:103B20007013002061390008704770477047704774
+:103B3000704770477047704770477047704710B5BF
+:103B40000446FEF761FF204610BD10B5044610463E
+:103B50000A460146204600F003F8204610BD00004A
+:103B600062F30F2262F31F42401810F0030308D0E3
+:103B7000C91A1FD3DB0748BF00F8012D28BF20F862
+:103B8000022D130030B414461546103928BF20E921
+:103B90003C00FAD8490728BF20E90C0048BF40F88C
+:103BA000042D890028BF20F8022D48BF00F8012D00
+:103BB00030BC7047C91818BF00F8012DCB0728BFCB
+:103BC00000F8012D7047000000EB8100474AD0F853
+:103BD0008010914201D0012070470020704742F4CC
+:103BE000806240F82120704780B500F0A9F800F00D
+:103BF00061F83F48092181610168C908C90041F0A5
+:103C0000030100F011F8016001BD704780B500F0BC
+:103C100097F800F04FF836480168C908C90041F02C
+:103C2000010100F001F840E001603248016841F014
+:103C30000401704710B5304C00F064F800F02BF828
+:103C40000028FBD14FF0B040816801F00C0104293D
+:103C500018D1016841F48031016028490A68D2080E
+:103C6000D20042F001020A6001688903FCD5816834
+:103C70008908890041F002018160816801F00C012E
+:103C80000829FAD1002203212046FFF7A8FFBDE84A
+:103C9000104000F05DB80321204695E780B500F0A4
+:103CA0004FF81448016821F00401016030BF01BDE4
+:103CB00000F04EB810B5104CFFF7EDFF0028FBD117
+:103CC0000421FFF7E9FF40B90D480168090402D457
+:103CD0000068400503D500F015F800F017F82046FD
+:103CE000BDE810400022032179E7000000040080B5
+:103CF0000004005810ED00E0001400580040005887
+:103D00008804005800220421204668E74FF0B040A4
+:103D1000016841F48071016001684905FCD5816842
+:103D20008908890041F001018160416A89088900A0
+:103D30004162816801F00C010429FAD1704700004A
+:103D40000248016821F002010160704710E000E0C4
+:103D50000248016841F002010160704710E000E094
+:103D60001349002008604FF4E0221248016841F432
+:103D7000700101604FF0B041086840F00100086038
+:103D80008A600D480A6802400C480A60036823F004
+:103D9000050303604268520852004260002208484E
+:103DA000C860086820F4802008608A6170470000BD
+:103DB00008ED00E088ED00E0FBFEF6FA9400005804
+:103DC00000100422010000000300000005000000B4
+:103DD0000100000001000000060000000A000000D1
+:103DE00020000000020000000400000008000000A5
+:103DF00010000000400000008000000000010000F2
+:103E000000020000A0860100400D0300801A060099
+:103E100000350C0040420F0080841E0000093D0068
+:103E200000127A000024F40000366E010048E80118
+:103E3000006CDC0200000000000000000000000038
+:103E40000000000000F024F8012810D00D48804741
+:103E50000D480047F0B543464C4655465E4667461A
+:103E6000F8B40A4C6B462360BFF34F8F30BF074C4A
+:103E70002468A546F8BC9846A146AA46B346BC4667
+:103E8000F0BD0000613D000895400008841300204B
+:103E900002490020086070470000000088130020DD
+:103EA00019E050F8042BD30744BFA9F101039A1875
+:103EB000091F0023042942F8043BF9D25FEA817C00
+:103EC000134604D54FF0000CA2F800C09B1CC90794
+:103ED00044BF0021197050F8041B0029E1D170473C
+:103EE000FEE7FEE7FEE7FEE7FEE770477047704734
+:103EF00000F012B8FDF757BCFEF7EABDFEF712BEA0
+:103F000000F012B80120FEF768BD1020FEF765BD75
+:103F10004020FEF762BD000002484168027889181F
+:103F200041607047841000200449C8680A688243D1
+:103F30000A60486000F004B8000000000015005856
+:103F40007047000010B500F013F802000023DB43B7
+:103F500000241068984203D011000220ABBE146008
+:103F60005068984203D0111D0220ABBE546010BDB2
+:103F700001487047000000009010002010B450F875
+:103F8000041B79B10268436802440830DC0744BF6F
+:103F9000A9F10104E31852F8044B43F8044B091F3C
+:103FA000F9D1ECE710BC704710B5074979441831D6
+:103FB000064C7C44163404E00A68081D1144884706
+:103FC0000146A142F8D110BD2C000000680000009D
+:103FD0004EF68851CEF20001086840F47000086087
+:103FE000BFF34F8FBFF36F8F4FF00070E1EE100AF9
+:103FF00070470000ADFEFFFFFC0200009C10002097
+:1040000070080000300003200000000071FFFFFF77
+:10401000080000008C0000002800032000000000C1
+:104020005DFFFFFF940000001C010000081000204D
+:104030000000000000F00DF8002801D0FFF7B4FFE9
+:10404000AFF300800020AFF30080FCF7E7FE00F044
+:1040500002F80120704700F001B80000074638461A
+:1040600000F002F8FBE7000080B5FFF76BFF024AA3
+:1040700011001820ABBEFBE7260002009D3C0008A3
+:10408000B13C00080D3C0008353C0008E93B000845
+:104090000B3C0008AFF30080FFF79AFFFFF7CAFF61
+:1040A0000000000000000000FFF7FEBFFFF7FEBFAA
+:1040B000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF34
+:1040C000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF24
+:1040D000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF14
+:1040E000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF04
+:1040F000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFF4
+:10410000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFE3
+:10411000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFD3
+:10412000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFC3
+:10413000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFB3
+:10414000FFF7FEBF000000480010004800000048D4
+:1041500021280008272800082D2800080F0000004B
+:104160000F0000000F000000000000000000000031
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:1041900000000000FFFFFFFFFFFFFFFF0000000027
+:1041A00000000000000000000DFF01000000000002
+:1041B00000000000000000000000000000000000FF
+:1041C000010000000000000010000000FFFFFFFFE2
+:0841D000FFFFFFFF00093D00A5
+:04000005080040951A
:00000001FF
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_conf.h
index 631d94432..b60051212 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -260,6 +260,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -269,11 +273,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -281,6 +289,18 @@
#define CFG_BLE_MAX_TX_POWER (0)
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+ * which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -437,8 +457,9 @@
#endif
-/** tick timer value in us */
+/** tick timer values */
#define CFG_TS_TICK_VAL DIVR( (CFG_RTCCLK_DIV * 1000000), LSE_VALUE )
+#define CFG_TS_TICK_VAL_PS DIVR( ((uint64_t)CFG_RTCCLK_DIV * 1e12), (uint64_t)LSE_VALUE )
typedef enum
{
@@ -555,9 +576,9 @@ typedef enum
CFG_TASK_ADV_UPDATE_ID,
CFG_TASK_MEAS_REQ_ID,
CFG_TASK_HCI_ASYNCH_EVT_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
-/* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITH_HCICMD, /**< Shall be LAST in the list */
} CFG_Task_Id_With_HCI_Cmd_t;
@@ -566,11 +587,12 @@ typedef enum
{
CFG_FIRST_TASK_ID_WITH_NO_HCICMD = CFG_LAST_TASK_ID_WITH_HCICMD - 1, /**< Shall be FIRST in the list */
CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
-/* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITHO_NO_HCICMD /**< Shall be LAST in the list */
} CFG_Task_Id_With_NO_HCI_Cmd_t;
+
#define CFG_TASK_NBR CFG_LAST_TASK_ID_WITHO_NO_HCICMD
/**
@@ -603,9 +625,9 @@ typedef enum
{
CFG_LPM_APP,
CFG_LPM_APP_BLE,
- /* USER CODE BEGIN CFG_LPM_Id_t */
+ /* USER CODE BEGIN CFG_LPM_Id_t */
- /* USER CODE END CFG_LPM_Id_t */
+ /* USER CODE END CFG_LPM_Id_t */
} CFG_LPM_Id_t;
/******************************************************************************
@@ -616,5 +638,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_entry.h
index 008724b5c..4f47130d3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -70,5 +70,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_conf.h
index c4403f591..5255ded52 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -171,5 +171,3 @@
#define CFG_HW_USART1_DMA_TX_SUPPORTED 0
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/main.h
index 43d93be5e..7af156239 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -74,5 +73,3 @@ void MX_RTC_Init(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32_lpm_if.h
index d8e67947f..45c31caa5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
-* @file stm32_lpm_if.h
-* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
-* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
-* This software component is licensed by ST under BSD 3-Clause license,
-* the "License"; You may not use this file except in compliance with the
-* License. You may obtain a copy of the License at:
-* opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +77,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_hal_conf.h
index 02364762d..f647cac83 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_it.h
index 984796b54..72671e977 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -72,5 +71,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_debug.c
index 562e3a22c..852be7f8e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -43,7 +43,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -128,8 +128,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -413,5 +421,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_entry.c
index b0658e5f2..ad9ff8cd1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -29,6 +29,8 @@
#include "shci_tl.h"
#include "stm32_lpm.h"
#include "app_debug.h"
+#include "dbg_trace.h"
+#include "shci.h"
#include "otp.h"
/* Private includes -----------------------------------------------------------*/
@@ -76,6 +78,8 @@ static void SystemPower_Config( void );
static void appe_Tl_Init( void );
static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
static void Init_Rtc( void );
/* USER CODE BEGIN PFP */
@@ -157,9 +161,8 @@ void Init_Smps( void )
void Init_Exti( void )
{
- /**< Disable all wakeup interrupt on CPU1 except IPCC(36), HSEM(38) */
- LL_EXTI_DisableIT_0_31(~0);
- LL_EXTI_DisableIT_32_63( (~0) & (~(LL_EXTI_LINE_36 | LL_EXTI_LINE_38)) );
+ /* Enable IPCC(36), HSEM(38) wakeup interrupts on CPU1 */
+ LL_EXTI_EnableIT_32_63( LL_EXTI_LINE_36 & LL_EXTI_LINE_38 );
return;
}
@@ -358,12 +361,151 @@ static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
*/
static void APPE_SysUserEvtRx( void * pPayload )
{
- UNUSED(pPayload);
- /* Traces channel initialization */
- APPD_EnableCPU2( );
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+/**
+ * @brief Notify a system error coming from the M0 firmware
+ * @param ErrorCode : errorCode detected by the M0 firmware
+ *
+ * @retval None
+ */
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT)
+ {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON - ERR_BLE_INIT \n");
+ }
+ else
+ {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON - BLE ERROR \n");
+ }
+ return;
+}
+
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+ }
+ else
+ {
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - UNEXPECTED CASE \n");
+ }
- APP_BLE_Init( );
- UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
return;
}
@@ -464,6 +606,8 @@ void UTIL_SEQ_Idle( void )
void UTIL_SEQ_EvtIdle( UTIL_SEQ_bm_t task_id_bm, UTIL_SEQ_bm_t evt_waited_bm )
{
UTIL_SEQ_Run( UTIL_SEQ_DEFAULT );
+
+ return;
}
void shci_notify_asynch_evt(void* pdata)
@@ -508,4 +652,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/main.c
index f6d75db83..4287c1eb6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -71,6 +71,7 @@ RTC_HandleTypeDef hrtc;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_RNG_Init(void);
/* USER CODE BEGIN PFP */
@@ -105,6 +106,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* IPCC initialisation */
MX_IPCC_Init();
@@ -142,7 +146,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Configure LSE Drive Capability
*/
@@ -178,15 +181,23 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP
- |RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_RNG;
- PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_LSE;
- PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP;
PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_LSE;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSE;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -340,5 +351,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/standby_stm32wb15.c
index 122b6e843..f7172d804 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/standby_stm32wb15.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
- * File Name : standby_stm32wb15.c
- * Description : Application configuration file for STM32WPAN Middleware.
+ * @file standby_stm32wb15.c
+ * @author MCD Application Team
+ * @brief Specific code for standby mode
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -162,5 +162,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_hal_msp.c
index d6212b968..8e2573fc4 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -142,11 +141,21 @@ void HAL_IPCC_MspDeInit(IPCC_HandleTypeDef* hipcc)
*/
void HAL_RNG_MspInit(RNG_HandleTypeDef* hrng)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hrng->Instance==RNG)
{
/* USER CODE BEGIN RNG_MspInit 0 */
/* USER CODE END RNG_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RNG;
+ PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_LSE;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_RNG_CLK_ENABLE();
/* USER CODE BEGIN RNG_MspInit 1 */
@@ -186,6 +195,7 @@ void HAL_RNG_MspDeInit(RNG_HandleTypeDef* hrng)
*/
void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hrtc->Instance==RTC)
{
/* USER CODE BEGIN RTC_MspInit 0 */
@@ -199,6 +209,15 @@ void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
__HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); /**< Select LSI as RTC Input */
/* USER CODE END RTC_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
+ PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_RTC_ENABLE();
__HAL_RCC_RTCAPB_CLK_ENABLE();
@@ -241,5 +260,3 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_it.c
index cfa17eb62..390a69a52 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -291,4 +290,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/system_stm32wbxx.c
index c0af3469e..1394ae132 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/BLE_HeartRate.ewp b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/BLE_HeartRate.ewp
index d5e180a9d..2e3bf6a30 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/BLE_HeartRate.ewp
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/BLE_HeartRate.ewp
@@ -1,1259 +1,1260 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
- <fileVersion>3</fileVersion>
- <configuration>
- <name>BLE_HeartRate</name>
- <toolchain>
- <name>ARM</name>
- </toolchain>
+ <fileVersion>3</fileVersion>
+ <configuration>
+ <name>BLE_HeartRate</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>1</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>30</version>
+ <wantNonLocal>1</wantNonLocal>
<debug>1</debug>
- <settings>
- <name>General</name>
- <archiveVersion>3</archiveVersion>
- <data>
- <version>30</version>
- <wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
- <option>
- <name>ExePath</name>
- <state>BLE_HeartRate\Exe</state>
- </option>
- <option>
- <name>ObjPath</name>
- <state>BLE_HeartRate\Obj</state>
- </option>
- <option>
- <name>ListPath</name>
- <state>BLE_HeartRate\List</state>
- </option>
- <option>
- <name>GEndianMode</name>
- <state>0</state>
- </option>
- <option>
- <name>Input description</name>
- <state>Full formatting, without multibyte support.</state>
- </option>
- <option>
- <name>Output description</name>
- <state>Full formatting, without multibyte support.</state>
- </option>
- <option>
- <name>GOutputBinary</name>
- <state>0</state>
- </option>
- <option>
- <name>OGCoreOrChip</name>
- <state>1</state>
- </option>
- <option>
- <name>GRuntimeLibSelect</name>
- <version>0</version>
- <state>2</state>
- </option>
- <option>
- <name>GRuntimeLibSelectSlave</name>
- <version>0</version>
- <state>2</state>
- </option>
- <option>
- <name>RTDescription</name>
- <state>Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
- </option>
- <option>
- <name>OGProductVersion</name>
- <state>8.20.2.14834</state>
- </option>
- <option>
- <name>OGLastSavedByProductVersion</name>
- <state>8.20.2.14834</state>
- </option>
- <option>
- <name>GeneralEnableMisra</name>
- <state>0</state>
- </option>
- <option>
- <name>GeneralMisraVerbose</name>
- <state>0</state>
- </option>
- <option>
- <name>OGChipSelectEditMenu</name>
- <state>STM32WB15CC ST STM32WB15CC</state>
- </option>
- <option>
- <name>GenLowLevelInterface</name>
- <state>1</state>
- </option>
- <option>
- <name>GEndianModeBE</name>
- <state>1</state>
- </option>
- <option>
- <name>OGBufferedTerminalOutput</name>
- <state>0</state>
- </option>
- <option>
- <name>GenStdoutInterface</name>
- <state>0</state>
- </option>
- <option>
- <name>GeneralMisraRules98</name>
- <version>0</version>
- <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
- </option>
- <option>
- <name>GeneralMisraVer</name>
- <state>0</state>
- </option>
- <option>
- <name>GeneralMisraRules04</name>
- <version>0</version>
- <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
- </option>
- <option>
- <name>RTConfigPath2</name>
- <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state>
- </option>
- <option>
- <name>GBECoreSlave</name>
- <version>26</version>
- <state>39</state>
- </option>
- <option>
- <name>OGUseCmsis</name>
- <state>0</state>
- </option>
- <option>
- <name>OGUseCmsisDspLib</name>
- <state>0</state>
- </option>
- <option>
- <name>GRuntimeLibThreads</name>
- <state>0</state>
- </option>
- <option>
- <name>CoreVariant</name>
- <version>26</version>
- <state>39</state>
- </option>
- <option>
- <name>GFPUDeviceSlave</name>
- <state>STM32WB15CC ST STM32WB15CC</state>
- </option>
- <option>
- <name>FPU2</name>
- <version>0</version>
- <state>4</state>
- </option>
- <option>
- <name>NrRegs</name>
- <version>0</version>
- <state>1</state>
- </option>
- <option>
- <name>NEON</name>
- <state>0</state>
- </option>
- <option>
- <name>GFPUCoreSlave2</name>
- <version>26</version>
- <state>39</state>
- </option>
- <option>
- <name>OGCMSISPackSelectDevice</name>
- </option>
- <option>
- <name>OgLibHeap</name>
- <state>0</state>
- </option>
- <option>
- <name>OGLibAdditionalLocale</name>
- <state>0</state>
- </option>
- <option>
- <name>OGPrintfVariant</name>
- <version>0</version>
- <state>1</state>
- </option>
- <option>
- <name>OGPrintfMultibyteSupport</name>
- <state>0</state>
- </option>
- <option>
- <name>OGScanfVariant</name>
- <version>0</version>
- <state>1</state>
- </option>
- <option>
- <name>OGScanfMultibyteSupport</name>
- <state>0</state>
- </option>
- <option>
- <name>GenLocaleTags</name>
- <state></state>
- </option>
- <option>
- <name>GenLocaleDisplayOnly</name>
- <state></state>
- </option>
- <option>
- <name>DSPExtension</name>
- <state>1</state>
- </option>
- <option>
- <name>TrustZone</name>
- <state>0</state>
- </option>
- </data>
- </settings>
- <settings>
- <name>ICCARM</name>
- <archiveVersion>2</archiveVersion>
- <data>
- <version>34</version>
- <wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
- <option>
- <name>CCDefines</name>
- <state>USE_STM32WBXX_NUCLEO</state>
- <state>USE_HAL_DRIVER</state>
- <state>STM32WB15xx</state>
- </option>
- <option>
- <name>CCPreprocFile</name>
- <state>0</state>
- </option>
- <option>
- <name>CCPreprocComments</name>
- <state>0</state>
- </option>
- <option>
- <name>CCPreprocLine</name>
- <state>1</state>
- </option>
- <option>
- <name>CCListCFile</name>
- <state>0</state>
- </option>
- <option>
- <name>CCListCMnemonics</name>
- <state>0</state>
- </option>
- <option>
- <name>CCListCMessages</name>
- <state>0</state>
- </option>
- <option>
- <name>CCListAssFile</name>
- <state>0</state>
- </option>
- <option>
- <name>CCListAssSource</name>
- <state>0</state>
- </option>
- <option>
- <name>CCEnableRemarks</name>
- <state>0</state>
- </option>
- <option>
- <name>CCDiagSuppress</name>
- <state></state>
- </option>
- <option>
- <name>CCDiagRemark</name>
- <state></state>
- </option>
- <option>
- <name>CCDiagWarning</name>
- <state></state>
- </option>
- <option>
- <name>CCDiagError</name>
- <state></state>
- </option>
- <option>
- <name>CCObjPrefix</name>
- <state>1</state>
- </option>
- <option>
- <name>CCAllowList</name>
- <version>1</version>
- <state>11111110</state>
- </option>
- <option>
- <name>CCDebugInfo</name>
- <state>1</state>
- </option>
- <option>
- <name>IEndianMode</name>
- <state>1</state>
- </option>
- <option>
- <name>IProcessor</name>
- <state>1</state>
- </option>
- <option>
- <name>IExtraOptionsCheck</name>
- <state>0</state>
- </option>
- <option>
- <name>IExtraOptions</name>
- <state></state>
- </option>
- <option>
- <name>CCLangConformance</name>
- <state>0</state>
- </option>
- <option>
- <name>CCSignedPlainChar</name>
- <state>1</state>
- </option>
- <option>
- <name>CCRequirePrototypes</name>
- <state>0</state>
- </option>
- <option>
- <name>CCDiagWarnAreErr</name>
- <state>0</state>
- </option>
- <option>
- <name>CCCompilerRuntimeInfo</name>
- <state>0</state>
- </option>
- <option>
- <name>IFpuProcessor</name>
- <state>1</state>
- </option>
- <option>
- <name>OutputFile</name>
- <state>$FILE_BNAME$.o</state>
- </option>
- <option>
- <name>CCLibConfigHeader</name>
- <state>1</state>
- </option>
- <option>
- <name>PreInclude</name>
- <state></state>
- </option>
- <option>
- <name>CompilerMisraOverride</name>
- <state>0</state>
- </option>
- <option>
- <name>CCIncludePath2</name>
- <state>$PROJ_DIR$/../Core/Inc</state>
- <state>$PROJ_DIR$/../STM32_WPAN/App</state>
- <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc</state>
- <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc/Legacy</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities</state>
- <state>$PROJ_DIR$/../../../../../../Utilities/lpm/tiny_lpm</state>
- <state>$PROJ_DIR$/../../../../../../Utilities/sequencer</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core</state>
- <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include</state>
- <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Include</state>
- <state>$PROJ_DIR$/../../../../../../Drivers/BSP/NUCLEO-WB15CC</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Inc</state>
- <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src</state>
- </option>
- <option>
- <name>CCStdIncCheck</name>
- <state>0</state>
- </option>
- <option>
- <name>CCCodeSection</name>
- <state>.text</state>
- </option>
- <option>
- <name>IProcessorMode2</name>
- <state>1</state>
- </option>
- <option>
- <name>CCOptLevel</name>
- <state>3</state>
- </option>
- <option>
- <name>CCOptStrategy</name>
- <version>0</version>
- <state>1</state>
- </option>
- <option>
- <name>CCOptLevelSlave</name>
- <state>3</state>
- </option>
- <option>
- <name>CompilerMisraRules98</name>
- <version>0</version>
- <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
- </option>
- <option>
- <name>CompilerMisraRules04</name>
- <version>0</version>
- <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
- </option>
- <option>
- <name>CCPosIndRopi</name>
- <state>0</state>
- </option>
- <option>
- <name>CCPosIndRwpi</name>
- <state>0</state>
- </option>
- <option>
- <name>CCPosIndNoDynInit</name>
- <state>0</state>
- </option>
- <option>
- <name>IccLang</name>
- <state>0</state>
- </option>
- <option>
- <name>IccCDialect</name>
- <state>1</state>
- </option>
- <option>
- <name>IccAllowVLA</name>
- <state>0</state>
- </option>
- <option>
- <name>IccStaticDestr</name>
- <state>1</state>
- </option>
- <option>
- <name>IccCppInlineSemantics</name>
- <state>0</state>
- </option>
- <option>
- <name>IccCmsis</name>
- <state>1</state>
- </option>
- <option>
- <name>IccFloatSemantics</name>
- <state>0</state>
- </option>
- <option>
- <name>CCOptimizationNoSizeConstraints</name>
- <state>0</state>
- </option>
- <option>
- <name>CCNoLiteralPool</name>
- <state>0</state>
- </option>
- <option>
- <name>CCOptStrategySlave</name>
- <version>0</version>
- <state>1</state>
- </option>
- <option>
- <name>CCGuardCalls</name>
- <state>1</state>
- </option>
- <option>
- <name>CCEncSource</name>
- <state>0</state>
- </option>
- <option>
- <name>CCEncOutput</name>
- <state>0</state>
- </option>
- <option>
- <name>CCEncOutputBom</name>
- <state>1</state>
- </option>
- <option>
- <name>CCEncInput</name>
- <state>0</state>
- </option>
- <option>
- <name>IccExceptions2</name>
- <state>0</state>
- </option>
- <option>
- <name>IccRTTI2</name>
- <state>0</state>
- </option>
- </data>
- </settings>
- <settings>
- <name>AARM</name>
- <archiveVersion>2</archiveVersion>
- <data>
- <version>10</version>
- <wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
- <option>
- <name>AObjPrefix</name>
- <state>1</state>
- </option>
- <option>
- <name>AEndian</name>
- <state>1</state>
- </option>
- <option>
- <name>ACaseSensitivity</name>
- <state>1</state>
- </option>
- <option>
- <name>MacroChars</name>
- <version>0</version>
- <state>0</state>
- </option>
- <option>
- <name>AWarnEnable</name>
- <state>0</state>
- </option>
- <option>
- <name>AWarnWhat</name>
- <state>0</state>
- </option>
- <option>
- <name>AWarnOne</name>
- <state></state>
- </option>
- <option>
- <name>AWarnRange1</name>
- <state></state>
- </option>
- <option>
- <name>AWarnRange2</name>
- <state></state>
- </option>
- <option>
- <name>ADebug</name>
- <state>1</state>
- </option>
- <option>
- <name>AltRegisterNames</name>
- <state>0</state>
- </option>
- <option>
- <name>ADefines</name>
- <state></state>
- </option>
- <option>
- <name>AList</name>
- <state>0</state>
- </option>
- <option>
- <name>AListHeader</name>
- <state>1</state>
- </option>
- <option>
- <name>AListing</name>
- <state>1</state>
- </option>
- <option>
- <name>Includes</name>
- <state>0</state>
- </option>
- <option>
- <name>MacDefs</name>
- <state>0</state>
- </option>
- <option>
- <name>MacExps</name>
- <state>1</state>
- </option>
- <option>
- <name>MacExec</name>
- <state>0</state>
- </option>
- <option>
- <name>OnlyAssed</name>
- <state>0</state>
- </option>
- <option>
- <name>MultiLine</name>
- <state>0</state>
- </option>
- <option>
- <name>PageLengthCheck</name>
- <state>0</state>
- </option>
- <option>
- <name>PageLength</name>
- <state>80</state>
- </option>
- <option>
- <name>TabSpacing</name>
- <state>8</state>
- </option>
- <option>
- <name>AXRef</name>
- <state>0</state>
- </option>
- <option>
- <name>AXRefDefines</name>
- <state>0</state>
- </option>
- <option>
- <name>AXRefInternal</name>
- <state>0</state>
- </option>
- <option>
- <name>AXRefDual</name>
- <state>0</state>
- </option>
- <option>
- <name>AProcessor</name>
- <state>1</state>
- </option>
- <option>
- <name>AFpuProcessor</name>
- <state>1</state>
- </option>
- <option>
- <name>AOutputFile</name>
- <state>$FILE_BNAME$.o</state>
- </option>
- <option>
- <name>ALimitErrorsCheck</name>
- <state>0</state>
- </option>
- <option>
- <name>ALimitErrorsEdit</name>
- <state>100</state>
- </option>
- <option>
- <name>AIgnoreStdInclude</name>
- <state>0</state>
- </option>
- <option>
- <name>AUserIncludes</name>
- <state></state>
- </option>
- <option>
- <name>AExtraOptionsCheckV2</name>
- <state>0</state>
- </option>
- <option>
- <name>AExtraOptionsV2</name>
- <state></state>
- </option>
- <option>
- <name>AsmNoLiteralPool</name>
- <state>0</state>
- </option>
- </data>
- </settings>
- <settings>
- <name>OBJCOPY</name>
- <archiveVersion>0</archiveVersion>
- <data>
- <version>1</version>
- <wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
- <option>
- <name>OOCOutputFormat</name>
- <version>3</version>
- <state>1</state>
- </option>
- <option>
- <name>OCOutputOverride</name>
- <state>1</state>
- </option>
- <option>
- <name>OOCOutputFile</name>
- <state>BLE_HeartRate.hex</state>
- </option>
- <option>
- <name>OOCCommandLineProducer</name>
- <state>1</state>
- </option>
- <option>
- <name>OOCObjCopyEnable</name>
- <state>1</state>
- </option>
- </data>
- </settings>
- <settings>
- <name>CUSTOM</name>
- <archiveVersion>3</archiveVersion>
- <data>
- <extensions></extensions>
- <cmdline></cmdline>
- <hasPrio>0</hasPrio>
- </data>
- </settings>
- <settings>
- <name>BICOMP</name>
- <archiveVersion>0</archiveVersion>
- <data />
- </settings>
- <settings>
- <name>BUILDACTION</name>
- <archiveVersion>1</archiveVersion>
- <data>
- <prebuild></prebuild>
- <postbuild></postbuild>
- </data>
- </settings>
- <settings>
- <name>ILINK</name>
- <archiveVersion>0</archiveVersion>
- <data>
- <version>20</version>
- <wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
- <option>
- <name>IlinkLibIOConfig</name>
- <state>1</state>
- </option>
- <option>
- <name>XLinkMisraHandler</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkInputFileSlave</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkOutputFile</name>
- <state>BLE_HeartRate.out</state>
- </option>
- <option>
- <name>IlinkDebugInfoEnable</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkKeepSymbols</name>
- <state></state>
- </option>
- <option>
- <name>IlinkRawBinaryFile</name>
- <state></state>
- </option>
- <option>
- <name>IlinkRawBinarySymbol</name>
- <state></state>
- </option>
- <option>
- <name>IlinkRawBinarySegment</name>
- <state></state>
- </option>
- <option>
- <name>IlinkRawBinaryAlign</name>
- <state></state>
- </option>
- <option>
- <name>IlinkDefines</name>
- <state></state>
- </option>
- <option>
- <name>IlinkConfigDefines</name>
- <state></state>
- </option>
- <option>
- <name>IlinkMapFile</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkLogFile</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkLogInitialization</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkLogModule</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkLogSection</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkLogVeneer</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkIcfOverride</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkIcfFile</name>
- <state>$PROJ_DIR$\stm32wb15xx_flash_cm4.icf</state>
- </option>
- <option>
- <name>IlinkIcfFileSlave</name>
- <state></state>
- </option>
- <option>
- <name>IlinkEnableRemarks</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkSuppressDiags</name>
- <state></state>
- </option>
- <option>
- <name>IlinkTreatAsRem</name>
- <state></state>
- </option>
- <option>
- <name>IlinkTreatAsWarn</name>
- <state></state>
- </option>
- <option>
- <name>IlinkTreatAsErr</name>
- <state></state>
- </option>
- <option>
- <name>IlinkWarningsAreErrors</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkUseExtraOptions</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkExtraOptions</name>
- <state></state>
- </option>
- <option>
- <name>IlinkLowLevelInterfaceSlave</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkAutoLibEnable</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkAdditionalLibs</name>
- <state></state>
- </option>
- <option>
- <name>IlinkOverrideProgramEntryLabel</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkProgramEntryLabelSelect</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkProgramEntryLabel</name>
- <state>__iar_program_start</state>
- </option>
- <option>
- <name>DoFill</name>
- <state>0</state>
- </option>
- <option>
- <name>FillerByte</name>
- <state>0xFF</state>
- </option>
- <option>
- <name>FillerStart</name>
- <state>0x0</state>
- </option>
- <option>
- <name>FillerEnd</name>
- <state>0x0</state>
- </option>
- <option>
- <name>CrcSize</name>
- <version>0</version>
- <state>1</state>
- </option>
- <option>
- <name>CrcAlign</name>
- <state>1</state>
- </option>
- <option>
- <name>CrcPoly</name>
- <state>0x11021</state>
- </option>
- <option>
- <name>CrcCompl</name>
- <version>0</version>
- <state>0</state>
- </option>
- <option>
- <name>CrcBitOrder</name>
- <version>0</version>
- <state>0</state>
- </option>
- <option>
- <name>CrcInitialValue</name>
- <state>0x0</state>
- </option>
- <option>
- <name>DoCrc</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkBE8Slave</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkBufferedTerminalOutput</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkStdoutInterfaceSlave</name>
- <state>1</state>
- </option>
- <option>
- <name>CrcFullSize</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkIElfToolPostProcess</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkLogAutoLibSelect</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkLogRedirSymbols</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkLogUnusedFragments</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkCrcReverseByteOrder</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkCrcUseAsInput</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkOptInline</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkOptExceptionsAllow</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkOptExceptionsForce</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkCmsis</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkOptMergeDuplSections</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkOptUseVfe</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkOptForceVfe</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkStackAnalysisEnable</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkStackControlFile</name>
- <state></state>
- </option>
- <option>
- <name>IlinkStackCallGraphFile</name>
- <state></state>
- </option>
- <option>
- <name>CrcAlgorithm</name>
- <version>1</version>
- <state>1</state>
- </option>
- <option>
- <name>CrcUnitSize</name>
- <version>0</version>
- <state>0</state>
- </option>
- <option>
- <name>IlinkThreadsSlave</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkLogCallGraph</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkIcfFile_AltDefault</name>
- <state></state>
- </option>
- <option>
- <name>IlinkEncInput</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkEncOutput</name>
- <state>0</state>
- </option>
- <option>
- <name>IlinkEncOutputBom</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkHeapSelect</name>
- <state>1</state>
- </option>
- <option>
- <name>IlinkLocaleSelect</name>
- <state>1</state>
- </option>
- </data>
- </settings>
- <settings>
- <name>IARCHIVE</name>
- <archiveVersion>0</archiveVersion>
- <data>
- <version>0</version>
- <wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
- <option>
- <name>IarchiveInputs</name>
- <state></state>
- </option>
- <option>
- <name>IarchiveOverride</name>
- <state>0</state>
- </option>
- <option>
- <name>IarchiveOutput</name>
- <state>###Unitialized###</state>
- </option>
- </data>
- </settings>
- <settings>
- <name>BILINK</name>
- <archiveVersion>0</archiveVersion>
- <data />
- </settings>
- </configuration>
+ <option>
+ <name>ExePath</name>
+ <state>BLE_HeartRate\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>BLE_HeartRate\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>BLE_HeartRate\List</state>
+ </option>
+ <option>
+ <name>GEndianMode</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>Full formatting, without multibyte support.</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>Full formatting, without multibyte support.</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGCoreOrChip</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>OGProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>OGLastSavedByProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>STM32WB15CC ST STM32WB15CC</state>
+ </option>
+ <option>
+ <name>GenLowLevelInterface</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GEndianModeBE</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGBufferedTerminalOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenStdoutInterface</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>RTConfigPath2</name>
+ <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state>
+ </option>
+ <option>
+ <name>GBECoreSlave</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGUseCmsis</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGUseCmsisDspLib</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibThreads</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreVariant</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>GFPUDeviceSlave</name>
+ <state>STM32WB15CC ST STM32WB15CC</state>
+ </option>
+ <option>
+ <name>FPU2</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>NrRegs</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>NEON</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GFPUCoreSlave2</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGCMSISPackSelectDevice</name>
+ </option>
+ <option>
+ <name>OgLibHeap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGLibAdditionalLocale</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGPrintfVariant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGPrintfMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGScanfVariant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGScanfMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenLocaleTags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>GenLocaleDisplayOnly</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DSPExtension</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TrustZone</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>34</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CCDefines</name>
+ <state>USE_STM32WBXX_NUCLEO</state>
+ <state>USE_HAL_DRIVER</state>
+ <state>STM32WB15xx</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>1</version>
+ <state>11111110</state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IEndianMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCLangConformance</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSignedPlainChar</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$/../Core/Inc</state>
+ <state>$PROJ_DIR$/../STM32_WPAN/App</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc/Legacy</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities</state>
+ <state>$PROJ_DIR$/../../../../../../Utilities/lpm/tiny_lpm</state>
+ <state>$PROJ_DIR$/../../../../../../Utilities/sequencer</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Include</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/BSP/NUCLEO-WB15CC</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Inc</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeSection</name>
+ <state>.text</state>
+ </option>
+ <option>
+ <name>IProcessorMode2</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CCPosIndRopi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndRwpi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndNoDynInit</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccLang</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccAllowVLA</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccStaticDestr</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccCppInlineSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccFloatSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptimizationNoSizeConstraints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptStrategySlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCGuardCalls</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExceptions2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccRTTI2</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>10</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AltRegisterNames</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AsmNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>OBJCOPY</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OOCOutputFormat</name>
+ <version>3</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCOutputOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCOutputFile</name>
+ <state>BLE_HeartRate.hex</state>
+ </option>
+ <option>
+ <name>OOCCommandLineProducer</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCObjCopyEnable</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ <hasPrio>0</hasPrio>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data></data>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>ILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>20</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IlinkLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkInputFileSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOutputFile</name>
+ <state>BLE_HeartRate.out</state>
+ </option>
+ <option>
+ <name>IlinkDebugInfoEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkKeepSymbols</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkConfigDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkMapFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogInitialization</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogModule</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogSection</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogVeneer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile</name>
+ <state>$PROJ_DIR$\stm32wb15xx_flash_cm4.icf</state>
+ </option>
+ <option>
+ <name>IlinkIcfFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkSuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsRem</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkWarningsAreErrors</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkUseExtraOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkLowLevelInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAutoLibEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAdditionalLibs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabel</name>
+ <state>__iar_program_start</state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>FillerStart</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>FillerEnd</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkBufferedTerminalOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkStdoutInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcFullSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIElfToolPostProcess</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogAutoLibSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogRedirSymbols</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogUnusedFragments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcReverseByteOrder</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcUseAsInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptInline</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsAllow</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsForce</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptMergeDuplSections</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptUseVfe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptForceVfe</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackAnalysisEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackControlFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkStackCallGraphFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlgorithm</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcUnitSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkThreadsSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogCallGraph</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile_AltDefault</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkHeapSelect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLocaleSelect</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IARCHIVE</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IarchiveInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IarchiveOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IarchiveOutput</name>
+ <state>###Unitialized###</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data></data>
+ </settings>
+ </configuration>
+ <group>
+ <name>Application</name>
<group>
- <name>Application</name>
+ <name>EWARM</name>
+ <file>
+ <name>$PROJ_DIR$\startup_stm32wb15xx_cm4.s</name>
+ </file>
+ </group>
+ <group>
+ <name>User</name>
+ <group>
+ <name>Core</name>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\app_entry.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\app_debug.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\hw_timerserver.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32_lpm_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\standby_stm32wb15.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_it.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_hal_msp.c</name>
+ </file>
+ </group>
+ <group>
+ <name>STM32_WPAN</name>
<group>
- <name>EWARM</name>
- <file>
- <name>$PROJ_DIR$\startup_stm32wb15xx_cm4.s</name>
- </file>
+ <name>App</name>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\App\app_ble.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\App\dis_app.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\App\hrs_app.c</name>
+ </file>
</group>
<group>
- <name>User</name>
- <group>
- <name>Core</name>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\app_debug.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\app_entry.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\hw_timerserver.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\main.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\standby_stm32wb15.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\stm32_lpm_if.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_hal_msp.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_it.c</name>
- </file>
- </group>
- <group>
- <name>STM32_WPAN</name>
- <group>
- <name>App</name>
- <file>
- <name>$PROJ_DIR$\..\STM32_WPAN\App\app_ble.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\STM32_WPAN\App\dis_app.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\STM32_WPAN\App\hrs_app.c</name>
- </file>
- </group>
- <group>
- <name>Target</name>
- <file>
- <name>$PROJ_DIR$\..\STM32_WPAN\Target\hw_ipcc.c</name>
- </file>
- </group>
- </group>
+ <name>Target</name>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\Target\hw_ipcc.c</name>
+ </file>
</group>
+ </group>
</group>
+ </group>
+ <group>
+ <name>Doc</name>
+ <file>
+ <name>$PROJ_DIR$\..\readme.txt</name>
+ </file>
+ </group>
+ <group>
+ <name>Drivers</name>
<group>
- <name>Doc</name>
+ <name>BSP</name>
+ <group>
+ <name>NUCLEO-WB15CC</name>
<file>
- <name>$PROJ_DIR$\..\readme.txt</name>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</name>
</file>
+ </group>
</group>
<group>
- <name>Drivers</name>
- <group>
- <name>BSP</name>
- <group>
- <name>NUCLEO-WB15CC</name>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</name>
- </file>
- </group>
- </group>
- <group>
- <name>CMSIS</name>
- <file>
- <name>$PROJ_DIR$\..\Core\Src\system_stm32wbxx.c</name>
- </file>
- </group>
- <group>
- <name>STM32WBxx_HAL_Driver</name>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_cortex.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash_ex.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_gpio.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr_ex.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc_ex.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rng.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc_ex.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_tim.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_tim_ex.c</name>
- </file>
- </group>
+ <name>CMSIS</name>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\system_stm32wbxx.c</name>
+ </file>
</group>
<group>
- <name>Middlewares</name>
- <group>
- <name>STM32_WPAN</name>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gap_aci.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gatt_aci.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hal_aci.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hci_le.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_l2cap_aci.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\dbg_trace.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\dis.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl_if.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\hrs.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\template\osal.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\otp.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\shci\shci.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl_if.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_list.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_queue.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\svc_ctl.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\tl_mbox.c</name>
- </file>
- </group>
+ <name>STM32WBxx_HAL_Driver</name>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_exti.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rng.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.c</name>
+ </file>
</group>
+ </group>
+ <group>
+ <name>Middlewares</name>
<group>
- <name>Utilities</name>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\lpm\tiny_lpm\stm32_lpm.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\sequencer\stm32_seq.c</name>
- </file>
+ <name>STM32_WPAN</name>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/otp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_list.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\hrs.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\dis.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</name>
+ </file>
</group>
+ </group>
+ <group>
+ <name>Utilities</name>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Utilities/lpm/tiny_lpm/stm32_lpm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Utilities/sequencer/stm32_seq.c</name>
+ </file>
+ </group>
</project>
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/stm32wb15xx_flash_cm4.icf
index 56d9d33c5..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..3b925699a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -29,7 +29,7 @@
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
-Stack_Size EQU 0x400
+Stack_Size EQU 0x1000
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
@@ -40,7 +40,7 @@ __initial_sp
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
-Heap_Size EQU 0x200
+Heap_Size EQU 0x400
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 72feb3a18..4e53aee02 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -45,7 +44,7 @@ _Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 110K
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c
index 087a6c793..4a2e0d1e7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.c
- * Description : Application file for BLE Middleware.
- *
- *****************************************************************************
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -268,26 +267,27 @@ void APP_BLE_Init( void )
{
{{0,0,0}}, /**< Header unused */
{0, /** pBleBufferAddress not used */
- 0, /** BleBufferSize not used */
- CFG_BLE_NUM_GATT_ATTRIBUTES,
- CFG_BLE_NUM_GATT_SERVICES,
- CFG_BLE_ATT_VALUE_ARRAY_SIZE,
- CFG_BLE_NUM_LINK,
- CFG_BLE_DATA_LENGTH_EXTENSION,
- CFG_BLE_PREPARE_WRITE_LIST_SIZE,
- CFG_BLE_MBLOCK_COUNT,
- CFG_BLE_MAX_ATT_MTU,
- CFG_BLE_SLAVE_SCA,
- CFG_BLE_MASTER_SCA,
- CFG_BLE_LSE_SOURCE,
- CFG_BLE_MAX_CONN_EVENT_LENGTH,
- CFG_BLE_HSE_STARTUP_TIME,
- CFG_BLE_VITERBI_MODE,
- CFG_BLE_OPTIONS,
- 0,
- CFG_BLE_MAX_COC_INITIATOR_NBR,
- CFG_BLE_MIN_TX_POWER,
- CFG_BLE_MAX_TX_POWER}
+ 0, /** BleBufferSize not used */
+ CFG_BLE_NUM_GATT_ATTRIBUTES,
+ CFG_BLE_NUM_GATT_SERVICES,
+ CFG_BLE_ATT_VALUE_ARRAY_SIZE,
+ CFG_BLE_NUM_LINK,
+ CFG_BLE_DATA_LENGTH_EXTENSION,
+ CFG_BLE_PREPARE_WRITE_LIST_SIZE,
+ CFG_BLE_MBLOCK_COUNT,
+ CFG_BLE_MAX_ATT_MTU,
+ CFG_BLE_SLAVE_SCA,
+ CFG_BLE_MASTER_SCA,
+ CFG_BLE_LSE_SOURCE,
+ CFG_BLE_MAX_CONN_EVENT_LENGTH,
+ CFG_BLE_HSE_STARTUP_TIME,
+ CFG_BLE_VITERBI_MODE,
+ CFG_BLE_OPTIONS,
+ 0,
+ CFG_BLE_MAX_COC_INITIATOR_NBR,
+ CFG_BLE_MIN_TX_POWER,
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
};
/**
@@ -1109,6 +1109,8 @@ static void BLE_UserEvtRx( void * pPayload )
{
pParam->status = HCI_TL_UserEventFlow_Disable;
}
+
+ return;
}
static void BLE_StatusNot( HCI_TL_CmdStatus_t status )
@@ -1151,4 +1153,3 @@ void SVCCTL_ResumeUserEventFlow( void )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.h
index d2b6fc3d7..86f1d1046 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.h
- * Description : Application configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,5 +83,3 @@ void APP_BLE_Key_Button3_Action(void);
#endif
#endif /*APP_BLE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_conf.h
index 4a5dbf4d5..20ae2567d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -103,4 +102,3 @@
#define BLE_CFG_OTA_REBOOT_CHAR 0/**< REBOOT OTA MODE CHARACTERISTIC */
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_dbg_conf.h
index 5f3ac9dd2..20ff53b14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -197,5 +196,3 @@
#endif
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c
index 396fcad74..c7c8e1f2f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -217,4 +216,3 @@ void DISAPP_Init(void)
/* USER CODE END FD */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.h
index 5dba6ce9f..138e1c0bc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.h
@@ -1,22 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : App/dis_app.h
* Description : Entry application source file for BLE Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -74,4 +73,3 @@ void DISAPP_Init(void);
#endif /*__DIS_APP_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.c
index 48e0fde4f..1c46caa07 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -227,4 +226,3 @@ static uint32_t HRSAPP_Read_RTC_SSR_SS ( void )
/* USER CODE END FD */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.h
index ccf3d4b32..d068166e8 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/hrs_app.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,4 +64,3 @@ void HRSAPP_Init( void );
#endif /*__HRS_APP_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/tl_dbg_conf.h
index bd808a41b..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..57294e04f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,6 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +700,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/readme.txt
index 81580bf3b..09580027b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE_HeartRate example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Binary/BLE_HeartRate_ota_reference.bin b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Binary/BLE_HeartRate_ota_reference.bin
index 73b596342..fea123783 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Binary/BLE_HeartRate_ota_reference.bin
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Binary/BLE_HeartRate_ota_reference.bin
Binary files differ
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_conf.h
index 78b986e56..12010a6e9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -258,6 +258,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -267,11 +271,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -279,6 +287,19 @@
#define CFG_BLE_MAX_TX_POWER (0)
+
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+* which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -607,5 +628,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_entry.h
index c95d8bea9..286cf657d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_conf.h
index c4403f591..5255ded52 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -171,5 +171,3 @@
#define CFG_HW_USART1_DMA_TX_SUPPORTED 0
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/main.h
index bbd0ab5f7..94f556f9f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -74,5 +73,3 @@ void MX_RTC_Init(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32_lpm_if.h
index d8e67947f..45c31caa5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
-* @file stm32_lpm_if.h
-* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
-* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
-* This software component is licensed by ST under BSD 3-Clause license,
-* the "License"; You may not use this file except in compliance with the
-* License. You may obtain a copy of the License at:
-* opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +77,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_hal_conf.h
index ff2efb206..91543a418 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_it.h
index 4c592a29f..3e374f1f5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -71,5 +70,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_debug.c
index 562e3a22c..852be7f8e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -43,7 +43,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -128,8 +128,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -413,5 +421,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_entry.c
index 5e80e5506..3d215290f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -30,6 +30,10 @@
#include "stm32_lpm.h"
#include "app_debug.h"
+#include "shci.h"
+#include "dbg_trace.h"
+
+
/* Private includes -----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
@@ -68,6 +72,8 @@ static void SystemPower_Config( void );
static void appe_Tl_Init( void );
static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
/* USER CODE BEGIN PFP */
@@ -181,22 +187,159 @@ static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
}
/**
- * The type of the payload for a system user event is tSHCI_UserEvtRxParam
- * When the system event is both :
- * - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
- * - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
- * The buffer shall not be released
- * ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
- * When the status is not filled, the buffer is released by default
- */
+* The type of the payload for a system user event is tSHCI_UserEvtRxParam
+* When the system event is both :
+* - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
+* - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
+* The buffer shall not be released
+* ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
+* When the status is not filled, the buffer is released by default
+*/
static void APPE_SysUserEvtRx( void * pPayload )
{
- UNUSED(pPayload);
- /* Traces channel initialization */
- APPD_EnableCPU2( );
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
- APP_BLE_Init( );
- UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+/**
+* @brief Notify when ready system event from the M0 firmware
+*/
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+
+ } else {
+
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY – UNEXPECTED CASE \n");
+ }
+ return;
+}
+
+/**
+* @brief Notify a system error coming from the M0 firmware
+*/
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT) {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – ERR_BLE_INIT \n");
+ } else {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – BLE ERROR \n");
+ }
return;
}
@@ -302,4 +445,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/main.c
index f17921b57..dbf853e8e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -514,5 +514,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/standby_stm32wb15.c
index e11afe16e..631f9557e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -162,4 +161,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_hal_msp.c
index 510729d2c..6fa0d5687 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -191,5 +190,3 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_it.c
index 2d5c2fcf1..117e93b96 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -281,4 +280,3 @@ void RTC_WKUP_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/system_stm32wbxx.c
index 1b2e121cb..1d92460c6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,7 +160,7 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
-#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB10xx)
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
@@ -352,5 +351,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf
index 8a6d86378..1c5dd3ab9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08007000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08007000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -34,13 +34,13 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
keep { section TAG_OTA_START};
keep { section TAG_OTA_END };
place in OTA_TAG_region { section TAG_OTA_START };
place in ROM_region { readonly, last section TAG_OTA_END };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/startup_stm32wb15xx_cm4.s
index f7cdf820d..3b925699a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
index cac6c00bd..60ea7fdde 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -14,21 +14,23 @@ LR_IROM2 0x08007140 0x4{ ; load region size_region
}
}
-LR_IROM3 0x08007144 0x146BC{
- ER_IROM1_HIGH 0x08007144 0x146BC { ; load address = execution address
- *(InRoot$$Sections)
- .ANY (+RO)
- *.o (TAG_OTA_END)
+LR_IROM3 0x08007144 0x116BC{
+ ER_IROM1_HIGH 0x08007144 0x116BC { ; load address = execution address
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ *.o (TAG_OTA_END)
}
-
+
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
- .ANY (+RW +ZI)
+ ANY (+RW +ZI)
}
-
- RW_RAM2aRet_SHARED 0x20030000 0x2800 { ; RW data
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
*(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
}
- \ No newline at end of file
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 7320fe370..407cd567c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -45,7 +44,7 @@ _Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08007000, LENGTH = 82K
+FLASH (rx) : ORIGIN = 0x08007000, LENGTH = 70K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -147,7 +146,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.c
index 6586330fe..57b329b04 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.c
- * Description : Application file for BLE Middleware.
- *
- *****************************************************************************
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -281,7 +280,8 @@ void APP_BLE_Init( void )
0,
CFG_BLE_MAX_COC_INITIATOR_NBR,
CFG_BLE_MIN_TX_POWER,
- CFG_BLE_MAX_TX_POWER}
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
};
/**
@@ -1101,4 +1101,3 @@ void SVCCTL_ResumeUserEventFlow( void )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.h
index d2b6fc3d7..86f1d1046 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/app_ble.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.h
- * Description : Application configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,5 +83,3 @@ void APP_BLE_Key_Button3_Action(void);
#endif
#endif /*APP_BLE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_conf.h
index 989bc44ff..acb69a6db 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -103,4 +102,3 @@
#define BLE_CFG_OTA_REBOOT_CHAR 1/**< REBOOT OTA MODE CHARACTERISTIC */
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_dbg_conf.h
index 5f3ac9dd2..20ff53b14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -197,5 +196,3 @@
#endif
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.c
index 396fcad74..c7c8e1f2f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -217,4 +216,3 @@ void DISAPP_Init(void)
/* USER CODE END FD */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.h
index 5dba6ce9f..138e1c0bc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/dis_app.h
@@ -1,22 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : App/dis_app.h
* Description : Entry application source file for BLE Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -74,4 +73,3 @@ void DISAPP_Init(void);
#endif /*__DIS_APP_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.c
index 48e0fde4f..1c46caa07 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -227,4 +226,3 @@ static uint32_t HRSAPP_Read_RTC_SSR_SS ( void )
/* USER CODE END FD */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.h
index ccf3d4b32..d068166e8 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/hrs_app.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,4 +64,3 @@ void HRSAPP_Init( void );
#endif /*__HRS_APP_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/tl_dbg_conf.h
index bd808a41b..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..4eecadfdd 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,7 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
+
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +701,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/readme.txt
index c06774c3b..62cb39e20 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE_HeartRate_ota example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_common.h
new file mode 100644
index 000000000..62e8ad603
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_common.h
@@ -0,0 +1,116 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_COMMON_H
+#define APP_COMMON_H
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#include <stdint.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#include "app_conf.h"
+
+ /* -------------------------------- *
+ * Basic definitions *
+ * -------------------------------- */
+
+#undef NULL
+#define NULL 0
+
+#undef FALSE
+#define FALSE 0
+
+#undef TRUE
+#define TRUE (!0)
+
+ /* -------------------------------- *
+ * Critical Section definition *
+ * -------------------------------- */
+#define BACKUP_PRIMASK() uint32_t primask_bit= __get_PRIMASK()
+#define DISABLE_IRQ() __disable_irq()
+#define RESTORE_PRIMASK() __set_PRIMASK(primask_bit)
+
+ /* -------------------------------- *
+ * Macro delimiters *
+ * -------------------------------- */
+
+#define M_BEGIN do {
+
+#define M_END } while(0)
+
+ /* -------------------------------- *
+ * Some useful macro definitions *
+ * -------------------------------- */
+
+#ifndef MAX
+#define MAX( x, y ) (((x)>(y))?(x):(y))
+#endif
+
+#ifndef MIN
+#define MIN( x, y ) (((x)<(y))?(x):(y))
+#endif
+
+#define MODINC( a, m ) M_BEGIN (a)++; if ((a)>=(m)) (a)=0; M_END
+
+#define MODDEC( a, m ) M_BEGIN if ((a)==0) (a)=(m); (a)--; M_END
+
+#define MODADD( a, b, m ) M_BEGIN (a)+=(b); if ((a)>=(m)) (a)-=(m); M_END
+
+#define MODSUB( a, b, m ) MODADD( a, (m)-(b), m )
+
+#define PAUSE( t ) M_BEGIN \
+ __IO int _i; \
+ for ( _i = t; _i > 0; _i -- ); \
+ M_END
+
+#define DIVF( x, y ) ((x)/(y))
+
+#define DIVC( x, y ) (((x)+(y)-1)/(y))
+
+#define DIVR( x, y ) (((x)+((y)/2))/(y))
+
+#define SHRR( x, n ) ((((x)>>((n)-1))+1)>>1)
+
+#define BITN( w, n ) (((w)[(n)/32] >> ((n)%32)) & 1)
+
+#define BITNSET( w, n, b ) M_BEGIN (w)[(n)/32] |= ((U32)(b))<<((n)%32); M_END
+
+ /* -------------------------------- *
+ * Compiler *
+ * -------------------------------- */
+#define PLACE_IN_SECTION( __x__ ) __attribute__((section (__x__)))
+
+#ifdef WIN32
+#define ALIGN(n)
+#else
+#define ALIGN(n) __attribute__((aligned(n)))
+#endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*APP_COMMON_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_conf.h
new file mode 100644
index 000000000..21df7efd7
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_conf.h
@@ -0,0 +1,639 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_CONF_H
+#define APP_CONF_H
+
+#include "hw.h"
+#include "hw_conf.h"
+#include "hw_if.h"
+#include "ble_bufsize.h"
+
+/******************************************************************************
+ * MESH Application Config
+ ******************************************************************************/
+
+/**< generic parameters ******************************************************/
+
+/**
+ * Define Tx Power
+ */
+#define CFG_TX_POWER (0x18) /* -0.15dBm */
+
+/**
+ * Define Advertising parameters
+ */
+#define CFG_ADV_BD_ADDRESS (0x7257acd87a6c)
+#define CFG_FAST_CONN_ADV_INTERVAL_MIN (0x80) /**< 80ms */
+#define CFG_FAST_CONN_ADV_INTERVAL_MAX (0xA0) /**< 100ms */
+#define CFG_LP_CONN_ADV_INTERVAL_MIN (0x640) /**< 1s */
+#define CFG_LP_CONN_ADV_INTERVAL_MAX (0xFA0) /**< 2.5s */
+
+/**
+ * Define IO Authentication
+ */
+#define CFG_BONDING_MODE (1)
+#define CFG_FIXED_PIN (111111)
+#define CFG_USED_FIXED_PIN (0)
+#define CFG_ENCRYPTION_KEY_SIZE_MAX (16)
+#define CFG_ENCRYPTION_KEY_SIZE_MIN (8)
+
+/**
+ * Define IO capabilities
+ */
+#define CFG_IO_CAPABILITY_DISPLAY_ONLY (0x00)
+#define CFG_IO_CAPABILITY_DISPLAY_YES_NO (0x01)
+#define CFG_IO_CAPABILITY_KEYBOARD_ONLY (0x02)
+#define CFG_IO_CAPABILITY_NO_INPUT_NO_OUTPUT (0x03)
+#define CFG_IO_CAPABILITY_KEYBOARD_DISPLAY (0x04)
+
+#define CFG_IO_CAPABILITY CFG_IO_CAPABILITY_DISPLAY_YES_NO
+
+/**
+ * Define MITM modes
+ */
+#define CFG_MITM_PROTECTION_NOT_REQUIRED (0x00)
+#define CFG_MITM_PROTECTION_REQUIRED (0x01)
+
+#define CFG_MITM_PROTECTION CFG_MITM_PROTECTION_REQUIRED
+
+/**
+ * Define Secure Connections Support
+ */
+#define CFG_SECURE_NOT_SUPPORTED (0x00)
+#define CFG_SECURE_OPTIONAL (0x01)
+#define CFG_SECURE_MANDATORY (0x02)
+
+#define CFG_SC_SUPPORT CFG_SECURE_OPTIONAL
+
+/**
+ * Define Keypress Notification Support
+ */
+#define CFG_KEYPRESS_NOT_SUPPORTED (0x00)
+#define CFG_KEYPRESS_SUPPORTED (0x01)
+
+#define CFG_KEYPRESS_NOTIFICATION_SUPPORT CFG_KEYPRESS_NOT_SUPPORTED
+
+/**
+ * Numeric Comparison Answers
+ */
+#define YES (0x01)
+#define NO (0x00)
+
+/**
+ * Device name configuration for Generic Access Service
+ */
+#define CFG_GAP_DEVICE_NAME "TEMPLATE"
+#define CFG_GAP_DEVICE_NAME_LENGTH (8)
+
+/**
+ * Define PHY
+ */
+#define ALL_PHYS_PREFERENCE 0x00
+#define RX_2M_PREFERRED 0x02
+#define TX_2M_PREFERRED 0x02
+#define TX_1M 0x01
+#define TX_2M 0x02
+#define RX_1M 0x01
+#define RX_2M 0x02
+
+/**
+* Identity root key used to derive LTK and CSRK
+*/
+#define CFG_BLE_IRK {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0}
+
+/**
+* Encryption root key used to derive LTK and CSRK
+*/
+#define CFG_BLE_ERK {0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21, 0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21}
+
+/**
+ * SMPS supply
+ * SMPS not used when Set to 0
+ * SMPS used when Set to 1
+ */
+#define CFG_USE_SMPS 0
+
+/* USER CODE BEGIN Generic_Parameters */
+
+/* USER CODE END Generic_Parameters */
+
+/**< specific parameters */
+/******************************************************************************
+ * BLE Stack
+ ******************************************************************************/
+/**
+ * Maximum number of simultaneous connections that the device will support.
+ * Valid values are from 1 to 8
+ */
+#define CFG_BLE_NUM_LINK 2
+
+/**
+ * Maximum number of Services that can be stored in the GATT database.
+ * Note that the GAP and GATT services are automatically added so this parameter should be 2 plus the number of user services
+ */
+#define CFG_BLE_NUM_GATT_SERVICES 4
+
+/**
+ * Maximum number of Attributes
+ * (i.e. the number of characteristic + the number of characteristic values + the number of descriptors, excluding the services)
+ * that can be stored in the GATT database.
+ * Note that certain characteristics and relative descriptors are added automatically during device initialization
+ * so this parameters should be 9 plus the number of user Attributes
+ */
+#define CFG_BLE_NUM_GATT_ATTRIBUTES 30
+
+/**
+ * Maximum supported ATT_MTU size
+ * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1"
+ */
+#define CFG_BLE_MAX_ATT_MTU (23/*156*/)
+
+/**
+ * Size of the storage area for Attribute values
+ * This value depends on the number of attributes used by application. In particular the sum of the following quantities (in octets) should be made for each attribute:
+ * - attribute value length
+ * - 5, if UUID is 16 bit; 19, if UUID is 128 bit
+ * - 2, if server configuration descriptor is used
+ * - 2*DTM_NUM_LINK, if client configuration descriptor is used
+ * - 2, if extended properties is used
+ * The total amount of memory needed is the sum of the above quantities for each attribute.
+ * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1"
+ */
+#define CFG_BLE_ATT_VALUE_ARRAY_SIZE (1290)
+
+/**
+ * Prepare Write List size in terms of number of packet
+ * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1"
+ */
+#define CFG_BLE_PREPARE_WRITE_LIST_SIZE BLE_PREP_WRITE_X_ATT(CFG_BLE_MAX_ATT_MTU)
+
+/**
+ * Number of allocated memory blocks
+ * This parameter is overwritten by the CPU2 with an hardcoded optimal value when the parameter when CFG_BLE_OPTIONS is set to 1
+ */
+#define CFG_BLE_MBLOCK_COUNT (BLE_MBLOCKS_CALC(CFG_BLE_PREPARE_WRITE_LIST_SIZE, CFG_BLE_MAX_ATT_MTU, CFG_BLE_NUM_LINK))
+
+/**
+ * Enable or disable the Extended Packet length feature. Valid values are 0 or 1.
+ */
+#define CFG_BLE_DATA_LENGTH_EXTENSION 1
+
+/**
+ * Sleep clock accuracy in Slave mode (ppm value)
+ */
+#define CFG_BLE_SLAVE_SCA 500
+
+/**
+ * Sleep clock accuracy in Master mode
+ * 0 : 251 ppm to 500 ppm
+ * 1 : 151 ppm to 250 ppm
+ * 2 : 101 ppm to 150 ppm
+ * 3 : 76 ppm to 100 ppm
+ * 4 : 51 ppm to 75 ppm
+ * 5 : 31 ppm to 50 ppm
+ * 6 : 21 ppm to 30 ppm
+ * 7 : 0 ppm to 20 ppm
+ */
+#define CFG_BLE_MASTER_SCA 0
+
+/**
+ * Source for the low speed clock for RF wake-up
+ * 1 : external high speed crystal HSE/32/32
+ * 0 : external low speed crystal ( no calibration )
+ */
+#define CFG_BLE_LSE_SOURCE 0
+
+/**
+ * Start up time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 us (~2.44 us)
+ */
+#define CFG_BLE_HSE_STARTUP_TIME 0x148
+
+/**
+ * Maximum duration of the connection event when the device is in Slave mode in units of 625/256 us (~2.44 us)
+ */
+#define CFG_BLE_MAX_CONN_EVENT_LENGTH (0xFFFFFFFF)
+
+/**
+ * Viterbi Mode
+ * 1 : enabled
+ * 0 : disabled
+ */
+#define CFG_BLE_VITERBI_MODE 1
+
+/**
+ * BLE stack Options flags to be configured with:
+ * - SHCI_C2_BLE_INIT_OPTIONS_LL_ONLY
+ * - SHCI_C2_BLE_INIT_OPTIONS_LL_HOST
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_SVC_CHANGE_DESC
+ * - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
+ * - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
+ * - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
+ * - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3 * which are used to set following configuration bits:
+ * (bit 0): 1: LL only
+ * 0: LL + host
+ * (bit 1): 1: no service change desc.
+ * 0: with service change desc.
+ * (bit 2): 1: device name Read-Only
+ * 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
+ * (bit 7): 1: LE Power Class 1
+ * 0: LE Power Class 2-3
+ * other bits: reserved (shall be set to 0)
+ */
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+
+#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
+
+#define CFG_BLE_MIN_TX_POWER (0)
+
+#define CFG_BLE_MAX_TX_POWER (0)
+
+
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+* which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
+/******************************************************************************
+ * Transport Layer
+ ******************************************************************************/
+/**
+ * Queue length of BLE Event
+ * This parameter defines the number of asynchronous events that can be stored in the HCI layer before
+ * being reported to the application. When a command is sent to the BLE core coprocessor, the HCI layer
+ * is waiting for the event with the Num_HCI_Command_Packets set to 1. The receive queue shall be large
+ * enough to store all asynchronous events received in between.
+ * When CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE is set to 27, this allow to store three 255 bytes long asynchronous events
+ * between the HCI command and its event.
+ * This parameter depends on the value given to CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE. When the queue size is to small,
+ * the system may hang if the queue is full with asynchronous events and the HCI layer is still waiting
+ * for a CC/CS event, In that case, the notification TL_BLE_HCI_ToNot() is called to indicate
+ * to the application a HCI command did not receive its command event within 30s (Default HCI Timeout).
+ */
+#define CFG_TLBLE_EVT_QUEUE_LENGTH 5
+/**
+ * This parameter should be set to fit most events received by the HCI layer. It defines the buffer size of each element
+ * allocated in the queue of received events and can be used to optimize the amount of RAM allocated by the Memory Manager.
+ * It should not exceed 255 which is the maximum HCI packet payload size (a greater value is a lost of memory as it will
+ * never be used)
+ * It shall be at least 4 to receive the command status event in one frame.
+ * The default value is set to 27 to allow receiving an event of MTU size in a single buffer. This value maybe reduced
+ * further depending on the application.
+ */
+#define CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE 255 /**< Set to 255 with the memory manager and the mailbox */
+
+#define TL_BLE_EVENT_FRAME_SIZE ( TL_EVT_HDR_SIZE + CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE )
+/******************************************************************************
+ * UART interfaces
+ ******************************************************************************/
+
+/**
+ * Select UART interfaces
+ */
+#define CFG_DEBUG_TRACE_UART hw_uart1
+#define CFG_CONSOLE_MENU hw_lpuart1
+
+/******************************************************************************
+ * USB interface
+ ******************************************************************************/
+
+/**
+ * Enable/Disable USB interface
+ */
+#define CFG_USB_INTERFACE_ENABLE 0
+
+/******************************************************************************
+ * IPCC interface
+ ******************************************************************************/
+
+/**
+ * The IPCC is dedicated to the communication between the CPU2 and the CPU1
+ * and shall not be modified by the application
+ * The two following definitions shall not be modified
+ */
+#define HAL_IPCC_TX_IRQHandler(...) HW_IPCC_Tx_Handler( )
+#define HAL_IPCC_RX_IRQHandler(...) HW_IPCC_Rx_Handler( )
+
+/******************************************************************************
+ * Low Power
+ ******************************************************************************/
+/**
+ * When set to 1, the low power mode is enable
+ * When set to 0, the device stays in RUN mode
+ */
+#define CFG_LPM_SUPPORTED 1
+
+ /**
+ * This shall be set to 1 when standby is supported while the wireless stack on CPU2 is running
+ * (i.e the CPU2 is allowed to enter standby between RF activity)
+ * Otherwise, it should be set to 0 for marginal code and test execution saving
+ * In this case the lowest power mode available will be Stop 1
+ * Note that keeping that setting to 1 when standby is not supported does not hurt
+ */
+#define CFG_LPM_STANDBY_SUPPORTED 0
+
+/******************************************************************************
+ * RTC interface
+ ******************************************************************************/
+#define HAL_RTCEx_WakeUpTimerIRQHandler(...) HW_TS_RTC_Wakeup_Handler( )
+
+/******************************************************************************
+ * Timer Server
+ ******************************************************************************/
+/**
+ * CFG_RTC_WUCKSEL_DIVIDER: This sets the RTCCLK divider to the wakeup timer.
+ * The lower is the value, the better is the power consumption and the accuracy of the timerserver
+ * The higher is the value, the finest is the granularity
+ *
+ * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to output
+ * clock as low as possible) but the output clock should be equal or higher frequency compare to the clock feeding
+ * the wakeup timer. A lower clock speed would impact the accuracy of the timer server.
+ *
+ * CFG_RTC_SYNCH_PRESCALER: This sets the synchronous prescaler of the RTC.
+ * When the 1Hz calendar clock is required, it shall be sets according to other settings
+ * When the 1Hz calendar clock is not needed, CFG_RTC_SYNCH_PRESCALER should be set to 0x7FFF (MAX VALUE)
+ *
+ * CFG_RTCCLK_DIVIDER_CONF:
+ * Shall be set to either 0,2,4,8,16
+ * When set to either 2,4,8,16, the 1Hhz calendar is supported
+ * When set to 0, the user sets its own configuration
+ *
+ * The following settings are computed with LSI as input to the RTC
+ */
+
+#define CFG_RTCCLK_DIVIDER_CONF 0
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 0)
+/**
+ * Custom configuration
+ * It does not support 1Hz calendar
+ * It divides the RTC CLK by 16
+ */
+
+#define CFG_RTCCLK_DIV (16)
+#define CFG_RTC_WUCKSEL_DIVIDER (0)
+#define CFG_RTC_ASYNCH_PRESCALER (0x0F)
+#define CFG_RTC_SYNCH_PRESCALER (0x7FFF)
+
+#else
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 2)
+/**
+ * It divides the RTC CLK by 2
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (3)
+#endif
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 4)
+/**
+ * It divides the RTC CLK by 4
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (2)
+#endif
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 8)
+/**
+ * It divides the RTC CLK by 8
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (1)
+#endif
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 16)
+/**
+ * It divides the RTC CLK by 16
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (0)
+#endif
+
+#define CFG_RTCCLK_DIV CFG_RTCCLK_DIVIDER_CONF
+#define CFG_RTC_ASYNCH_PRESCALER (CFG_RTCCLK_DIV - 1)
+#define CFG_RTC_SYNCH_PRESCALER (DIVR( LSE_VALUE, (CFG_RTC_ASYNCH_PRESCALER+1) ) - 1 )
+
+#endif
+
+/** tick timer values */
+#define CFG_TS_TICK_VAL DIVR( (CFG_RTCCLK_DIV * 1000000), LSE_VALUE )
+#define CFG_TS_TICK_VAL_PS DIVR( ((uint64_t)CFG_RTCCLK_DIV * 1e12), (uint64_t)LSE_VALUE )
+
+typedef enum
+{
+ CFG_TIM_PROC_ID_ISR,
+ /* USER CODE BEGIN CFG_TimProcID_t */
+
+ /* USER CODE END CFG_TimProcID_t */
+} CFG_TimProcID_t;
+
+/******************************************************************************
+ * Debug
+ ******************************************************************************/
+/**
+ * When set, this resets some hw resources to set the device in the same state than the power up
+ * The FW resets only register that may prevent the FW to run properly
+ *
+ * This shall be set to 0 in a final product
+ *
+ */
+#define CFG_HW_RESET_BY_FW 0
+
+/**
+ * keep debugger enabled while in any low power mode when set to 1
+ * should be set to 0 in production
+ */
+#define CFG_DEBUGGER_SUPPORTED 0
+
+/**
+ * When set to 1, the traces are enabled in the BLE services
+ */
+#define CFG_DEBUG_BLE_TRACE 0
+
+/**
+ * Enable or Disable traces in application
+ */
+#define CFG_DEBUG_APP_TRACE 0
+
+#if (CFG_DEBUG_APP_TRACE != 0)
+#define APP_DBG_MSG PRINT_MESG_DBG
+#else
+#define APP_DBG_MSG PRINT_NO_MESG
+#endif
+
+#if ( (CFG_DEBUG_BLE_TRACE != 0) || (CFG_DEBUG_APP_TRACE != 0) )
+#define CFG_DEBUG_TRACE 1
+#endif
+
+#if (CFG_DEBUG_TRACE != 0)
+#undef CFG_LPM_SUPPORTED
+#undef CFG_DEBUGGER_SUPPORTED
+#define CFG_LPM_SUPPORTED 0
+#define CFG_DEBUGGER_SUPPORTED 1
+#endif
+
+/**
+ * When CFG_DEBUG_TRACE_FULL is set to 1, the trace are output with the API name, the file name and the line number
+ * When CFG_DEBUG_TRACE_LIGHT is set to 1, only the debug message is output
+ *
+ * When both are set to 0, no trace are output
+ * When both are set to 1, CFG_DEBUG_TRACE_FULL is selected
+ */
+#define CFG_DEBUG_TRACE_LIGHT 0
+#define CFG_DEBUG_TRACE_FULL 0
+
+#if (( CFG_DEBUG_TRACE != 0 ) && ( CFG_DEBUG_TRACE_LIGHT == 0 ) && (CFG_DEBUG_TRACE_FULL == 0))
+#undef CFG_DEBUG_TRACE_FULL
+#undef CFG_DEBUG_TRACE_LIGHT
+#define CFG_DEBUG_TRACE_FULL 0
+#define CFG_DEBUG_TRACE_LIGHT 1
+#endif
+
+#if ( CFG_DEBUG_TRACE == 0 )
+#undef CFG_DEBUG_TRACE_FULL
+#undef CFG_DEBUG_TRACE_LIGHT
+#define CFG_DEBUG_TRACE_FULL 0
+#define CFG_DEBUG_TRACE_LIGHT 0
+#endif
+
+/**
+ * When not set, the traces is looping on sending the trace over UART
+ */
+#define DBG_TRACE_USE_CIRCULAR_QUEUE 1
+
+/**
+ * max buffer Size to queue data traces and max data trace allowed.
+ * Only Used if DBG_TRACE_USE_CIRCULAR_QUEUE is defined
+ */
+#define DBG_TRACE_MSG_QUEUE_SIZE 4096
+#define MAX_DBG_TRACE_MSG_SIZE 1024
+
+/* USER CODE BEGIN Defines */
+#define CFG_LED_SUPPORTED 1
+#define CFG_BUTTON_SUPPORTED 1
+
+#define PUSH_BUTTON_SW1_EXTI_IRQHandler EXTI0_IRQHandler
+#define PUSH_BUTTON_SW2_EXTI_IRQHandler EXTI4_IRQHandler
+#define PUSH_BUTTON_SW3_EXTI_IRQHandler EXTI9_5_IRQHandler
+
+#define PIRSensor_EXTI_IRQHandler EXTI1_IRQHandler
+#define POWEROFF_EXTI_IRQHandler EXTI15_10_IRQHandler
+/* USER CODE END Defines */
+
+/******************************************************************************
+ * Scheduler
+ ******************************************************************************/
+
+/**
+ * These are the lists of task id registered to the scheduler
+ * Each task id shall be in the range [0:31]
+ * This mechanism allows to implement a generic code in the API TL_BLE_HCI_StatusNot() to comply with
+ * the requirement that a HCI/ACI command shall never be sent if there is already one pending
+ */
+
+/**< Add in that list all tasks that may send a ACI/HCI command */
+typedef enum
+{
+ CFG_TASK_ADV_UPDATE_ID,
+ CFG_TASK_MESH_REQ_ID,
+ CFG_TASK_MESH_BEACON_REQ_ID,
+ CFG_TASK_MESH_UART_RX_REQ_ID,
+ CFG_TASK_APPLI_REQ_ID,
+ CFG_TASK_MESH_SW1_REQ_ID,
+ CFG_TASK_MESH_SW3_REQ_ID,
+ CFG_TASK_MESH_PIR_REQ_ID,
+ CFG_TASK_MESH_LPN_REQ_ID,
+ CFG_TASK_HCI_ASYNCH_EVT_ID,
+/* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
+
+/* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
+ CFG_LAST_TASK_ID_WITH_HCICMD, /**< Shall be LAST in the list */
+} CFG_Task_Id_With_HCI_Cmd_t;
+
+/**< Add in that list all tasks that never send a ACI/HCI command */
+typedef enum
+{
+ CFG_FIRST_TASK_ID_WITH_NO_HCICMD = CFG_LAST_TASK_ID_WITH_HCICMD - 1, /**< Shall be FIRST in the list */
+ CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID,
+
+/* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
+
+/* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
+
+ CFG_LAST_TASK_ID_WITHO_NO_HCICMD /**< Shall be LAST in the list */
+} CFG_Task_Id_With_NO_HCI_Cmd_t;
+#define CFG_TASK_NBR CFG_LAST_TASK_ID_WITHO_NO_HCICMD
+
+/**
+ * This is the list of priority required by the application
+ * Each Id shall be in the range 0..31
+ */
+typedef enum
+{
+ CFG_SCH_PRIO_0,
+ CFG_PRIO_NBR,
+} CFG_SCH_Prio_Id_t;
+
+/**
+ * This is a bit mapping over 32bits listing all events id supported in the application
+ */
+typedef enum
+{
+ CFG_IDLEEVT_HCI_CMD_EVT_RSP_ID,
+ CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID,
+} CFG_IdleEvt_Id_t;
+
+/******************************************************************************
+ * LOW POWER
+ ******************************************************************************/
+/**
+ * Supported requester to the MCU Low Power Manager - can be increased up to 32
+ * It list a bit mapping of all user of the Low Power Manager
+ */
+typedef enum
+{
+ CFG_LPM_APP,
+ CFG_LPM_APP_BLE,
+ /* USER CODE BEGIN CFG_LPM_Id_t */
+
+ /* USER CODE END CFG_LPM_Id_t */
+} CFG_LPM_Id_t;
+
+/******************************************************************************
+ * OTP manager
+ ******************************************************************************/
+#define CFG_OTP_BASE_ADDRESS OTP_AREA_BASE
+
+#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
+
+#endif /*APP_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_debug.h
new file mode 100644
index 000000000..9237f301f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_debug.h
@@ -0,0 +1,67 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APP_DEBUG_H
+#define __APP_DEBUG_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+ /* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported variables --------------------------------------------------------*/
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Exported macros ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions ---------------------------------------------*/
+ void APPD_Init( void );
+ void APPD_EnableCPU2( void );
+/* USER CODE BEGIN EF */
+
+/* USER CODE END EF */
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__APP_DEBUG_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_entry.h
new file mode 100644
index 000000000..4f47130d3
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/app_entry.h
@@ -0,0 +1,72 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_ENTRY_H
+#define APP_ENTRY_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+ /* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported variables --------------------------------------------------------*/
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Exported macros ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions ---------------------------------------------*/
+ void MX_APPE_Config( void );
+ void MX_APPE_Init( void );
+ void MX_APPE_Process( void );
+ void Init_Exti( void );
+ void Init_Smps( void );
+
+/* USER CODE BEGIN EF */
+ void APPE_Led_Init( void );
+ void APPE_Button_Init( void );
+/* USER CODE END EF */
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*APP_ENTRY_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_conf.h
new file mode 100644
index 000000000..9126af678
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_conf.h
@@ -0,0 +1,173 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef HW_CONF_H
+#define HW_CONF_H
+
+/******************************************************************************
+ * Semaphores
+ * THIS SHALL NO BE CHANGED AS THESE SEMAPHORES ARE USED AS WELL ON THE CM0+
+ *****************************************************************************/
+/**
+* Index of the semaphore used the prevent conflicts after standby sleep.
+* Each CPUs takes this semaphore at standby wakeup until conclicting elements are restored.
+*/
+#define CFG_HW_PWR_STANDBY_SEMID 10
+/**
+* The CPU2 may be configured to store the Thread persistent data either in internal NVM storage on CPU2 or in
+* SRAM2 buffer provided by the user application. This can be configured with the system command SHCI_C2_Config()
+* When the CPU2 is requested to store persistent data in SRAM2, it can write data in this buffer at any time when needed.
+* In order to read consistent data with the CPU1 from the SRAM2 buffer, the flow should be:
+* + CPU1 takes CFG_HW_THREAD_NVM_SRAM_SEMID semaphore
+* + CPU1 reads all persistent data from SRAM2 (most of the time, the goal is to write these data into an NVM managed by CPU1)
+* + CPU1 releases CFG_HW_THREAD_NVM_SRAM_SEMID semaphore
+* CFG_HW_THREAD_NVM_SRAM_SEMID semaphore makes sure CPU2 does not update the persistent data in SRAM2 at the same time CPU1 is reading them.
+* There is no timing constraint on how long this semaphore can be kept.
+*/
+#define CFG_HW_THREAD_NVM_SRAM_SEMID 9
+
+/**
+* The CPU2 may be configured to store the BLE persistent data either in internal NVM storage on CPU2 or in
+* SRAM2 buffer provided by the user application. This can be configured with the system command SHCI_C2_Config()
+* When the CPU2 is requested to store persistent data in SRAM2, it can write data in this buffer at any time when needed.
+* In order to read consistent data with the CPU1 from the SRAM2 buffer, the flow should be:
+* + CPU1 takes CFG_HW_BLE_NVM_SRAM_SEMID semaphore
+* + CPU1 reads all persistent data from SRAM2 (most of the time, the goal is to write these data into an NVM managed by CPU1)
+* + CPU1 releases CFG_HW_BLE_NVM_SRAM_SEMID semaphore
+* CFG_HW_BLE_NVM_SRAM_SEMID semaphore makes sure CPU2 does not update the persistent data in SRAM2 at the same time CPU1 is reading them.
+* There is no timing constraint on how long this semaphore can be kept.
+*/
+#define CFG_HW_BLE_NVM_SRAM_SEMID 8
+
+/**
+* Index of the semaphore used by CPU2 to prevent the CPU1 to either write or erase data in flash
+* The CPU1 shall not either write or erase in flash when this semaphore is taken by the CPU2
+* When the CPU1 needs to either write or erase in flash, it shall first get the semaphore and release it just
+* after writing a raw (64bits data) or erasing one sector.
+* Once the Semaphore has been released, there shall be at least 1us before it can be taken again. This is required
+* to give the opportunity to CPU2 to take it.
+* On v1.4.0 and older CPU2 wireless firmware, this semaphore is unused and CPU2 is using PES bit.
+* By default, CPU2 is using the PES bit to protect its timing. The CPU1 may request the CPU2 to use the semaphore
+* instead of the PES bit by sending the system command SHCI_C2_SetFlashActivityControl()
+*/
+#define CFG_HW_BLOCK_FLASH_REQ_BY_CPU2_SEMID 7
+
+/**
+* Index of the semaphore used by CPU1 to prevent the CPU2 to either write or erase data in flash
+* In order to protect its timing, the CPU1 may get this semaphore to prevent the CPU2 to either
+* write or erase in flash (as this will stall both CPUs)
+* The PES bit shall not be used as this may stall the CPU2 in some cases.
+*/
+#define CFG_HW_BLOCK_FLASH_REQ_BY_CPU1_SEMID 6
+
+/**
+* Index of the semaphore used to manage the CLK48 clock configuration
+* When the USB is required, this semaphore shall be taken before configuring te CLK48 for USB
+* and should be released after the application switch OFF the clock when the USB is not used anymore
+* When using the RNG, it is good enough to use CFG_HW_RNG_SEMID to control CLK48.
+* More details in AN5289
+*/
+#define CFG_HW_CLK48_CONFIG_SEMID 5
+
+/* Index of the semaphore used to manage the entry Stop Mode procedure */
+#define CFG_HW_ENTRY_STOP_MODE_SEMID 4
+
+/* Index of the semaphore used to access the RCC */
+#define CFG_HW_RCC_SEMID 3
+
+/* Index of the semaphore used to access the FLASH */
+#define CFG_HW_FLASH_SEMID 2
+
+/* Index of the semaphore used to access the PKA */
+#define CFG_HW_PKA_SEMID 1
+
+/* Index of the semaphore used to access the RNG */
+#define CFG_HW_RNG_SEMID 0
+
+/******************************************************************************
+ * HW TIMER SERVER
+ *****************************************************************************/
+/**
+ * The user may define the maximum number of virtual timers supported.
+ * It shall not exceed 255
+ */
+#define CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER 6
+
+/**
+ * The user may define the priority in the NVIC of the RTC_WKUP interrupt handler that is used to manage the
+ * wakeup timer.
+ * This setting is the preemptpriority part of the NVIC.
+ */
+#define CFG_HW_TS_NVIC_RTC_WAKEUP_IT_PREEMPTPRIO 3
+
+/**
+ * The user may define the priority in the NVIC of the RTC_WKUP interrupt handler that is used to manage the
+ * wakeup timer.
+ * This setting is the subpriority part of the NVIC. It does not exist on all processors. When it is not supported
+ * on the CPU, the setting is ignored
+ */
+#define CFG_HW_TS_NVIC_RTC_WAKEUP_IT_SUBPRIO 0
+
+/**
+ * Define a critical section in the Timer server
+ * The Timer server does not support the API to be nested
+ * The Application shall either:
+ * a) Ensure this will never happen
+ * b) Define the critical section
+ * The default implementations is masking all interrupts using the PRIMASK bit
+ * The TimerServer driver uses critical sections to avoid context corruption. This is achieved with the macro
+ * TIMER_ENTER_CRITICAL_SECTION and TIMER_EXIT_CRITICAL_SECTION. When CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION is set
+ * to 1, all STM32 interrupts are masked with the PRIMASK bit of the CortexM CPU. It is possible to use the BASEPRI
+ * register of the CortexM CPU to keep allowed some interrupts with high priority. In that case, the user shall
+ * re-implement TIMER_ENTER_CRITICAL_SECTION and TIMER_EXIT_CRITICAL_SECTION and shall make sure that no TimerServer
+ * API are called when the TIMER critical section is entered
+ */
+#define CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION 1
+
+/**
+ * This value shall reflect the maximum delay there could be in the application between the time the RTC interrupt
+ * is generated by the Hardware and the time when the RTC interrupt handler is called. This time is measured in
+ * number of RTCCLK ticks.
+ * A relaxed timing would be 10ms
+ * When the value is too short, the timerserver will not be able to count properly and all timeout may be random.
+ * When the value is too long, the device may wake up more often than the most optimal configuration. However, the
+ * impact on power consumption would be marginal (unless the value selected is extremely too long). It is strongly
+ * recommended to select a value large enough to make sure it is not too short to ensure reliability of the system
+ * as this will have marginal impact on low power mode
+ */
+#define CFG_HW_TS_RTC_HANDLER_MAX_DELAY ( 10 * (LSI_VALUE/1000) )
+
+ /**
+ * Interrupt ID in the NVIC of the RTC Wakeup interrupt handler
+ * It shall be type of IRQn_Type
+ */
+#define CFG_HW_TS_RTC_WAKEUP_HANDLER_ID RTC_WKUP_IRQn
+
+/******************************************************************************
+ * HW UART
+ *****************************************************************************/
+#define CFG_HW_LPUART1_ENABLED 0
+#define CFG_HW_LPUART1_DMA_TX_SUPPORTED 0
+
+#define CFG_HW_USART1_ENABLED 1
+#define CFG_HW_USART1_DMA_TX_SUPPORTED 1
+
+#endif /*HW_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_flash.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_flash.h
new file mode 100644
index 000000000..b463b92d6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_flash.h
@@ -0,0 +1,87 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_flash.h
+ * @author MCD Application Team
+ * @brief Header for hw_flash.c module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __HW_FLASH_H
+#define __HW_FLASH_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Write 64 bits double word in FLASH
+ *
+ * @param FLASH destination address
+ * @param 64 bits double word data
+ * @retval result
+ */
+MOBLE_RESULT HW_FLASH_Write(uint32_t address, uint64_t data);
+
+/**
+ * @brief Erase FLASH page
+ *
+ * @param address of FLASH page
+ * @param number of page
+ * @param interrupt not used
+ * @retval result
+ */
+MOBLE_RESULT HW_FLASH_Erase(uint32_t page, uint16_t n, int interrupt);
+
+#if 0
+/**
+ * @brief Get Option Byte IPCC buffer address
+ *
+ * @param None
+ * @retval Option Byte IPCC buffer address
+ */
+uint32_t HW_FLASH_OB_GetIPCCBufferAddr(void);
+
+/**
+ * @brief Get Option Byte SFSA
+ *
+ * @param None
+ * @retval Option Byte SFSA
+ */
+uint32_t HW_FLASH_OB_GetSFSA(void);
+
+/**
+ * @brief Get Option Byte SBSRA
+ *
+ * @param None
+ * @retval Option Byte SBSRA
+ */
+uint32_t HW_FLASH_OB_GetSBRSA(void);
+
+/**
+ * @brief Get Option Byte SNBRSA
+ *
+ * @param None
+ * @retval Option Byte SNBRSA
+ */
+uint32_t HW_FLASH_OB_GetSNBRSA(void);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__HW_FLASH_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_if.h
new file mode 100644
index 000000000..834c17171
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/hw_if.h
@@ -0,0 +1,247 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_if.h
+ * @author MCD Application Team
+ * @brief Hardware Interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef HW_IF_H
+#define HW_IF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx.h"
+#include "stm32wbxx_ll_exti.h"
+#include "stm32wbxx_ll_system.h"
+#include "stm32wbxx_ll_rcc.h"
+#include "stm32wbxx_ll_ipcc.h"
+#include "stm32wbxx_ll_bus.h"
+#include "stm32wbxx_ll_pwr.h"
+#include "stm32wbxx_ll_cortex.h"
+#include "stm32wbxx_ll_utils.h"
+#include "stm32wbxx_ll_hsem.h"
+#include "stm32wbxx_ll_gpio.h"
+#include "stm32wbxx_ll_rtc.h"
+
+#ifdef USE_STM32WBXX_USB_DONGLE
+#include "stm32wbxx_usb_dongle.h"
+#endif
+#ifdef USE_STM32WBXX_NUCLEO
+#include "nucleo_wb15cc.h"
+#endif
+#ifdef USE_X_NUCLEO_EPD
+#include "x_nucleo_epd.h"
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+ /******************************************************************************
+ * HW UART
+ ******************************************************************************/
+ typedef enum
+ {
+ hw_uart1,
+ hw_uart2,
+ hw_lpuart1,
+ } hw_uart_id_t;
+
+ typedef enum
+ {
+ hw_uart_ok,
+ hw_uart_error,
+ hw_uart_busy,
+ hw_uart_to,
+ } hw_status_t;
+
+ void HW_UART_Init(hw_uart_id_t hw_uart_id);
+ void HW_UART_Receive_IT(hw_uart_id_t hw_uart_id, uint8_t *pData, uint16_t Size, void (*Callback)(void));
+ void HW_UART_Transmit_IT(hw_uart_id_t hw_uart_id, uint8_t *pData, uint16_t Size, void (*Callback)(void));
+ hw_status_t HW_UART_Transmit(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, uint32_t timeout);
+ hw_status_t HW_UART_Transmit_DMA(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*Callback)(void));
+ void HW_UART_Interrupt_Handler(hw_uart_id_t hw_uart_id);
+ void HW_UART_DMA_Interrupt_Handler(hw_uart_id_t hw_uart_id);
+
+ /******************************************************************************
+ * HW TimerServer
+ ******************************************************************************/
+ /* Exported types ------------------------------------------------------------*/
+ /**
+ * This setting is used when standby mode is supported.
+ * hw_ts_InitMode_Limited should be used when the device restarts from Standby Mode. In that case, the Timer Server does
+ * not re-initialized its context. Only the Hardware register which content has been lost is reconfigured
+ * Otherwise, hw_ts_InitMode_Full should be requested (Start from Power ON) and everything is re-initialized.
+ */
+ typedef enum
+ {
+ hw_ts_InitMode_Full,
+ hw_ts_InitMode_Limited,
+ } HW_TS_InitMode_t;
+
+ /**
+ * When a Timer is created as a SingleShot timer, it is not automatically restarted when the timeout occurs. However,
+ * the timer is kept reserved in the list and could be restarted at anytime with HW_TS_Start()
+ *
+ * When a Timer is created as a Repeated timer, it is automatically restarted when the timeout occurs.
+ */
+ typedef enum
+ {
+ hw_ts_SingleShot,
+ hw_ts_Repeated
+ } HW_TS_Mode_t;
+
+ /**
+ * hw_ts_Successful is returned when a Timer has been successfully created with HW_TS_Create(). Otherwise, hw_ts_Failed
+ * is returned. When hw_ts_Failed is returned, that means there are not enough free slots in the list to create a
+ * Timer. In that case, CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER should be increased
+ */
+ typedef enum
+ {
+ hw_ts_Successful,
+ hw_ts_Failed,
+ }HW_TS_ReturnStatus_t;
+
+ typedef void (*HW_TS_pTimerCb_t)(void);
+
+ /**
+ * @brief Initialize the timer server
+ * This API shall be called by the application before any timer is requested to the timer server. It
+ * configures the RTC module to be connected to the LSI input clock.
+ *
+ * @param TimerInitMode: When the device restarts from Standby, it should request hw_ts_InitMode_Limited so that the
+ * Timer context is not re-initialized. Otherwise, hw_ts_InitMode_Full should be requested
+ * @param hrtc: RTC Handle
+ * @retval None
+ */
+ void HW_TS_Init(HW_TS_InitMode_t TimerInitMode, RTC_HandleTypeDef *hrtc);
+
+ /**
+ * @brief Interface to create a virtual timer
+ * The user shall call this API to create a timer. Once created, the timer is reserved to the module until it
+ * has been deleted. When creating a timer, the user shall specify the mode (single shot or repeated), the
+ * callback to be notified when the timer expires and a module ID to identify in the timer interrupt handler
+ * which module is concerned. In return, the user gets a timer ID to handle it.
+ *
+ * @param TimerProcessID: This is an identifier provided by the user and returned in the callback to allow
+ * identification of the requester
+ * @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
+ * @param TimerMode: Mode of the virtual timer (Single shot or repeated)
+ * @param pTimerCallBack: Callback when the virtual timer expires
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
+ */
+ HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
+
+ /**
+ * @brief Stop a virtual timer
+ * This API may be used to stop a running timer. A timer which is stopped is move to the pending state.
+ * A pending timer may be restarted at any time with a different timeout value but the mode cannot be changed.
+ * Nothing is done when it is called to stop a timer which has been already stopped
+ *
+ * @param TimerID: Id of the timer to stop
+ * @retval None
+ */
+ void HW_TS_Stop(uint8_t TimerID);
+
+ /**
+ * @brief Start a virtual timer
+ * This API shall be used to start a timer. The timeout value is specified and may be different each time.
+ * When the timer is in the single shot mode, it will move to the pending state when it expires. The user may
+ * restart it at any time with a different timeout value. When the timer is in the repeated mode, it always
+ * stay in the running state. When the timer expires, it will be restarted with the same timeout value.
+ * This API shall not be called on a running timer.
+ *
+ * @param TimerID: The ID Id of the timer to start
+ * @param timeout_ticks: Number of ticks of the virtual timer (Maximum value is (0xFFFFFFFF-0xFFFF = 0xFFFF0000)
+ * @retval None
+ */
+ void HW_TS_Start(uint8_t TimerID, uint32_t timeout_ticks);
+
+ /**
+ * @brief Delete a virtual timer from the list
+ * This API should be used when a timer is not needed anymore by the user. A deleted timer is removed from
+ * the timer list managed by the timer server. It cannot be restarted again. The user has to go with the
+ * creation of a new timer if required and may get a different timer id
+ *
+ * @param TimerID: The ID of the timer to remove from the list
+ * @retval None
+ */
+ void HW_TS_Delete(uint8_t TimerID);
+
+ /**
+ * @brief Schedule the timer list on the timer interrupt handler
+ * This interrupt handler shall be called by the application in the RTC interrupt handler. This handler takes
+ * care of clearing all status flag required in the RTC and EXTI peripherals
+ *
+ * @param None
+ * @retval None
+ */
+ void HW_TS_RTC_Wakeup_Handler(void);
+
+ /**
+ * @brief Return the number of ticks to count before the interrupt
+ * This API returns the number of ticks left to be counted before an interrupt is generated by the
+ * Timer Server. This API may be used by the application for power management optimization. When the system
+ * enters low power mode, the mode selection is a tradeoff between the wakeup time where the CPU is running
+ * and the time while the CPU will be kept in low power mode before next wakeup. The deeper is the
+ * low power mode used, the longer is the wakeup time. The low power mode management considering wakeup time
+ * versus time in low power mode is implementation specific
+ * When the timer is disabled (No timer in the list), it returns 0xFFFF
+ *
+ * @param None
+ * @retval The number of ticks left to count
+ */
+ uint16_t HW_TS_RTC_ReadLeftTicksToCount(void);
+
+ /**
+ * @brief Notify the application that a registered timer has expired
+ * This API shall be implemented by the user application.
+ * This API notifies the application that a timer expires. This API is running in the RTC Wakeup interrupt
+ * context. The application may implement an Operating System to change the context priority where the timer
+ * callback may be handled. This API provides the module ID to identify which module is concerned and to allow
+ * sending the information to the correct task
+ *
+ * @param TimerProcessID: The TimerProcessId associated with the timer when it has been created
+ * @param TimerID: The TimerID of the expired timer
+ * @param pTimerCallBack: The Callback associated with the timer when it has been created
+ * @retval None
+ */
+ void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS_pTimerCb_t pTimerCallBack);
+
+ /**
+ * @brief Notify the application that the wakeupcounter has been updated
+ * This API should be implemented by the user application
+ * This API notifies the application that the counter has been updated. This is expected to be used along
+ * with the HW_TS_RTC_ReadLeftTicksToCount () API. It could be that the counter has been updated since the
+ * last call of HW_TS_RTC_ReadLeftTicksToCount () and before entering low power mode. This notification
+ * provides a way to the application to solve that race condition to reevaluate the counter value before
+ * entering low power mode
+ *
+ * @param None
+ * @retval None
+ */
+ void HW_TS_RTC_CountUpdated_AppNot(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*HW_IF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/lp_timer.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/lp_timer.h
new file mode 100644
index 000000000..5dbf9a570
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/lp_timer.h
@@ -0,0 +1,60 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file lp_timer.h
+ * @author MCD Application Team
+ * @brief Header for lp_timer.c module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __LP_TIMER_H
+#define __LP_TIMER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+ /**
+ * @brief Initialize the low power timer
+ *
+ * @param None
+ * @retval None
+ */
+ void LpTimerInit(void);
+
+ /**
+ * @brief Request to start a low power timer ( running is stop mode )
+ *
+ * @param time_to_sleep : in ms
+ * @retval None
+ */
+ void LpTimerStart(uint32_t time_to_sleep);
+
+ /**
+ * @brief Read how long the timer has run
+ *
+ * @param None
+ * @retval The time elapsed in ms
+ */
+ uint32_t LpGetElapsedTime(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__LP_TIMER_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/main.h
new file mode 100644
index 000000000..7af156239
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/main.h
@@ -0,0 +1,75 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx_hal.h"
+#include "app_conf.h"
+#include "app_entry.h"
+#include "app_common.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+void MX_GPIO_Init(void);
+void MX_IPCC_Init(void);
+void MX_RF_Init(void);
+void MX_RTC_Init(void);
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/nucleo_wb15cc_conf.h
new file mode 100644
index 000000000..0593858cc
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/nucleo_wb15cc_conf.h
@@ -0,0 +1,74 @@
+/**
+ ******************************************************************************
+ * @file nucleo_wb15cc_conf.h
+ * @author MCD Application Team
+ * @brief NUCLEO-WB15CC board configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef NUCLEO_WB15CC_CONF_H
+#define NUCLEO_WB15CC_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx_hal.h"
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup NUCLEO_WB15CC
+ * @{
+ */
+
+/** @defgroup NUCLEO_WB15CC_CONFIG CONFIG
+ * @{
+ */
+
+/** @defgroup NUCLEO_WB15CC_CONFIG_Exported_Constants Exported Constants
+ * @{
+ */
+/* COM usage define */
+#define USE_BSP_COM_FEATURE 0U
+
+/* COM log define */
+#define USE_COM_LOG 0U
+
+/* IRQ priorities */
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NUCLEO_WB15CC_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32_lpm_if.h
new file mode 100644
index 000000000..45c31caa5
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32_lpm_if.h
@@ -0,0 +1,79 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32_LPM_IF_H
+#define __STM32_LPM_IF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/**
+ * @brief Enters Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_EnterOffMode( void );
+/**
+ * @brief Exits Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_ExitOffMode( void );
+
+/**
+ * @brief Enters Low Power Stop Mode
+ * @note ARM exists the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterStopMode( void );
+/**
+ * @brief Exits Low Power Stop Mode
+ * @note Enable the pll at 32MHz
+ * @param none
+ * @retval none
+ */
+void PWR_ExitStopMode( void );
+
+/**
+ * @brief Enters Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterSleepMode( void );
+
+/**
+ * @brief Exits Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_ExitSleepMode( void );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__STM32_LPM_IF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_hal_conf.h
new file mode 100644
index 000000000..eb093e5e7
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_hal_conf.h
@@ -0,0 +1,352 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_hal_conf.h
+ * @author MCD Application Team
+ * @brief HAL configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32WBxx_HAL_CONF_H
+#define __STM32WBxx_HAL_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+
+/* ########################## Module Selection ############################## */
+/**
+ * @brief This is the list of modules to be used in the HAL driver
+ */
+#define HAL_MODULE_ENABLED
+/* #define HAL_ADC_MODULE_ENABLED */
+#define HAL_CRYP_MODULE_ENABLED
+#define HAL_COMP_MODULE_ENABLED
+#define HAL_CRC_MODULE_ENABLED
+#define HAL_HSEM_MODULE_ENABLED
+/*#define HAL_I2C_MODULE_ENABLED*/
+#define HAL_IPCC_MODULE_ENABLED
+/*#define HAL_IRDA_MODULE_ENABLED*/
+/*#define HAL_IWDG_MODULE_ENABLED*/
+/*#define HAL_LCD_MODULE_ENABLED*/
+/*#define HAL_LPTIM_MODULE_ENABLED*/
+/*#define HAL_PCD_MODULE_ENABLED*/
+#define HAL_PKA_MODULE_ENABLED
+/*#define HAL_QSPI_MODULE_ENABLED*/
+#define HAL_RNG_MODULE_ENABLED
+#define HAL_RTC_MODULE_ENABLED
+/*#define HAL_SAI_MODULE_ENABLED*/
+/*#define HAL_SMBUS_MODULE_ENABLED*/
+/*#define HAL_SMARTCARD_MODULE_ENABLED*/
+/* #define HAL_SPI_MODULE_ENABLED */
+#define HAL_TIM_MODULE_ENABLED
+/*#define HAL_TSC_MODULE_ENABLED*/
+#define HAL_UART_MODULE_ENABLED
+#define HAL_USART_MODULE_ENABLED
+/*#define HAL_WWDG_MODULE_ENABLED*/
+#define HAL_EXTI_MODULE_ENABLED
+#define HAL_CORTEX_MODULE_ENABLED
+#define HAL_DMA_MODULE_ENABLED
+#define HAL_FLASH_MODULE_ENABLED
+#define HAL_GPIO_MODULE_ENABLED
+#define HAL_PWR_MODULE_ENABLED
+#define HAL_RCC_MODULE_ENABLED
+
+#define USE_HAL_ADC_REGISTER_CALLBACKS 0u
+#define USE_HAL_COMP_REGISTER_CALLBACKS 0u
+#define USE_HAL_CRYP_REGISTER_CALLBACKS 0u
+#define USE_HAL_I2C_REGISTER_CALLBACKS 0u
+#define USE_HAL_IRDA_REGISTER_CALLBACKS 0u
+#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0u
+#define USE_HAL_PCD_REGISTER_CALLBACKS 0u
+#define USE_HAL_PKA_REGISTER_CALLBACKS 0u
+#define USE_HAL_QSPI_REGISTER_CALLBACKS 0u
+#define USE_HAL_RNG_REGISTER_CALLBACKS 0u
+#define USE_HAL_RTC_REGISTER_CALLBACKS 0u
+#define USE_HAL_SAI_REGISTER_CALLBACKS 0u
+#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0u
+#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0u
+#define USE_HAL_SPI_REGISTER_CALLBACKS 0u
+#define USE_HAL_TIM_REGISTER_CALLBACKS 0u
+#define USE_HAL_TSC_REGISTER_CALLBACKS 0u
+#define USE_HAL_UART_REGISTER_CALLBACKS 0u
+#define USE_HAL_USART_REGISTER_CALLBACKS 0u
+#define USE_HAL_WWDG_REGISTER_CALLBACKS 0u
+
+/* ########################## Oscillator Values adaptation ####################*/
+/**
+ * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSE is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSE_VALUE)
+#define HSE_VALUE 32000000U /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (HSE_STARTUP_TIMEOUT)
+ #define HSE_STARTUP_TIMEOUT ((uint32_t)100) /*!< Time out for HSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief Internal Multiple Speed oscillator (MSI) default value.
+ * This value is the default MSI range value after Reset.
+ */
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+/**
+ * @brief Internal High Speed oscillator (HSI) value.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSI is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSI_VALUE)
+#define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @brief Internal Low Speed oscillator (LSI1) value.
+ */
+#if !defined (LSI1_VALUE)
+ #define LSI1_VALUE ((uint32_t)32000) /*!< LSI1 Typical Value in Hz*/
+#endif /* LSI1_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+/**
+ * @brief Internal Low Speed oscillator (LSI2) value.
+ */
+#if !defined (LSI2_VALUE)
+ #define LSI2_VALUE ((uint32_t)32000) /*!< LSI2 Typical Value in Hz*/
+#endif /* LSI2_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+
+/**
+ * @brief External Low Speed oscillator (LSE) value.
+ * This value is used by the UART, RTC HAL module to compute the system frequency
+ */
+#if !defined (LSE_VALUE)
+#define LSE_VALUE 32768U /*!< Value of the External oscillator in Hz*/
+#endif /* LSE_VALUE */
+
+/**
+ * @brief Internal Multiple Speed oscillator (HSI48) default value.
+ * This value is the default HSI48 range value after Reset.
+ */
+#if !defined (HSI48_VALUE)
+ #define HSI48_VALUE ((uint32_t)48000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI48_VALUE */
+
+#if !defined (LSE_STARTUP_TIMEOUT)
+#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief External clock source for SAI1 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI1_CLOCK_VALUE)
+ #define EXTERNAL_SAI1_CLOCK_VALUE ((uint32_t)48000) /*!< Value of the SAI1 External clock source in Hz*/
+#endif /* EXTERNAL_SAI1_CLOCK_VALUE */
+
+/* Tip: To avoid modifying this file each time you need to use different HSE,
+ === you can define the HSE value in your toolchain compiler preprocessor. */
+
+/* ########################### System Configuration ######################### */
+/**
+ * @brief This is the HAL system configuration section
+ */
+
+#define VDD_VALUE 3300U /*!< Value of VDD in mv */
+#define TICK_INT_PRIORITY 0U /*!< tick interrupt priority */
+#define USE_RTOS 0U
+#define PREFETCH_ENABLE 1U
+#define INSTRUCTION_CACHE_ENABLE 1U
+#define DATA_CACHE_ENABLE 1U
+
+/* ########################## Assert Selection ############################## */
+/**
+ * @brief Uncomment the line below to expanse the "assert_param" macro in the
+ * HAL drivers code
+ */
+/* #define USE_FULL_ASSERT 1U */
+
+/* ################## SPI peripheral configuration ########################## */
+
+/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
+ * Activated: CRC code is present inside driver
+ * Deactivated: CRC code cleaned from driver
+ */
+
+#define USE_SPI_CRC 0U
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Include module's header file
+ */
+#ifdef HAL_DMA_MODULE_ENABLED
+ #include "stm32wbxx_hal_dma.h"
+#endif /* HAL_DMA_MODULE_ENABLED */
+
+#ifdef HAL_ADC_MODULE_ENABLED
+ #include "stm32wbxx_hal_adc.h"
+#endif /* HAL_ADC_MODULE_ENABLED */
+
+#ifdef HAL_COMP_MODULE_ENABLED
+ #include "stm32wbxx_hal_comp.h"
+#endif /* HAL_COMP_MODULE_ENABLED */
+
+#ifdef HAL_CORTEX_MODULE_ENABLED
+ #include "stm32wbxx_hal_cortex.h"
+#endif /* HAL_CORTEX_MODULE_ENABLED */
+
+#ifdef HAL_CRC_MODULE_ENABLED
+ #include "stm32wbxx_hal_crc.h"
+#endif /* HAL_CRC_MODULE_ENABLED */
+
+#ifdef HAL_CRYP_MODULE_ENABLED
+ #include "stm32wbxx_hal_cryp.h"
+#endif /* HAL_CRYP_MODULE_ENABLED */
+
+#ifdef HAL_EXTI_MODULE_ENABLED
+ #include "stm32wbxx_hal_exti.h"
+#endif /* HAL_EXTI_MODULE_ENABLED */
+
+#ifdef HAL_FLASH_MODULE_ENABLED
+ #include "stm32wbxx_hal_flash.h"
+#endif /* HAL_FLASH_MODULE_ENABLED */
+
+#ifdef HAL_GPIO_MODULE_ENABLED
+ #include "stm32wbxx_hal_gpio.h"
+#endif /* HAL_GPIO_MODULE_ENABLED */
+
+#ifdef HAL_HSEM_MODULE_ENABLED
+ #include "stm32wbxx_hal_hsem.h"
+#endif /* HAL_HSEM_MODULE_ENABLED */
+
+#ifdef HAL_I2C_MODULE_ENABLED
+ #include "stm32wbxx_hal_i2c.h"
+#endif /* HAL_I2C_MODULE_ENABLED */
+
+#ifdef HAL_IPCC_MODULE_ENABLED
+ #include "stm32wbxx_hal_ipcc.h"
+#endif /* HAL_IPCC_MODULE_ENABLED */
+
+#ifdef HAL_IRDA_MODULE_ENABLED
+ #include "stm32wbxx_hal_irda.h"
+#endif /* HAL_IRDA_MODULE_ENABLED */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+ #include "stm32wbxx_hal_iwdg.h"
+#endif /* HAL_IWDG_MODULE_ENABLED */
+
+#ifdef HAL_LCD_MODULE_ENABLED
+ #include "stm32wbxx_hal_lcd.h"
+#endif /* HAL_LCD_MODULE_ENABLED */
+
+#ifdef HAL_LPTIM_MODULE_ENABLED
+ #include "stm32wbxx_hal_lptim.h"
+#endif /* HAL_LPTIM_MODULE_ENABLED */
+
+#ifdef HAL_PCD_MODULE_ENABLED
+ #include "stm32wbxx_hal_pcd.h"
+#endif /* HAL_PCD_MODULE_ENABLED */
+
+#ifdef HAL_PKA_MODULE_ENABLED
+ #include "stm32wbxx_hal_pka.h"
+#endif /* HAL_PKA_MODULE_ENABLED */
+
+#ifdef HAL_PWR_MODULE_ENABLED
+ #include "stm32wbxx_hal_pwr.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_QSPI_MODULE_ENABLED
+ #include "stm32wbxx_hal_qspi.h"
+#endif /* HAL_QSPI_MODULE_ENABLED */
+
+#ifdef HAL_RCC_MODULE_ENABLED
+ #include "stm32wbxx_hal_rcc.h"
+#endif /* HAL_RCC_MODULE_ENABLED */
+
+#ifdef HAL_RNG_MODULE_ENABLED
+ #include "stm32wbxx_hal_rng.h"
+#endif /* HAL_RNG_MODULE_ENABLED */
+
+#ifdef HAL_RTC_MODULE_ENABLED
+ #include "stm32wbxx_hal_rtc.h"
+#endif /* HAL_RTC_MODULE_ENABLED */
+
+#ifdef HAL_SAI_MODULE_ENABLED
+ #include "stm32wbxx_hal_sai.h"
+#endif /* HAL_SAI_MODULE_ENABLED */
+
+#ifdef HAL_SMARTCARD_MODULE_ENABLED
+ #include "stm32wbxx_hal_smartcard.h"
+#endif /* HAL_SMARTCARD_MODULE_ENABLED */
+
+#ifdef HAL_SMBUS_MODULE_ENABLED
+ #include "stm32wbxx_hal_smbus.h"
+#endif /* HAL_SMBUS_MODULE_ENABLED */
+
+#ifdef HAL_SPI_MODULE_ENABLED
+ #include "stm32wbxx_hal_spi.h"
+#endif /* HAL_SPI_MODULE_ENABLED */
+
+#ifdef HAL_TIM_MODULE_ENABLED
+ #include "stm32wbxx_hal_tim.h"
+#endif /* HAL_TIM_MODULE_ENABLED */
+
+#ifdef HAL_TSC_MODULE_ENABLED
+ #include "stm32wbxx_hal_tsc.h"
+#endif /* HAL_TSC_MODULE_ENABLED */
+
+#ifdef HAL_UART_MODULE_ENABLED
+ #include "stm32wbxx_hal_uart.h"
+#endif /* HAL_UART_MODULE_ENABLED */
+
+#ifdef HAL_USART_MODULE_ENABLED
+ #include "stm32wbxx_hal_usart.h"
+#endif /* HAL_USART_MODULE_ENABLED */
+
+#ifdef HAL_WWDG_MODULE_ENABLED
+ #include "stm32wbxx_hal_wwdg.h"
+#endif /* HAL_WWDG_MODULE_ENABLED */
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval None
+ */
+ #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+ void assert_failed(uint8_t* file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32WBxx_HAL_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_it.h
new file mode 100644
index 000000000..81d22b49b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_it.h
@@ -0,0 +1,83 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32WBxx_IT_H
+#define __STM32WBxx_IT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void RTC_WKUP_IRQHandler(void);
+void IPCC_C1_RX_IRQHandler(void);
+void IPCC_C1_TX_IRQHandler(void);
+void HSEM_IRQHandler(void);
+/* USER CODE BEGIN EFP */
+void RTC_WKUP_IRQHandler(void);
+void PUSH_BUTTON_SW1_EXTI_IRQHandler(void);
+void PUSH_BUTTON_SW2_EXTI_IRQHandler(void);
+void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
+void USART1_IRQHandler(void);
+void CFG_HW_USART1_DMA_TX_IRQHandler( void );
+void LPUART1_IRQHandler(void);
+void CFG_HW_LPUART1_DMA_TX_IRQHandler( void );
+
+void POWEROFF_EXTI_IRQHandler(void);
+void PIRSensor_EXTI_IRQHandler(void);
+
+void TIM2_IRQHandler(void);
+void TIM1_CC_IRQHandler(void);
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32WBxx_IT_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/utilities_conf.h
new file mode 100644
index 000000000..66b51180a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/utilities_conf.h
@@ -0,0 +1,65 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef UTILITIES_CONF_H
+#define UTILITIES_CONF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "cmsis_compiler.h"
+#include "string.h"
+
+/******************************************************************************
+ * common
+ ******************************************************************************/
+#define UTILS_ENTER_CRITICAL_SECTION( ) uint32_t primask_bit = __get_PRIMASK( );\
+ __disable_irq( )
+
+#define UTILS_EXIT_CRITICAL_SECTION( ) __set_PRIMASK( primask_bit )
+
+#define UTILS_MEMSET8( dest, value, size ) memset( dest, value, size);
+
+/******************************************************************************
+ * tiny low power manager
+ * (any macro that does not need to be modified can be removed)
+ ******************************************************************************/
+#define UTIL_LPM_INIT_CRITICAL_SECTION( )
+#define UTIL_LPM_ENTER_CRITICAL_SECTION( ) UTILS_ENTER_CRITICAL_SECTION( )
+#define UTIL_LPM_EXIT_CRITICAL_SECTION( ) UTILS_EXIT_CRITICAL_SECTION( )
+
+/******************************************************************************
+ * sequencer
+ * (any macro that does not need to be modified can be removed)
+ ******************************************************************************/
+#define UTIL_SEQ_INIT_CRITICAL_SECTION( )
+#define UTIL_SEQ_ENTER_CRITICAL_SECTION( ) UTILS_ENTER_CRITICAL_SECTION( )
+#define UTIL_SEQ_EXIT_CRITICAL_SECTION( ) UTILS_EXIT_CRITICAL_SECTION( )
+#define UTIL_SEQ_CONF_TASK_NBR (32)
+#define UTIL_SEQ_CONF_PRIO_NBR (2)
+#define UTIL_SEQ_MEMSET8( dest, value, size ) UTILS_MEMSET8( dest, value, size )
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*UTILITIES_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/vcp_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/vcp_conf.h
new file mode 100644
index 000000000..87adc0aea
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Inc/vcp_conf.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file vcp_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of the vcp interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __VCP_CONF_H
+#define __VCP_CONF_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+#define VCP_BAUD_RATE (115200)
+#define VCP_TX_PATH_INTERFACE_READY_SETUP_TIME (20*1000*1000/CFG_TS_TICK_VAL) /** 20s */
+#define VCP_TASK_ID (CFG_TASK_VCP_SEND_DATA_ID)
+#define VCP_TASK_PRIO (CFG_SEQ_PRIO_1)
+
+#ifdef VCP_TX_PATH_INTERFACE_READY_SETUP_TIME
+#define VCP_TIMER_PROC_ID (CFG_TIM_PROC_ID_ISR)
+#endif
+
+/* External variables --------------------------------------------------------*/
+/* Exported macros -----------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__VCP_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_debug.c
new file mode 100644
index 000000000..c3bd73aa5
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_debug.c
@@ -0,0 +1,423 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "app_common.h"
+
+#include "app_debug.h"
+#include "utilities_common.h"
+#include "shci.h"
+#include "tl.h"
+#include "dbg_trace.h"
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+typedef PACKED_STRUCT
+{
+ GPIO_TypeDef* port;
+ uint16_t pin;
+ uint8_t enable;
+ uint8_t reserved;
+} APPD_GpioConfig_t;
+/* USER CODE END PTD */
+
+/* Private defines -----------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+#define GPIO_NBR_OF_RF_SIGNALS 9
+#define GPIO_CFG_NBR_OF_FEATURES 38
+#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
+#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
+
+/**
+ * THIS SHALL BE SET TO A VALUE DIFFERENT FROM 0 ONLY ON REQUEST FROM ST SUPPORT
+ */
+#define BLE_DTB_CFG 0
+
+/**
+ * System Debug Options flags to be configured with:
+ * - SHCI_C2_DEBUG_OPTIONS_IPCORE_LP
+ * - SHCI_C2_DEBUG_OPTIONS_IPCORE_NO_LP
+ * - SHCI_C2_DEBUG_OPTIONS_CPU2_STOP_EN
+ * - SHCI_C2_DEBUG_OPTIONS_CPU2_STOP_DIS
+ * which are used to set following configuration bits:
+ * - bit 0: 0: IP BLE core in LP mode 1: IP BLE core in run mode (no LP supported)
+ * - bit 1: 0: CPU2 STOP mode Enable 1: CPU2 STOP mode Disable
+ * - bit [2-7]: bits reserved ( shall be set to 0)
+ */
+#define SYS_DBG_CFG1 (SHCI_C2_DEBUG_OPTIONS_IPCORE_LP | SHCI_C2_DEBUG_OPTIONS_CPU2_STOP_EN)
+/* USER CODE END PD */
+
+/* Private macros ------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_TracesConfig_t APPD_TracesConfig={0, 0, 0, 0};
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_GeneralConfig_t APPD_GeneralConfig={BLE_DTB_CFG, SYS_DBG_CFG1, {0, 0}};
+
+#ifdef CFG_DEBUG_TRACE_UART
+#if(CFG_HW_LPUART1_ENABLED == 1)
+extern void MX_LPUART1_UART_Init(void);
+#endif
+#if(CFG_HW_USART1_ENABLED == 1)
+extern void MX_USART1_UART_Init(void);
+#endif
+#endif
+
+/**
+ * THE DEBUG ON GPIO FOR CPU2 IS INTENDED TO BE USED ONLY ON REQUEST FROM ST SUPPORT
+ * It provides timing information on the CPU2 activity.
+ * All configuration of (port, pin) is supported for each features and can be selected by the user
+ * depending on the availability
+ */
+static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
+{
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ISR - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_STACK_TICK - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_CMD_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ACL_DATA_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* SYS_CMD_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* RNG_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVM_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_GENERAL - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_EVT_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_ACL_DATA_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_SYS_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_SYS_EVT_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_CLI_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_OT_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_OT_ACK_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_CLI_ACK_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_MEM_MANAGER_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_TRACES_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* HARD_FAULT - Set on Entry / Reset on Exit */
+/* From v1.1.1 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IP_CORE_LP_STATUS - Set on Entry / Reset on Exit */
+/* From v1.2.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* END_OF_CONNECTION_EVENT - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* TIMER_SERVER_CALLBACK - Toggle on Entry */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* PES_ACTIVITY - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* MB_BLE_SEND_EVT - Set on Entry / Reset on Exit */
+/* From v1.3.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_NO_DELAY - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_STACK_STORE_NVM_CB - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_WRITE_ONGOING - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_WRITE_COMPLETE - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_CLEANUP - Set on Entry / Reset on Exit */
+/* From v1.4.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
+};
+
+/**
+ * THE DEBUG ON GPIO FOR CPU2 IS INTENDED TO BE USED ONLY ON REQUEST FROM ST SUPPORT
+ * This table is relevant only for BLE
+ * It provides timing information on BLE RF activity.
+ * New signals may be allocated at any location when requested by ST
+ * The GPIO allocated to each signal depend on the BLE_DTB_CFG value and cannot be changed
+ */
+#if( BLE_DTB_CFG == 7)
+static const APPD_GpioConfig_t aRfConfigList[GPIO_NBR_OF_RF_SIGNALS] =
+{
+ { GPIOB, LL_GPIO_PIN_2, 0, 0}, /* DTB10 - Tx/Rx SPI */
+ { GPIOB, LL_GPIO_PIN_7, 0, 0}, /* DTB11 - Tx/Tx SPI Clk */
+ { GPIOA, LL_GPIO_PIN_8, 0, 0}, /* DTB12 - Tx/Rx Ready & SPI Select */
+ { GPIOA, LL_GPIO_PIN_9, 0, 0}, /* DTB13 - Tx/Rx Start */
+ { GPIOA, LL_GPIO_PIN_10, 0, 0}, /* DTB14 - FSM0 */
+ { GPIOA, LL_GPIO_PIN_11, 0, 0}, /* DTB15 - FSM1 */
+ { GPIOB, LL_GPIO_PIN_8, 0, 0}, /* DTB16 - FSM2 */
+#if (STM32WB55xx != 0)
+ { GPIOB, LL_GPIO_PIN_11, 0, 0}, /* DTB17 - FSM3 */
+ { GPIOB, LL_GPIO_PIN_10, 0, 0}, /* DTB18 - FSM4 */
+#else
+ { GPIOA, LL_GPIO_PIN_13, 0, 0}, /* DTB17 - FSM3 */
+ { GPIOA, LL_GPIO_PIN_14, 0, 0}, /* DTB18 - FSM4 */
+#endif
+};
+#endif
+/* USER CODE END PV */
+
+/* Global variables ----------------------------------------------------------*/
+/* USER CODE BEGIN GV */
+/* USER CODE END GV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+static void APPD_SetCPU2GpioConfig( void );
+static void APPD_BleDtbCfg( void );
+/* USER CODE END PFP */
+
+/* Functions Definition ------------------------------------------------------*/
+void APPD_Init( void )
+{
+/* USER CODE BEGIN APPD_Init */
+#if (CFG_DEBUGGER_SUPPORTED == 1)
+ /**
+ * Keep debugger enabled while in any low power mode
+ */
+ HAL_DBGMCU_EnableDBGSleepMode();
+ HAL_DBGMCU_EnableDBGStopMode();
+
+ /***************** ENABLE DEBUGGER *************************************/
+ LL_EXTI_EnableIT_32_63(LL_EXTI_LINE_48);
+
+#else
+ GPIO_InitTypeDef gpio_config = {0};
+
+ gpio_config.Pull = GPIO_NOPULL;
+ gpio_config.Mode = GPIO_MODE_ANALOG;
+
+ gpio_config.Pin = GPIO_PIN_15 | GPIO_PIN_14 | GPIO_PIN_13;
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOA, &gpio_config);
+ __HAL_RCC_GPIOA_CLK_DISABLE();
+
+ gpio_config.Pin = GPIO_PIN_4 | GPIO_PIN_3;
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOB, &gpio_config);
+ __HAL_RCC_GPIOB_CLK_DISABLE();
+
+ HAL_DBGMCU_DisableDBGSleepMode();
+ HAL_DBGMCU_DisableDBGStopMode();
+ HAL_DBGMCU_DisableDBGStandbyMode();
+
+#endif /* (CFG_DEBUGGER_SUPPORTED == 1) */
+
+#if(CFG_DEBUG_TRACE != 0)
+ DbgTraceInit();
+#endif
+
+ APPD_SetCPU2GpioConfig( );
+ APPD_BleDtbCfg( );
+
+/* USER CODE END APPD_Init */
+ return;
+}
+
+void APPD_EnableCPU2( void )
+{
+/* USER CODE BEGIN APPD_EnableCPU2 */
+ SHCI_C2_DEBUG_Init_Cmd_Packet_t DebugCmdPacket =
+ {
+ {{0,0,0}}, /**< Does not need to be initialized */
+ {(uint8_t *)aGpioConfigList,
+ (uint8_t *)&APPD_TracesConfig,
+ (uint8_t *)&APPD_GeneralConfig,
+ GPIO_CFG_NBR_OF_FEATURES,
+ NBR_OF_TRACES_CONFIG_PARAMETERS,
+ NBR_OF_GENERAL_CONFIG_PARAMETERS}
+ };
+
+ /**< Traces channel initialization */
+ TL_TRACES_Init( );
+
+ /** GPIO DEBUG Initialization */
+ SHCI_C2_DEBUG_Init( &DebugCmdPacket );
+
+/* USER CODE END APPD_EnableCPU2 */
+ return;
+}
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+static void APPD_SetCPU2GpioConfig( void )
+{
+/* USER CODE BEGIN APPD_SetCPU2GpioConfig */
+ GPIO_InitTypeDef gpio_config = {0};
+ uint8_t local_loop;
+ uint16_t gpioa_pin_list;
+ uint16_t gpiob_pin_list;
+ uint16_t gpioc_pin_list;
+
+ gpioa_pin_list = 0;
+ gpiob_pin_list = 0;
+ gpioc_pin_list = 0;
+
+ for(local_loop = 0 ; local_loop < GPIO_CFG_NBR_OF_FEATURES; local_loop++)
+ {
+ if( aGpioConfigList[local_loop].enable != 0)
+ {
+ switch((uint32_t)aGpioConfigList[local_loop].port)
+ {
+ case (uint32_t)GPIOA:
+ gpioa_pin_list |= aGpioConfigList[local_loop].pin;
+ break;
+
+ case (uint32_t)GPIOB:
+ gpiob_pin_list |= aGpioConfigList[local_loop].pin;
+ break;
+
+ case (uint32_t)GPIOC:
+ gpioc_pin_list |= aGpioConfigList[local_loop].pin;
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+
+ gpio_config.Pull = GPIO_NOPULL;
+ gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
+ gpio_config.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+
+ if(gpioa_pin_list != 0)
+ {
+ gpio_config.Pin = gpioa_pin_list;
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_C2GPIOA_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOA, &gpio_config);
+ HAL_GPIO_WritePin(GPIOA, gpioa_pin_list, GPIO_PIN_RESET);
+ }
+
+ if(gpiob_pin_list != 0)
+ {
+ gpio_config.Pin = gpiob_pin_list;
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_C2GPIOB_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOB, &gpio_config);
+ HAL_GPIO_WritePin(GPIOB, gpiob_pin_list, GPIO_PIN_RESET);
+ }
+
+ if(gpioc_pin_list != 0)
+ {
+ gpio_config.Pin = gpioc_pin_list;
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_C2GPIOC_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOC, &gpio_config);
+ HAL_GPIO_WritePin(GPIOC, gpioc_pin_list, GPIO_PIN_RESET);
+ }
+
+/* USER CODE END APPD_SetCPU2GpioConfig */
+ return;
+}
+
+static void APPD_BleDtbCfg( void )
+{
+/* USER CODE BEGIN APPD_BleDtbCfg */
+#if (BLE_DTB_CFG != 0)
+ GPIO_InitTypeDef gpio_config = {0};
+ uint8_t local_loop;
+ uint16_t gpioa_pin_list;
+ uint16_t gpiob_pin_list;
+
+ gpioa_pin_list = 0;
+ gpiob_pin_list = 0;
+
+ for(local_loop = 0 ; local_loop < GPIO_NBR_OF_RF_SIGNALS; local_loop++)
+ {
+ if( aRfConfigList[local_loop].enable != 0)
+ {
+ switch((uint32_t)aRfConfigList[local_loop].port)
+ {
+ case (uint32_t)GPIOA:
+ gpioa_pin_list |= aRfConfigList[local_loop].pin;
+ break;
+
+ case (uint32_t)GPIOB:
+ gpiob_pin_list |= aRfConfigList[local_loop].pin;
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+
+ gpio_config.Pull = GPIO_NOPULL;
+ gpio_config.Mode = GPIO_MODE_AF_PP;
+ gpio_config.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ gpio_config.Alternate = GPIO_AF6_RF_DTB7;
+
+ if(gpioa_pin_list != 0)
+ {
+ gpio_config.Pin = gpioa_pin_list;
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_C2GPIOA_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOA, &gpio_config);
+ }
+
+ if(gpiob_pin_list != 0)
+ {
+ gpio_config.Pin = gpiob_pin_list;
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_C2GPIOB_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOB, &gpio_config);
+ }
+#endif
+
+/* USER CODE END APPD_BleDtbCfg */
+ return;
+}
+
+/*************************************************************
+ *
+ * WRAP FUNCTIONS
+ *
+*************************************************************/
+#if(CFG_DEBUG_TRACE != 0)
+void DbgOutputInit( void )
+{
+/* USER CODE BEGIN DbgOutputInit */
+#ifdef CFG_DEBUG_TRACE_UART
+if (CFG_DEBUG_TRACE_UART == hw_lpuart1)
+{
+#if(CFG_HW_LPUART1_ENABLED == 1)
+ MX_LPUART1_UART_Init();
+#endif
+}
+else if (CFG_DEBUG_TRACE_UART == hw_uart1)
+{
+#if(CFG_HW_USART1_ENABLED == 1)
+ MX_USART1_UART_Init();
+#endif
+}
+#endif
+
+/* USER CODE END DbgOutputInit */
+ return;
+}
+
+void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
+{
+/* USER CODE END DbgOutputTraces */
+ HW_UART_Transmit_DMA(CFG_DEBUG_TRACE_UART, p_data, size, cb);
+
+/* USER CODE END DbgOutputTraces */
+ return;
+}
+#endif
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_entry.c
new file mode 100644
index 000000000..b7f58d70f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/app_entry.c
@@ -0,0 +1,743 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+#include "main.h"
+#include "app_entry.h"
+#include "app_ble.h"
+#include "ble.h"
+#include "tl.h"
+#include "stm32_seq.h"
+#include "shci_tl.h"
+#include "stm32_lpm.h"
+#include "app_debug.h"
+#include "otp.h"
+
+#include "appli_mesh.h"
+#include "appli_nvm.h"
+#include "pal_nvm.h"
+#include "lp_timer.h"
+#include "mesh_cfg.h"
+
+#include "shci.h"
+#include "dbg_trace.h"
+
+
+/* Private includes -----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+extern RTC_HandleTypeDef hrtc;
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+extern MOBLEUINT8 PowerOnOff_flag;
+#endif
+#ifdef ENABLE_OCCUPANCY_SENSOR
+extern MOBLEUINT8 Occupancy_Flag;
+#endif
+extern const void *mobleNvmBase;
+extern const void *appNvmBase;
+extern const void *prvsnr_data;
+#if (LOW_POWER_FEATURE == 1)
+extern __IO uint32_t uwTick;
+extern HAL_TickFreqTypeDef uwTickFreq;
+#if ( CFG_LPM_SUPPORTED == 1)
+static uint32_t BleMesh_sleepTime;
+#endif
+extern volatile uint8_t BleProcessInit;
+#endif
+
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private defines -----------------------------------------------------------*/
+#define POOL_SIZE (CFG_TLBLE_EVT_QUEUE_LENGTH*4U*DIVC(( sizeof(TL_PacketHeader_t) + TL_BLE_EVENT_FRAME_SIZE ), 4U))
+
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macros ------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static uint8_t EvtPool[POOL_SIZE];
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static TL_CmdPacket_t SystemCmdBuffer;
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static uint8_t SystemSpareEvtBuffer[sizeof(TL_PacketHeader_t) + TL_EVT_HDR_SIZE + 255U];
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static uint8_t BleSpareEvtBuffer[sizeof(TL_PacketHeader_t) + TL_EVT_HDR_SIZE + 255];
+
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private functions prototypes-----------------------------------------------*/
+static void Config_HSE(void);
+static void Reset_Device( void );
+#if ( CFG_HW_RESET_BY_FW == 1 )
+static void Reset_IPCC( void );
+static void Reset_BackupDomain( void );
+#endif /* CFG_HW_RESET_BY_FW */
+static void System_Init( void );
+static void SystemPower_Config( void );
+static void appe_Tl_Init( void );
+static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
+static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
+static void Init_Rtc( void );
+
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+uint8_t Mesh_Stop_Mode;
+
+/* Functions Definition ------------------------------------------------------*/
+void MX_APPE_Config( void )
+{
+ /**
+ * The OPTVERR flag is wrongly set at power on
+ * It shall be cleared before using any HAL_FLASH_xxx() api
+ */
+ __HAL_FLASH_CLEAR_FLAG( FLASH_FLAG_OPTVERR );
+
+ /**
+ * Reset some configurations so that the system behave in the same way
+ * when either out of nReset or Power On
+ */
+ Reset_Device( );
+
+ /* Configure HSE Tuning */
+ Config_HSE();
+
+ return;
+}
+
+void MX_APPE_Init( void )
+{
+#ifdef STM32WB15xx
+ MOBLEUINT32 last_user_flash_address = ((READ_BIT(FLASH->SFR, FLASH_SFR_SFSA) >> FLASH_SFR_SFSA_Pos) << 11) + FLASH_BASE;
+#endif
+#ifdef STM32WB55xx
+ MOBLEUINT32 last_user_flash_address = ((READ_BIT(FLASH->SFR, FLASH_SFR_SFSA) >> FLASH_SFR_SFSA_Pos) << 12) + FLASH_BASE;
+#endif
+
+ System_Init( ); /**< System initialization */
+
+ SystemPower_Config(); /**< Configure the system Power Mode */
+
+ HW_TS_Init(hw_ts_InitMode_Full, &hrtc); /**< Initialize the TimerServer */
+
+/* USER CODE BEGIN APPE_Init_1 */
+ APPD_Init( );
+
+ /**
+ * The Standby mode should not be entered before the initialization is over
+ * The default state of the Low Power Manager is to allow the Standby Mode so an request is needed here
+ */
+ UTIL_LPM_SetOffMode(1 << CFG_LPM_APP, UTIL_LPM_DISABLE);
+
+ APPE_Led_Init();
+
+ APPE_Button_Init();
+
+ mobleNvmBase = (const void *)(last_user_flash_address - NVM_SIZE);
+ appNvmBase = (const void *)(last_user_flash_address - NVM_SIZE - APP_NVM_SIZE);
+ prvsnr_data = (const void *)(last_user_flash_address - NVM_SIZE - APP_NVM_SIZE - PRVN_NVM_PAGE_SIZE);
+
+#if (LOW_POWER_FEATURE == 1)
+ /**
+ * Initialize the lp timer to be used when the systick is stopped in low power mode
+ */
+ LpTimerInit();
+#endif
+
+/* USER CODE END APPE_Init_1 */
+ appe_Tl_Init(); /* Initialize all transport layers */
+
+ /**
+ * From now, the application is waiting for the ready event ( VS_HCI_C2_Ready )
+ * received on the system channel before starting the Stack
+ * This system event is received with APPE_SysUserEvtRx()
+ */
+/* USER CODE BEGIN APPE_Init_2 */
+
+/* USER CODE END APPE_Init_2 */
+ return;
+}
+
+void Init_Smps( void )
+{
+#if (CFG_USE_SMPS != 0)
+ /**
+ * Configure and enable SMPS
+ *
+ * The SMPS configuration is not yet supported by CubeMx
+ * when SMPS output voltage is set to 1.4V, the RF output power is limited to 3.7dBm
+ * the SMPS output voltage shall be increased for higher RF output power
+ */
+ LL_PWR_SMPS_SetStartupCurrent(LL_PWR_SMPS_STARTUP_CURRENT_80MA);
+ LL_PWR_SMPS_SetOutputVoltageLevel(LL_PWR_SMPS_OUTPUT_VOLTAGE_1V40);
+ LL_PWR_SMPS_Enable();
+#endif
+
+ return;
+}
+
+void Init_Exti( void )
+{
+ /* Enable IPCC(36), HSEM(38) wakeup interrupts on CPU1 */
+ LL_EXTI_EnableIT_32_63( LL_EXTI_LINE_36 & LL_EXTI_LINE_38 );
+
+ return;
+}
+
+/* USER CODE BEGIN FD */
+
+/* USER CODE END FD */
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+static void Reset_Device( void )
+{
+#if ( CFG_HW_RESET_BY_FW == 1 )
+ Reset_BackupDomain();
+
+ Reset_IPCC();
+#endif /* CFG_HW_RESET_BY_FW */
+
+ return;
+}
+
+#if ( CFG_HW_RESET_BY_FW == 1 )
+static void Reset_BackupDomain( void )
+{
+ if ((LL_RCC_IsActiveFlag_PINRST() != FALSE) && (LL_RCC_IsActiveFlag_SFTRST() == FALSE))
+ {
+ HAL_PWR_EnableBkUpAccess(); /**< Enable access to the RTC registers */
+
+ /**
+ * Write twice the value to flush the APB-AHB bridge
+ * This bit shall be written in the register before writing the next one
+ */
+ HAL_PWR_EnableBkUpAccess();
+
+ __HAL_RCC_BACKUPRESET_FORCE();
+ __HAL_RCC_BACKUPRESET_RELEASE();
+ }
+
+ return;
+}
+
+static void Reset_IPCC( void )
+{
+ LL_AHB3_GRP1_EnableClock(LL_AHB3_GRP1_PERIPH_IPCC);
+
+ LL_C1_IPCC_ClearFlag_CHx(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C2_IPCC_ClearFlag_CHx(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C1_IPCC_DisableTransmitChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C2_IPCC_DisableTransmitChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C1_IPCC_DisableReceiveChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C2_IPCC_DisableReceiveChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ return;
+}
+#endif /* CFG_HW_RESET_BY_FW */
+
+static void Config_HSE(void)
+{
+ OTP_ID0_t * p_otp;
+
+ /**
+ * Read HSE_Tuning from OTP
+ */
+ p_otp = (OTP_ID0_t *) OTP_Read(0);
+ if (p_otp)
+ {
+ LL_RCC_HSE_SetCapacitorTuning(p_otp->hse_tuning);
+ }
+
+ return;
+}
+
+static void System_Init( void )
+{
+ Init_Smps( );
+
+ Init_Exti( );
+
+ Init_Rtc( );
+
+ return;
+}
+
+static void Init_Rtc( void )
+{
+ /* Disable RTC registers write protection */
+ LL_RTC_DisableWriteProtection(RTC);
+
+ LL_RTC_WAKEUP_SetClock(RTC, CFG_RTC_WUCKSEL_DIVIDER);
+
+ /* Enable RTC registers write protection */
+ LL_RTC_EnableWriteProtection(RTC);
+
+ return;
+}
+
+/**
+ * @brief Configure the system for power optimization
+ *
+ * @note This API configures the system to be ready for low power mode
+ *
+ * @param None
+ * @retval None
+ */
+static void SystemPower_Config( void )
+{
+ /**
+ * Select HSI as system clock source after Wake Up from Stop mode
+ */
+ LL_RCC_SetClkAfterWakeFromStop(LL_RCC_STOP_WAKEUPCLOCK_HSI);
+
+ /* Initialize low power manager */
+ UTIL_LPM_Init( );
+ /* Initialize the CPU2 reset value before starting CPU2 with C2BOOT */
+ LL_C2_PWR_SetPowerMode(LL_PWR_MODE_SHUTDOWN);
+
+#if (CFG_USB_INTERFACE_ENABLE != 0)
+ /**
+ * Enable USB power
+ */
+ HAL_PWREx_EnableVddUSB();
+#endif
+ /**
+ * Active SRAM retention for standby support
+ */
+ HAL_PWREx_EnableSRAMRetention();
+
+ return;
+}
+
+static void appe_Tl_Init( void )
+{
+ TL_MM_Config_t tl_mm_config;
+ SHCI_TL_HciInitConf_t SHci_Tl_Init_Conf;
+ /**< Reference table initialization */
+ TL_Init();
+
+ /**< System channel initialization */
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID, UTIL_SEQ_RFU, shci_user_evt_proc );
+ SHci_Tl_Init_Conf.p_cmdbuffer = (uint8_t*)&SystemCmdBuffer;
+ SHci_Tl_Init_Conf.StatusNotCallBack = APPE_SysStatusNot;
+ shci_init(APPE_SysUserEvtRx, (void*) &SHci_Tl_Init_Conf);
+
+ /**< Memory Manager channel initialization */
+ tl_mm_config.p_BleSpareEvtBuffer = BleSpareEvtBuffer;
+ tl_mm_config.p_SystemSpareEvtBuffer = SystemSpareEvtBuffer;
+ tl_mm_config.p_AsynchEvtPool = EvtPool;
+ tl_mm_config.AsynchEvtPoolSize = POOL_SIZE;
+ TL_MM_Init( &tl_mm_config );
+
+ TL_Enable();
+
+ return;
+}
+
+static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
+{
+ UNUSED(status);
+ return;
+}
+
+/**
+* The type of the payload for a system user event is tSHCI_UserEvtRxParam
+* When the system event is both :
+* - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
+* - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
+* The buffer shall not be released
+* ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
+* When the status is not filled, the buffer is released by default
+*/
+static void APPE_SysUserEvtRx( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+/**
+* @brief Notify when ready system event from the M0 firmware
+*/
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+
+ } else {
+
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY – UNEXPECTED CASE \n");
+ }
+ return;
+}
+
+/**
+* @brief Notify a system error coming from the M0 firmware
+*/
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT) {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – ERR_BLE_INIT \n");
+ } else {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – BLE ERROR \n");
+ }
+ return;
+}
+
+/* USER CODE BEGIN FD_LOCAL_FUNCTIONS */
+void APPE_Led_Init( void )
+{
+#if (CFG_LED_SUPPORTED == 1)
+ /**
+ * Leds Initialization
+ */
+
+ BSP_LED_Init(LED_BLUE);
+ BSP_LED_Init(LED_GREEN);
+ BSP_LED_Init(LED_RED);
+#endif
+
+ return;
+}
+
+void APPE_Button_Init( void )
+{
+#if (CFG_BUTTON_SUPPORTED == 1)
+ /**
+ * Button Initialization
+ */
+
+ BSP_PB_Init(BUTTON_SW1, BUTTON_MODE_EXTI);
+ BSP_PB_Init(BUTTON_SW2, BUTTON_MODE_EXTI);
+ BSP_PB_Init(BUTTON_SW3, BUTTON_MODE_EXTI);
+#endif
+
+ return;
+}
+/* USER CODE END FD_LOCAL_FUNCTIONS */
+
+/*************************************************************
+ *
+ * WRAP FUNCTIONS
+ *
+ *************************************************************/
+void HAL_Delay(uint32_t Delay)
+{
+ uint32_t tickstart = HAL_GetTick();
+ uint32_t wait = Delay;
+
+ /* Add a freq to guarantee minimum wait */
+ if (wait < HAL_MAX_DELAY)
+ {
+ wait += HAL_GetTickFreq();
+ }
+
+ while ((HAL_GetTick() - tickstart) < wait)
+ {
+ /************************************************************************************
+ * ENTER SLEEP MODE
+ ***********************************************************************************/
+ LL_LPM_EnableSleep( ); /**< Clear SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+ #if defined ( __CC_ARM)
+ __force_stores();
+ #endif
+
+ __WFI( );
+ }
+}
+
+void MX_APPE_Process(void)
+{
+ /* USER CODE BEGIN MX_APPE_Process_1 */
+
+ /* USER CODE END MX_APPE_Process_1 */
+ UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
+ /* USER CODE BEGIN MX_APPE_Process_2 */
+
+ /* USER CODE END MX_APPE_Process_2 */
+}
+
+void UTIL_SEQ_Idle( void )
+{
+#if ( CFG_LPM_SUPPORTED == 1)
+#if (LOW_POWER_FEATURE == 1)
+ if(BleProcessInit != 0)
+ {
+ BleMesh_sleepTime = (uint32_t)BLEMesh_GetSleepDuration();
+
+ if (BleMesh_sleepTime > 0)
+ {
+ LpTimerStart(BleMesh_sleepTime);
+
+ UTIL_LPM_EnterLowPower( );
+
+ uwTick += (uwTickFreq*LpGetElapsedTime());
+ }
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+ }
+#else
+ UTIL_LPM_EnterLowPower( );
+#endif
+#else
+#if (LOW_POWER_FEATURE == 1)
+ if(BleProcessInit != 0)
+ {
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+ }
+#endif
+#endif
+ return;
+}
+
+/**
+ * @brief This function is called by the scheduler each time an event
+ * is pending.
+ *
+ * @param evt_waited_bm : Event pending.
+ * @retval None
+ */
+void UTIL_SEQ_EvtIdle( UTIL_SEQ_bm_t task_id_bm, UTIL_SEQ_bm_t evt_waited_bm )
+{
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_Run( 0 );
+#else
+ UTIL_SEQ_Run( UTIL_SEQ_DEFAULT );
+#endif
+}
+
+void shci_notify_asynch_evt(void* pdata)
+{
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID, CFG_SCH_PRIO_0);
+ return;
+}
+
+void shci_cmd_resp_release(uint32_t flag)
+{
+ UTIL_SEQ_SetEvt( 1<< CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID );
+ return;
+}
+
+void shci_cmd_resp_wait(uint32_t timeout)
+{
+ UTIL_SEQ_WaitEvt( 1<< CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID );
+ return;
+}
+
+/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
+void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
+{
+ switch (GPIO_Pin)
+ {
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+ case POWEROFF_PIN:
+ {
+ PowerOnOff_flag = 1;
+ }
+ break;
+#endif
+
+ case BUTTON_SW1_PIN:
+ {
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_SW1_REQ_ID, CFG_SCH_PRIO_0);
+ }
+ break;
+
+#ifdef ENABLE_PIR_SENSOR
+ case PIRSENSOR_PIN:
+ {
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_PIR_REQ_ID, CFG_SCH_PRIO_0);
+ }
+ break;
+#endif
+
+#ifdef ENABLE_OCCUPANCY_SENSOR
+ case BUTTON_SW3_PIN:
+ {
+ Occupancy_Flag = 1;
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_SW3_REQ_ID, CFG_SCH_PRIO_0);
+ }
+ break;
+#endif
+
+
+ default:
+ break;
+
+ }
+ return;
+}
+/* USER CODE END FD_WRAP_FUNCTIONS */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_flash.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_flash.c
new file mode 100644
index 000000000..7efae7ce8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_flash.c
@@ -0,0 +1,152 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_flash.c
+ * @author MCD Application Team
+ * @brief This file contains the FLASH driver needed by EE module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "common.h"
+#include "stm32_seq.h"
+//#include "dbg_gpio.h"
+#include "hw_flash.h"
+#include "stm32wbxx_hal.h"
+
+static void HW_FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data);
+static void HW_FLASH_PageErase(uint32_t Page);
+//static void HW_FLASH_WaitEndOfOperation(void);
+
+/*****************************************************************************/
+
+MOBLE_RESULT HW_FLASH_Write(uint32_t address, uint64_t data)
+{
+ /* Enable EOP interrupt */
+ // __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP);
+
+ // __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
+
+ HW_FLASH_Program_DoubleWord(address, data);
+
+ // HW_FLASH_WaitEndOfOperation();
+
+ /* Disable EOP interrupt */
+// __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP);
+
+ /* Clear the PG bit once data has been written */
+ CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
+
+ return (MOBLE_RESULT_SUCCESS);
+}
+
+/*****************************************************************************/
+
+MOBLE_RESULT HW_FLASH_Erase(uint32_t page, uint16_t n, int interrupt)
+{
+ UNUSED(interrupt);
+
+ uint32_t loop;
+
+ /* Enable EOP interrupt */
+ __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP);
+
+ for( loop = 0; loop < n ; loop++)
+ {
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
+
+ HW_FLASH_PageErase(page+loop);
+
+// HW_FLASH_WaitEndOfOperation();
+ }
+
+ /* Disable EOP interrupt */
+ __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP);
+
+ /* Clear the page erase bit */
+ CLEAR_BIT(FLASH->CR, (FLASH_CR_PER | FLASH_CR_PNB));
+
+ return (MOBLE_RESULT_SUCCESS);
+}
+
+#if 0
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetIPCCBufferAddr(void)
+{
+ return READ_BIT(FLASH->IPCCBR, FLASH_IPCCBR_IPCCDBA);
+}
+
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetSFSA(void)
+{
+ return (READ_BIT(FLASH->SFR, FLASH_SFR_SFSA) >> FLASH_SFR_SFSA_Pos);
+}
+
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetSBRSA(void)
+{
+ return (READ_BIT(FLASH->SRRVR, FLASH_SRRVR_SBRSA) >> FLASH_SRRVR_SBRSA_Pos);
+}
+
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetSNBRSA(void)
+{
+ return (READ_BIT(FLASH->SRRVR, FLASH_SRRVR_SNBRSA) >> FLASH_SRRVR_SNBRSA_Pos);
+}
+#endif
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+
+/**
+ * This is a copy of FLASH_Program_DoubleWord() from the HAL
+ */
+static void HW_FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data)
+{
+// DBG_GPIO_Gr2Set(DBG_GPIO_GR2_FLASH_WRITE);
+
+ /* Set PG bit */
+ SET_BIT(FLASH->CR, FLASH_CR_PG);
+
+ /* Program first word */
+ *(uint32_t *)Address = (uint32_t)Data;
+
+ /* Barrier to ensure programming is performed in 2 steps, in right order
+ (independently of compiler optimization behavior) */
+ __ISB();
+
+ /* Program second word */
+ *(uint32_t *)(Address + 4U) = (uint32_t)(Data >> 32U);
+
+// DBG_GPIO_Gr2Reset(DBG_GPIO_GR2_FLASH_WRITE);
+}
+
+/**
+ * This is a copy of LASH_PageErase() from the HAL
+ */
+static void HW_FLASH_PageErase(uint32_t Page)
+{
+// DBG_GPIO_Gr2Set(DBG_GPIO_GR2_FLASH_ERASE);
+
+ /* Proceed to erase the page */
+ MODIFY_REG(FLASH->CR, FLASH_CR_PNB, ((Page << FLASH_CR_PNB_Pos) | FLASH_CR_PER | FLASH_CR_STRT));
+
+// DBG_GPIO_Gr2Set(DBG_GPIO_GR2_FLASH_ERASE);
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_timerserver.c
new file mode 100644
index 000000000..23a5bcdc6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_timerserver.c
@@ -0,0 +1,892 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+#include "hw_conf.h"
+
+/* Private typedef -----------------------------------------------------------*/
+typedef enum
+{
+ TimerID_Free,
+ TimerID_Created,
+ TimerID_Running
+}TimerIDStatus_t;
+
+typedef enum
+{
+ SSR_Read_Requested,
+ SSR_Read_Not_Requested
+}RequestReadSSR_t;
+
+typedef enum
+{
+ WakeupTimerValue_Overpassed,
+ WakeupTimerValue_LargeEnough
+}WakeupTimerLimitation_Status_t;
+
+typedef struct
+{
+ HW_TS_pTimerCb_t pTimerCallBack;
+ uint32_t CounterInit;
+ uint32_t CountLeft;
+ TimerIDStatus_t TimerIDStatus;
+ HW_TS_Mode_t TimerMode;
+ uint32_t TimerProcessID;
+ uint8_t PreviousID;
+ uint8_t NextID;
+}TimerContext_t;
+
+/* Private defines -----------------------------------------------------------*/
+#define SSR_FORBIDDEN_VALUE 0xFFFFFFFF
+#define TIMER_LIST_EMPTY 0xFFFF
+
+/* Private macros ------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+/**
+ * START of Section TIMERSERVER_CONTEXT
+ */
+
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile TimerContext_t aTimerContext[CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER];
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile uint8_t CurrentRunningTimerID;
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile uint8_t PreviousRunningTimerID;
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile uint32_t SSRValueOnLastSetup;
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile WakeupTimerLimitation_Status_t WakeupTimerLimitation;
+
+/**
+ * END of Section TIMERSERVER_CONTEXT
+ */
+
+static RTC_HandleTypeDef *phrtc; /**< RTC handle */
+static uint8_t WakeupTimerDivider;
+static uint8_t AsynchPrescalerUserConfig;
+static uint16_t SynchPrescalerUserConfig;
+static volatile uint16_t MaxWakeupTimerSetup;
+
+/* Global variables ----------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+static void RestartWakeupCounter(uint16_t Value);
+static uint16_t ReturnTimeElapsed(void);
+static void RescheduleTimerList(void);
+static void UnlinkTimer(uint8_t TimerID, RequestReadSSR_t RequestReadSSR);
+static void LinkTimerBefore(uint8_t TimerID, uint8_t RefTimerID);
+static void LinkTimerAfter(uint8_t TimerID, uint8_t RefTimerID);
+static uint16_t linkTimer(uint8_t TimerID);
+static uint32_t ReadRtcSsrValue(void);
+
+__weak void HW_TS_RTC_CountUpdated_AppNot(void);
+
+/* Functions Definition ------------------------------------------------------*/
+
+/**
+ * @brief Read the RTC_SSR value
+ * As described in the reference manual, the RTC_SSR shall be read twice to ensure
+ * reliability of the value
+ * @param None
+ * @retval SSR value read
+ */
+static uint32_t ReadRtcSsrValue(void)
+{
+ uint32_t first_read;
+ uint32_t second_read;
+
+ first_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS));
+
+ second_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS));
+
+ while(first_read != second_read)
+ {
+ first_read = second_read;
+
+ second_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS));
+ }
+
+ return second_read;
+}
+
+/**
+ * @brief Insert a Timer in the list after the Timer ID specified
+ * @param TimerID: The ID of the Timer
+ * @param RefTimerID: The ID of the Timer to be linked after
+ * @retval None
+ */
+static void LinkTimerAfter(uint8_t TimerID, uint8_t RefTimerID)
+{
+ uint8_t next_id;
+
+ next_id = aTimerContext[RefTimerID].NextID;
+
+ if(next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ aTimerContext[next_id].PreviousID = TimerID;
+ }
+ aTimerContext[TimerID].NextID = next_id;
+ aTimerContext[TimerID].PreviousID = RefTimerID ;
+ aTimerContext[RefTimerID].NextID = TimerID;
+
+ return;
+}
+
+/**
+ * @brief Insert a Timer in the list before the ID specified
+ * @param TimerID: The ID of the Timer
+ * @param RefTimerID: The ID of the Timer to be linked before
+ * @retval None
+ */
+static void LinkTimerBefore(uint8_t TimerID, uint8_t RefTimerID)
+{
+ uint8_t previous_id;
+
+ if(RefTimerID != CurrentRunningTimerID)
+ {
+ previous_id = aTimerContext[RefTimerID].PreviousID;
+
+ aTimerContext[previous_id].NextID = TimerID;
+ aTimerContext[TimerID].NextID = RefTimerID;
+ aTimerContext[TimerID].PreviousID = previous_id ;
+ aTimerContext[RefTimerID].PreviousID = TimerID;
+ }
+ else
+ {
+ aTimerContext[TimerID].NextID = RefTimerID;
+ aTimerContext[RefTimerID].PreviousID = TimerID;
+ }
+
+ return;
+}
+
+/**
+ * @brief Insert a Timer in the list
+ * @param TimerID: The ID of the Timer
+ * @retval None
+ */
+static uint16_t linkTimer(uint8_t TimerID)
+{
+ uint32_t time_left;
+ uint16_t time_elapsed;
+ uint8_t timer_id_lookup;
+ uint8_t next_id;
+
+ if(CurrentRunningTimerID == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ /**
+ * No timer in the list
+ */
+ PreviousRunningTimerID = CurrentRunningTimerID;
+ CurrentRunningTimerID = TimerID;
+ aTimerContext[TimerID].NextID = CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER;
+
+ SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE;
+ time_elapsed = 0;
+ }
+ else
+ {
+ time_elapsed = ReturnTimeElapsed();
+
+ /**
+ * update count of the timer to be linked
+ */
+ aTimerContext[TimerID].CountLeft += time_elapsed;
+ time_left = aTimerContext[TimerID].CountLeft;
+
+ /**
+ * Search for index where the new timer shall be linked
+ */
+ if(aTimerContext[CurrentRunningTimerID].CountLeft <= time_left)
+ {
+ /**
+ * Search for the ID after the first one
+ */
+ timer_id_lookup = CurrentRunningTimerID;
+ next_id = aTimerContext[timer_id_lookup].NextID;
+ while((next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (aTimerContext[next_id].CountLeft <= time_left))
+ {
+ timer_id_lookup = aTimerContext[timer_id_lookup].NextID;
+ next_id = aTimerContext[timer_id_lookup].NextID;
+ }
+
+ /**
+ * Link after the ID
+ */
+ LinkTimerAfter(TimerID, timer_id_lookup);
+ }
+ else
+ {
+ /**
+ * Link before the first ID
+ */
+ LinkTimerBefore(TimerID, CurrentRunningTimerID);
+ PreviousRunningTimerID = CurrentRunningTimerID;
+ CurrentRunningTimerID = TimerID;
+ }
+ }
+
+ return time_elapsed;
+}
+
+/**
+ * @brief Remove a Timer from the list
+ * @param TimerID: The ID of the Timer
+ * @param RequestReadSSR: Request to read the SSR register or not
+ * @retval None
+ */
+static void UnlinkTimer(uint8_t TimerID, RequestReadSSR_t RequestReadSSR)
+{
+ uint8_t previous_id;
+ uint8_t next_id;
+
+ if(TimerID == CurrentRunningTimerID)
+ {
+ PreviousRunningTimerID = CurrentRunningTimerID;
+ CurrentRunningTimerID = aTimerContext[TimerID].NextID;
+ }
+ else
+ {
+ previous_id = aTimerContext[TimerID].PreviousID;
+ next_id = aTimerContext[TimerID].NextID;
+
+ aTimerContext[previous_id].NextID = aTimerContext[TimerID].NextID;
+ if(next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ aTimerContext[next_id].PreviousID = aTimerContext[TimerID].PreviousID;
+ }
+ }
+
+ /**
+ * Timer is out of the list
+ */
+ aTimerContext[TimerID].TimerIDStatus = TimerID_Created;
+
+ if((CurrentRunningTimerID == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (RequestReadSSR == SSR_Read_Requested))
+ {
+ SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE;
+ }
+
+ return;
+}
+
+/**
+ * @brief Return the number of ticks counted by the wakeuptimer since it has been started
+ * @note The API is reading the SSR register to get how many ticks have been counted
+ * since the time the timer has been started
+ * @param None
+ * @retval Time expired in Ticks
+ */
+static uint16_t ReturnTimeElapsed(void)
+{
+ uint32_t return_value;
+ uint32_t wrap_counter;
+
+ if(SSRValueOnLastSetup != SSR_FORBIDDEN_VALUE)
+ {
+ return_value = ReadRtcSsrValue(); /**< Read SSR register first */
+
+ if (SSRValueOnLastSetup >= return_value)
+ {
+ return_value = SSRValueOnLastSetup - return_value;
+ }
+ else
+ {
+ wrap_counter = SynchPrescalerUserConfig - return_value;
+ return_value = SSRValueOnLastSetup + wrap_counter;
+ }
+
+ /**
+ * At this stage, ReturnValue holds the number of ticks counted by SSR
+ * Need to translate in number of ticks counted by the Wakeuptimer
+ */
+ return_value = return_value*AsynchPrescalerUserConfig;
+ return_value = return_value >> WakeupTimerDivider;
+ }
+ else
+ {
+ return_value = 0;
+ }
+
+ return (uint16_t)return_value;
+}
+
+/**
+ * @brief Set the wakeup counter
+ * @note The API is writing the counter value so that the value is decreased by one to cope with the fact
+ * the interrupt is generated with 1 extra clock cycle (See RefManuel)
+ * It assumes all condition are met to be allowed to write the wakeup counter
+ * @param Value: Value to be written in the counter
+ * @retval None
+ */
+static void RestartWakeupCounter(uint16_t Value)
+{
+ /**
+ * The wakeuptimer has been disabled in the calling function to reduce the time to poll the WUTWF
+ * FLAG when the new value will have to be written
+ * __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc);
+ */
+
+ if(Value == 0)
+ {
+ SSRValueOnLastSetup = ReadRtcSsrValue();
+
+ /**
+ * Simulate that the Timer expired
+ */
+ HAL_NVIC_SetPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID);
+ }
+ else
+ {
+ if((Value > 1) ||(WakeupTimerDivider != 1))
+ {
+ Value -= 1;
+ }
+
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == RESET);
+
+ /**
+ * make sure to clear the flags after checking the WUTWF.
+ * It takes 2 RTCCLK between the time the WUTE bit is disabled and the
+ * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable
+ * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between
+ * due to the autoreload feature
+ */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+ HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */
+
+ MODIFY_REG(RTC->WUTR, RTC_WUTR_WUT, Value);
+
+ /**
+ * Update the value here after the WUTWF polling that may take some time
+ */
+ SSRValueOnLastSetup = ReadRtcSsrValue();
+
+ __HAL_RTC_WAKEUPTIMER_ENABLE(phrtc); /**< Enable the Wakeup Timer */
+
+ HW_TS_RTC_CountUpdated_AppNot();
+ }
+
+ return ;
+}
+
+/**
+ * @brief Reschedule the list of timer
+ * @note 1) Update the count left for each timer in the list
+ * 2) Setup the wakeuptimer
+ * @param None
+ * @retval None
+ */
+static void RescheduleTimerList(void)
+{
+ uint8_t localTimerID;
+ uint32_t timecountleft;
+ uint16_t wakeup_timer_value;
+ uint16_t time_elapsed;
+
+ /**
+ * The wakeuptimer is disabled now to reduce the time to poll the WUTWF
+ * FLAG when the new value will have to be written
+ */
+ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET)
+ {
+ /**
+ * Wait for the flag to be back to 0 when the wakeup timer is enabled
+ */
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == SET);
+ }
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc); /**< Disable the Wakeup Timer */
+
+ localTimerID = CurrentRunningTimerID;
+
+ /**
+ * Calculate what will be the value to write in the wakeuptimer
+ */
+ timecountleft = aTimerContext[localTimerID].CountLeft;
+
+ /**
+ * Read how much has been counted
+ */
+ time_elapsed = ReturnTimeElapsed();
+
+ if(timecountleft < time_elapsed )
+ {
+ /**
+ * There is no tick left to count
+ */
+ wakeup_timer_value = 0;
+ WakeupTimerLimitation = WakeupTimerValue_LargeEnough;
+ }
+ else
+ {
+ if(timecountleft > (time_elapsed + MaxWakeupTimerSetup))
+ {
+ /**
+ * The number of tick left is greater than the Wakeuptimer maximum value
+ */
+ wakeup_timer_value = MaxWakeupTimerSetup;
+
+ WakeupTimerLimitation = WakeupTimerValue_Overpassed;
+ }
+ else
+ {
+ wakeup_timer_value = timecountleft - time_elapsed;
+ WakeupTimerLimitation = WakeupTimerValue_LargeEnough;
+ }
+
+ }
+
+ /**
+ * update ticks left to be counted for each timer
+ */
+ while(localTimerID != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ if (aTimerContext[localTimerID].CountLeft < time_elapsed)
+ {
+ aTimerContext[localTimerID].CountLeft = 0;
+ }
+ else
+ {
+ aTimerContext[localTimerID].CountLeft -= time_elapsed;
+ }
+ localTimerID = aTimerContext[localTimerID].NextID;
+ }
+
+ /**
+ * Write next count
+ */
+ RestartWakeupCounter(wakeup_timer_value);
+
+ return ;
+}
+
+/* Public functions ----------------------------------------------------------*/
+
+/**
+ * For all public interface except that may need write access to the RTC, the RTC
+ * shall be unlock at the beginning and locked at the output
+ * In order to ease maintainability, the unlock is done at the top and the lock at then end
+ * in case some new implementation is coming in the future
+ */
+
+void HW_TS_RTC_Wakeup_Handler(void)
+{
+ HW_TS_pTimerCb_t ptimer_callback;
+ uint32_t timer_process_id;
+ uint8_t local_current_running_timer_id;
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+/* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ /**
+ * Disable the Wakeup Timer
+ * This may speed up a bit the processing to wait the timer to be disabled
+ * The timer is still counting 2 RTCCLK
+ */
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc);
+
+ local_current_running_timer_id = CurrentRunningTimerID;
+
+ if(aTimerContext[local_current_running_timer_id].TimerIDStatus == TimerID_Running)
+ {
+ ptimer_callback = aTimerContext[local_current_running_timer_id].pTimerCallBack;
+ timer_process_id = aTimerContext[local_current_running_timer_id].TimerProcessID;
+
+ /**
+ * It should be good to check whether the TimeElapsed is greater or not than the tick left to be counted
+ * However, due to the inaccuracy of the reading of the time elapsed, it may return there is 1 tick
+ * to be left whereas the count is over
+ * A more secure implementation has been done with a flag to state whereas the full count has been written
+ * in the wakeuptimer or not
+ */
+ if(WakeupTimerLimitation != WakeupTimerValue_Overpassed)
+ {
+ if(aTimerContext[local_current_running_timer_id].TimerMode == hw_ts_Repeated)
+ {
+ UnlinkTimer(local_current_running_timer_id, SSR_Read_Not_Requested);
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ HW_TS_Start(local_current_running_timer_id, aTimerContext[local_current_running_timer_id].CounterInit);
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+ }
+ else
+ {
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ HW_TS_Stop(local_current_running_timer_id);
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+ }
+
+ HW_TS_RTC_Int_AppNot(timer_process_id, local_current_running_timer_id, ptimer_callback);
+ }
+ else
+ {
+ RescheduleTimerList();
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ }
+ }
+ else
+ {
+ /**
+ * We should never end up in this case
+ * However, if due to any bug in the timer server this is the case, the mistake may not impact the user.
+ * We could just clean the interrupt flag and get out from this unexpected interrupt
+ */
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == RESET);
+
+ /**
+ * make sure to clear the flags after checking the WUTWF.
+ * It takes 2 RTCCLK between the time the WUTE bit is disabled and the
+ * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable
+ * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between
+ * due to the autoreload feature
+ */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ return;
+}
+
+void HW_TS_Init(HW_TS_InitMode_t TimerInitMode, RTC_HandleTypeDef *hrtc)
+{
+ uint8_t loop;
+ uint32_t localmaxwakeuptimersetup;
+
+ /**
+ * Get RTC handler
+ */
+ phrtc = hrtc;
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ SET_BIT(RTC->CR, RTC_CR_BYPSHAD);
+
+ /**
+ * Readout the user config
+ */
+ WakeupTimerDivider = (4 - ((uint32_t)(READ_BIT(RTC->CR, RTC_CR_WUCKSEL))));
+
+ AsynchPrescalerUserConfig = (uint8_t)(READ_BIT(RTC->PRER, RTC_PRER_PREDIV_A) >> (uint32_t)POSITION_VAL(RTC_PRER_PREDIV_A)) + 1;
+
+ SynchPrescalerUserConfig = (uint16_t)(READ_BIT(RTC->PRER, RTC_PRER_PREDIV_S)) + 1;
+
+ /**
+ * Margin is taken to avoid wrong calculation when the wrap around is there and some
+ * application interrupts may have delayed the reading
+ */
+ localmaxwakeuptimersetup = ((((SynchPrescalerUserConfig - 1)*AsynchPrescalerUserConfig) - CFG_HW_TS_RTC_HANDLER_MAX_DELAY) >> WakeupTimerDivider);
+
+ if(localmaxwakeuptimersetup >= 0xFFFF)
+ {
+ MaxWakeupTimerSetup = 0xFFFF;
+ }
+ else
+ {
+ MaxWakeupTimerSetup = (uint16_t)localmaxwakeuptimersetup;
+ }
+
+ /**
+ * Configure EXTI module
+ */
+ LL_EXTI_EnableRisingTrig_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT);
+ LL_EXTI_EnableIT_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT);
+
+ if(TimerInitMode == hw_ts_InitMode_Full)
+ {
+ WakeupTimerLimitation = WakeupTimerValue_LargeEnough;
+ SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE;
+
+ /**
+ * Initialize the timer server
+ */
+ for(loop = 0; loop < CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; loop++)
+ {
+ aTimerContext[loop].TimerIDStatus = TimerID_Free;
+ }
+
+ CurrentRunningTimerID = CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; /**< Set ID to non valid value */
+
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc); /**< Disable the Wakeup Timer */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+ HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */
+ __HAL_RTC_WAKEUPTIMER_ENABLE_IT(phrtc, RTC_IT_WUT); /**< Enable interrupt in RTC module */
+ }
+ else
+ {
+ if(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTF) != RESET)
+ {
+ /**
+ * Simulate that the Timer expired
+ */
+ HAL_NVIC_SetPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID);
+ }
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ HAL_NVIC_SetPriority(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID, CFG_HW_TS_NVIC_RTC_WAKEUP_IT_PREEMPTPRIO, CFG_HW_TS_NVIC_RTC_WAKEUP_IT_SUBPRIO); /**< Set NVIC priority */
+ HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */
+
+ return;
+}
+
+HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pftimeout_handler)
+{
+ HW_TS_ReturnStatus_t localreturnstatus;
+ uint8_t loop = 0;
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+ while((loop < CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (aTimerContext[loop].TimerIDStatus != TimerID_Free))
+ {
+ loop++;
+ }
+
+ if(loop != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ aTimerContext[loop].TimerIDStatus = TimerID_Created;
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ aTimerContext[loop].TimerProcessID = TimerProcessID;
+ aTimerContext[loop].TimerMode = TimerMode;
+ aTimerContext[loop].pTimerCallBack = pftimeout_handler;
+ *pTimerId = loop;
+
+ localreturnstatus = hw_ts_Successful;
+ }
+ else
+ {
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ localreturnstatus = hw_ts_Failed;
+ }
+
+ return(localreturnstatus);
+}
+
+void HW_TS_Delete(uint8_t timer_id)
+{
+ HW_TS_Stop(timer_id);
+
+ aTimerContext[timer_id].TimerIDStatus = TimerID_Free; /**< release ID */
+
+ return;
+}
+
+void HW_TS_Stop(uint8_t timer_id)
+{
+ uint8_t localcurrentrunningtimerid;
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+ HAL_NVIC_DisableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Disable NVIC */
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ if(aTimerContext[timer_id].TimerIDStatus == TimerID_Running)
+ {
+ UnlinkTimer(timer_id, SSR_Read_Requested);
+ localcurrentrunningtimerid = CurrentRunningTimerID;
+
+ if(localcurrentrunningtimerid == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ /**
+ * List is empty
+ */
+
+ /**
+ * Disable the timer
+ */
+ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET)
+ {
+ /**
+ * Wait for the flag to be back to 0 when the wakeup timer is enabled
+ */
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == SET);
+ }
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc); /**< Disable the Wakeup Timer */
+
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == RESET);
+
+ /**
+ * make sure to clear the flags after checking the WUTWF.
+ * It takes 2 RTCCLK between the time the WUTE bit is disabled and the
+ * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable
+ * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between
+ * due to the autoreload feature
+ */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+ HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */
+ }
+ else if(PreviousRunningTimerID != localcurrentrunningtimerid)
+ {
+ RescheduleTimerList();
+ }
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ return;
+}
+
+void HW_TS_Start(uint8_t timer_id, uint32_t timeout_ticks)
+{
+ uint16_t time_elapsed;
+ uint8_t localcurrentrunningtimerid;
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+ if(aTimerContext[timer_id].TimerIDStatus == TimerID_Running)
+ {
+ HW_TS_Stop( timer_id );
+ }
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+ HAL_NVIC_DisableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Disable NVIC */
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ aTimerContext[timer_id].TimerIDStatus = TimerID_Running;
+
+ aTimerContext[timer_id].CountLeft = timeout_ticks;
+ aTimerContext[timer_id].CounterInit = timeout_ticks;
+
+ time_elapsed = linkTimer(timer_id);
+
+ localcurrentrunningtimerid = CurrentRunningTimerID;
+
+ if(PreviousRunningTimerID != localcurrentrunningtimerid)
+ {
+ RescheduleTimerList();
+ }
+ else
+ {
+ aTimerContext[timer_id].CountLeft -= time_elapsed;
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ return;
+}
+
+uint16_t HW_TS_RTC_ReadLeftTicksToCount(void)
+{
+ uint32_t primask_bit;
+ uint16_t return_value, auro_reload_value, elapsed_time_value;
+
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+
+ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET)
+ {
+ auro_reload_value = (uint32_t)(READ_BIT(RTC->WUTR, RTC_WUTR_WUT));
+
+ elapsed_time_value = ReturnTimeElapsed();
+
+ if(auro_reload_value > elapsed_time_value)
+ {
+ return_value = auro_reload_value - elapsed_time_value;
+ }
+ else
+ {
+ return_value = 0;
+ }
+ }
+ else
+ {
+ return_value = TIMER_LIST_EMPTY;
+ }
+
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+
+ return (return_value);
+}
+
+__weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS_pTimerCb_t pTimerCallBack)
+{
+ pTimerCallBack();
+
+ return;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_uart.c
new file mode 100644
index 000000000..025dc182c
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/hw_uart.c
@@ -0,0 +1,236 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_uart.c
+ * @author MCD Application Team
+ * @brief hardware access
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+
+extern UART_HandleTypeDef hlpuart1;
+extern UART_HandleTypeDef huart1;
+
+/* Macros --------------------------------------------------------------------*/
+#define HW_UART_RX_IT(__HANDLE__, __USART_BASE__) \
+ do{ \
+ HW_##__HANDLE__##RxCb = cb; \
+ (__HANDLE__).Instance = (__USART_BASE__); \
+ HAL_UART_Receive_IT(&(__HANDLE__), p_data, size); \
+ } while(0)
+
+#define HW_UART_TX_IT(__HANDLE__, __USART_BASE__) \
+ do{ \
+ HW_##__HANDLE__##TxCb = cb; \
+ (__HANDLE__).Instance = (__USART_BASE__); \
+ HAL_UART_Transmit_IT(&(__HANDLE__), p_data, size); \
+ } while(0)
+
+#define HW_UART_TX(__HANDLE__, __USART_BASE__) \
+ do{ \
+ (__HANDLE__).Instance = (__USART_BASE__); \
+ hal_status = HAL_UART_Transmit(&(__HANDLE__), p_data, size, timeout); \
+ } while(0)
+
+/* Variables -----------------------------------------------------------------*/
+DMA_HandleTypeDef HW_hdma_huart1_tx ={0};
+void (*HW_huart1RxCb)(void);
+void (*HW_huart1TxCb)(void);
+
+DMA_HandleTypeDef HW_hdma_hlpuart1_tx ={0};
+void (*HW_hlpuart1RxCb)(void);
+void (*HW_hlpuart1TxCb)(void);
+
+void HW_UART_Receive_IT(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*cb)(void))
+{
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_UART_RX_IT(huart1, USART1);
+ break;
+
+ case hw_lpuart1:
+ HW_UART_RX_IT(hlpuart1, LPUART1);
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+void HW_UART_Transmit_IT(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*cb)(void))
+{
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_UART_TX_IT(huart1, USART1);
+ break;
+
+ case hw_lpuart1:
+ HW_UART_TX_IT(hlpuart1, LPUART1);
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+hw_status_t HW_UART_Transmit(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, uint32_t timeout)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ hw_status_t hw_status = hw_uart_ok;
+
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_UART_TX(huart1, USART1);
+ break;
+
+ case hw_lpuart1:
+ HW_UART_TX(hlpuart1, LPUART1);
+ break;
+
+ default:
+ break;
+ }
+
+ switch (hal_status)
+ {
+ case HAL_OK:
+ hw_status = hw_uart_ok;
+ break;
+
+ case HAL_ERROR:
+ hw_status = hw_uart_error;
+ break;
+
+ case HAL_BUSY:
+ hw_status = hw_uart_busy;
+ break;
+
+ case HAL_TIMEOUT:
+ hw_status = hw_uart_to;
+ break;
+
+ default:
+ break;
+ }
+
+ return hw_status;
+}
+
+hw_status_t HW_UART_Transmit_DMA(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*cb)(void))
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ hw_status_t hw_status = hw_uart_ok;
+
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_huart1TxCb = cb;
+ huart1.Instance = USART1;
+ hal_status = HAL_UART_Transmit_DMA(&huart1, p_data, size);
+ break;
+
+ case hw_lpuart1:
+ HW_hlpuart1TxCb = cb;
+ hlpuart1.Instance = LPUART1;
+ hal_status = HAL_UART_Transmit_DMA(&hlpuart1, p_data, size);
+ break;
+
+ default:
+ break;
+ }
+
+ switch (hal_status)
+ {
+ case HAL_OK:
+ hw_status = hw_uart_ok;
+ break;
+
+ case HAL_ERROR:
+ hw_status = hw_uart_error;
+ break;
+
+ case HAL_BUSY:
+ hw_status = hw_uart_busy;
+ break;
+
+ case HAL_TIMEOUT:
+ hw_status = hw_uart_to;
+ break;
+
+ default:
+ break;
+ }
+
+ return hw_status;
+}
+
+void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
+{
+ switch ((uint32_t)huart->Instance)
+ {
+ case (uint32_t)USART1:
+ if(HW_huart1RxCb)
+ {
+ HW_huart1RxCb();
+ }
+ break;
+
+ case (uint32_t)LPUART1:
+ if(HW_hlpuart1RxCb)
+ {
+ HW_hlpuart1RxCb();
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
+{
+ switch ((uint32_t)huart->Instance)
+ {
+ case (uint32_t)USART1:
+ if(HW_huart1TxCb)
+ {
+ HW_huart1TxCb();
+ }
+ break;
+
+ case (uint32_t)LPUART1:
+ if(HW_hlpuart1TxCb)
+ {
+ HW_hlpuart1TxCb();
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/lp_timer.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/lp_timer.c
new file mode 100644
index 000000000..9eac8fb92
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/lp_timer.c
@@ -0,0 +1,134 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file lp_timer.c
+ * @author MCD Application Team
+ * @brief Low power timer to be used within Mesh Application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+
+#include "lp_timer.h"
+
+/* Exported variables --------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+static void LpTimerCb(void);
+
+/* Private typedef -----------------------------------------------------------*/
+typedef struct
+{
+ uint32_t LpTimeLeftOnEntry;
+ uint8_t LpTimer_Id;
+} LpTimerContext_t;
+
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+static LpTimerContext_t LpTimerContext;
+
+/* Functions Definition ------------------------------------------------------*/
+
+/**
+ * @brief Initialize the low power timer
+ *
+ * @param None
+ * @retval None
+ */
+void LpTimerInit(void)
+{
+ (void) HW_TS_Create(CFG_TIM_PROC_ID_ISR, &(LpTimerContext.LpTimer_Id), hw_ts_SingleShot, LpTimerCb);
+
+ return;
+}
+
+/**
+ * @brief Request to start a low power timer ( running is stop mode )
+ *
+ * @param time_to_sleep : in ms
+ * @retval None
+ */
+void LpTimerStart(uint32_t time_to_sleep)
+{
+ /* Converts the number of ms into hw timer tick */
+ if(time_to_sleep > 0x400000)
+ {
+ time_to_sleep = time_to_sleep / (CFG_TS_TICK_VAL);
+ time_to_sleep *= 1000;
+ }
+ else
+ {
+ time_to_sleep *= 1000;
+ time_to_sleep = time_to_sleep / (CFG_TS_TICK_VAL);
+ }
+
+ HW_TS_Start(LpTimerContext.LpTimer_Id, time_to_sleep);
+
+ /**
+ * There might be other timers already running in the timer server that may elapse
+ * before this one.
+ * Store how long before the next event so that on wakeup, it will be possible to calculate
+ * how long the tick has been suppressed
+ */
+ LpTimerContext.LpTimeLeftOnEntry = HW_TS_RTC_ReadLeftTicksToCount();
+
+ return;
+}
+
+/**
+ * @brief Read how long the timer has run
+ *
+ * @param None
+ * @retval The time elapsed in ms
+ */
+uint32_t LpGetElapsedTime(void)
+{
+ uint32_t return_value;
+
+ return_value = (CFG_TS_TICK_VAL) * (uint32_t)(LpTimerContext.LpTimeLeftOnEntry - HW_TS_RTC_ReadLeftTicksToCount());
+ return_value = return_value / 1000;
+
+ /**
+ * The system may have been out from another reason than the timer
+ * Stop the timer after the elapsed time is calculated other wise, HW_TS_RTC_ReadLeftTicksToCount()
+ * may return 0xFFFF ( TIMER LIST EMPTY )
+ * It does not hurt stopping a timer that exists but is not running.
+ */
+ HW_TS_Stop(LpTimerContext.LpTimer_Id);
+
+ return return_value;
+}
+
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+/**
+ * @brief Low power timer callback
+ *
+ * @param None
+ * @retval None
+ */
+static void LpTimerCb( void )
+{
+ /**
+ * Nothing to be done
+ */
+
+ return;
+}
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/main.c
new file mode 100644
index 000000000..f61078fdb
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/main.c
@@ -0,0 +1,337 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.c
+ * @brief : Main program body
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ @verbatim
+ ==============================================================================
+ ##### IMPORTANT NOTE #####
+ ==============================================================================
+
+ This application requests having the stm32wb1x_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 following directory:
+ /Projects/STM32_Copro_Wireless_Binaries
+
+ 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.
+
+ @endverbatim
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "stm32_lpm.h"
+#include "stm32_seq.h"
+#include "dbg_trace.h"
+#include "hw_conf.h"
+#include "otp.h"
+
+#include "app_entry.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "models_if.h"
+#include "mesh_cfg.h"
+#include "stm32wbxx_hal_rcc.h"
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+IPCC_HandleTypeDef hipcc;
+
+RTC_HandleTypeDef hrtc = { 0 }; /**< RTC handler declaration */
+TIM_HandleTypeDef htim1 = { 0 };
+TIM_HandleTypeDef htim2 = { 0 };
+UART_HandleTypeDef hlpuart1;
+UART_HandleTypeDef huart1;
+DMA_HandleTypeDef hdma_lpuart1_tx;
+DMA_HandleTypeDef hdma_usart1_tx;
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config( void );
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main( void )
+{
+ /* USER CODE BEGIN 1 */
+
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+ /* Config code for STM32_WPAN (HSE Tuning must be done before system clock configuration) */
+ MX_APPE_Config();
+
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+
+ /* IPCC initialisation */
+ MX_IPCC_Init();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ MX_RTC_Init();
+ /* USER CODE BEGIN 2 */
+
+ /* USER CODE END 2 */
+
+ /* Init code for STM32_WPAN */
+ MX_APPE_Init();
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+ while(1)
+ {
+ /* USER CODE END WHILE */
+ MX_APPE_Process();
+
+ /* USER CODE BEGIN 3 */
+ }
+ /* USER CODE END 3 */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Configure LSE Drive Capability
+ */
+ HAL_PWR_EnableBkUpAccess();
+ __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE
+ |RCC_OSCILLATORTYPE_LSE;
+ RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+ RCC_OscInitStruct.LSEState = RCC_LSE_ON;
+ RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /** Configure the SYSCLKSource, HCLK, PCLK1 and PCLK2 clocks dividers
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK4|RCC_CLOCKTYPE_HCLK2
+ |RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSE;
+#if ( CFG_LPM_SUPPORTED == 1)
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV2;
+#else
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+#endif
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.AHBCLK2Divider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.AHBCLK4Divider = RCC_SYSCLK_DIV1;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /** Initializes the peripherals clocks
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP
+ |RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART1
+ |RCC_PERIPHCLK_LPUART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ PeriphClkInitStruct.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1;
+ PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+ PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_LSE;
+ PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSE;
+ PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN Smps */
+
+ /* USER CODE END Smps */
+}
+
+/**
+ * @brief IPCC Initialization Function
+ * @param None
+ * @retval None
+ */
+void MX_IPCC_Init(void)
+{
+
+ /* USER CODE BEGIN IPCC_Init 0 */
+
+ /* USER CODE END IPCC_Init 0 */
+
+ /* USER CODE BEGIN IPCC_Init 1 */
+
+ /* USER CODE END IPCC_Init 1 */
+ hipcc.Instance = IPCC;
+ if (HAL_IPCC_Init(&hipcc) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN IPCC_Init 2 */
+
+ /* USER CODE END IPCC_Init 2 */
+
+}
+
+/**
+ * @brief RTC Initialization Function
+ * @param None
+ * @retval None
+ */
+void MX_RTC_Init(void)
+{
+
+ /* USER CODE BEGIN RTC_Init 0 */
+
+ /* USER CODE END RTC_Init 0 */
+
+ /* USER CODE BEGIN RTC_Init 1 */
+
+ /* USER CODE END RTC_Init 1 */
+ /** Initialize RTC Only
+ */
+ hrtc.Instance = RTC;
+ hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
+ hrtc.Init.AsynchPrediv = CFG_RTC_ASYNCH_PRESCALER;
+ hrtc.Init.SynchPrediv = CFG_RTC_SYNCH_PRESCALER;
+ hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
+ hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
+ hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE;
+ if (HAL_RTC_Init(&hrtc) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /** Enable the WakeUp
+ */
+ if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 0, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN RTC_Init 2 */
+ /* Disable RTC registers write protection */
+ LL_RTC_DisableWriteProtection(RTC);
+
+ LL_RTC_WAKEUP_SetClock(RTC, CFG_RTC_WUCKSEL_DIVIDER);
+
+ /* Enable RTC registers write protection */
+ LL_RTC_EnableWriteProtection(RTC);
+ /* USER CODE END RTC_Init 2 */
+
+}
+
+/**
+ * @brief GPIO Initialization Function
+ * @param None
+ * @retval None
+ */
+void MX_GPIO_Init(void)
+{
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+
+}
+
+/* USER CODE BEGIN 4 */
+
+/* USER CODE END 4 */
+
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ __disable_irq();
+ while (1)
+ {
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(uint8_t *file, uint32_t line)
+{
+ /* USER CODE BEGIN 6 */
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+ /* USER CODE END 6 */
+}
+#endif /* USE_FULL_ASSERT */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/standby_stm32wb15.c
new file mode 100644
index 000000000..f7172d804
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/standby_stm32wb15.c
@@ -0,0 +1,164 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file standby_stm32wb15.c
+ * @author MCD Application Team
+ * @brief Specific code for standby mode
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "app_entry.h"
+#include "app_common.h"
+#include "app_debug.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+uint32_t backup_MSP;
+uint32_t backup_IPCC_C1MR;
+uint32_t boot_after_standby;
+extern RTC_HandleTypeDef hrtc;
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+uint32_t standby_boot_mng(void);
+void standby_hw_save(void);
+void standby_hw_restore(void);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*******************************************************************************
+ * This part may be updated by the user
+ ******************************************************************************/
+
+ /**
+ * @brief standby_hw_save function, saves hardware context to restore
+ * @param None
+ * @retval None
+ */
+void standby_hw_save(void)
+{
+ backup_IPCC_C1MR = READ_REG(IPCC->C1MR);
+
+ /* USER CODE BEGIN standby_hw_save */
+
+ /* USER CODE END standby_hw_save */
+ return;
+}
+
+ /**
+ * @brief standby_hw_restore function, restore and reconfigure hardware context
+ * @param None
+ * @retval None
+ */
+void standby_hw_restore(void)
+{
+ /* USER CODE BEGIN standby_hw_restore_1 */
+
+ /* USER CODE END standby_hw_restore_1 */
+
+ APPD_Init();
+ Init_Exti();
+ Init_Smps();
+ HAL_Init();
+
+ HW_IPCC_Init();
+ HW_IPCC_Enable();
+ WRITE_REG(IPCC->C1MR, backup_IPCC_C1MR);
+
+ if( !LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) )
+ {
+ LL_RCC_SetClkAfterWakeFromStop(LL_RCC_STOP_WAKEUPCLOCK_HSI);
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+ }
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_PWR_STANDBY_SEMID, 0 );
+
+ /* In this user section add MX init functions present in main.c , except MX_RTC_Init() */
+ /* USER CODE BEGIN standby_hw_restore_2 */
+
+ MX_GPIO_Init();
+
+ /* USER CODE END standby_hw_restore_2 */
+
+ HW_TS_Init(hw_ts_InitMode_Limited, &hrtc);
+
+ LL_PWR_EnableSRAM2Retention();
+
+ /* USER CODE BEGIN standby_hw_restore_3 */
+ APPE_Led_Init();
+ APPE_Button_Init();
+ /* USER CODE END standby_hw_restore_3 */
+
+ return;
+}
+
+/*******************************************************************************
+ * Do not update code from this limit.
+ ******************************************************************************/
+
+ /**
+ * @brief standby_boot_mng function, will restore MCU context if wakeup from standby
+ * @param None
+ * @retval None
+ */
+uint32_t standby_boot_mng(void)
+{
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+ __HAL_RCC_HSEM_CLK_ENABLE();
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_PWR_STANDBY_SEMID ) );
+
+ if( __HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET )
+ {
+ __disable_irq( );
+
+ boot_after_standby = 1;
+ }else{
+ boot_after_standby = 0;
+
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_PWR_STANDBY_SEMID, 0 );
+ }
+#else
+ boot_after_standby = 0;
+#endif
+
+ return boot_after_standby;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32_lpm_if.c
new file mode 100644
index 000000000..0847a023f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32_lpm_if.c
@@ -0,0 +1,446 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32_lpm_if.h"
+#include "stm32_lpm.h"
+#include "app_conf.h"
+/* USER CODE BEGIN include */
+
+/* USER CODE END include */
+
+/* Exported variables --------------------------------------------------------*/
+const struct UTIL_LPM_Driver_s UTIL_PowerDriver =
+{
+ PWR_EnterSleepMode,
+ PWR_ExitSleepMode,
+
+ PWR_EnterStopMode,
+ PWR_ExitStopMode,
+
+ PWR_EnterOffMode,
+ PWR_ExitOffMode,
+};
+
+extern uint32_t boot_after_standby;
+extern RTC_HandleTypeDef hrtc;
+
+#define CSTACK_PREAMBLE_NUMBER 16
+uint32_t cStackPreamble[CSTACK_PREAMBLE_NUMBER];
+
+typedef void( *intfunc )( void );
+typedef union { intfunc __fun; void * __ptr; } intvec_elem;
+extern const intvec_elem __vector_table[];
+
+void CPUcontextSave(void); /* this function is implemented in startup assembly file */
+void standby_hw_save(void);
+void standby_hw_restore(void);
+void SystemClock_Config(void);
+
+/* Private function prototypes -----------------------------------------------*/
+static void Switch_On_HSI( void );
+static void EnterLowPower( void );
+static void ExitLowPower( void );
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+static void ExitLowPower_standby( void );
+#endif
+/* USER CODE BEGIN Private_Function_Prototypes */
+
+/* USER CODE END Private_Function_Prototypes */
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN Private_Typedef */
+
+/* USER CODE END Private_Typedef */
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Private_Define */
+
+/* USER CODE END Private_Define */
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Private_Macro */
+
+/* USER CODE END Private_Macro */
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN Private_Variables */
+
+/* USER CODE END Private_Variables */
+
+/* Functions Definition ------------------------------------------------------*/
+/**
+ * @brief Enters Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_EnterOffMode( void )
+{
+/* USER CODE BEGIN PWR_EnterOffMode_1 */
+
+/* USER CODE END PWR_EnterOffMode_1 */
+ /**
+ * The systick should be disabled for the same reason than when the device enters stop mode because
+ * at this time, the device may enter either OffMode or StopMode.
+ */
+ HAL_SuspendTick();
+
+ EnterLowPower();
+
+ /************************************************************************************
+ * ENTER OFF MODE
+ ***********************************************************************************/
+ /*
+ * There is no risk to clear all the WUF here because in the current implementation, this API is called
+ * in critical section. If an interrupt occurs while in that critical section before that point,
+ * the flag is set and will be cleared here but the system will not enter Off Mode
+ * because an interrupt is pending in the NVIC. The ISR will be executed when moving out
+ * of this critical section
+ */
+ LL_PWR_ClearFlag_WU( );
+
+ LL_PWR_SetPowerMode( LL_PWR_MODE_STANDBY );
+
+ LL_LPM_EnableDeepSleep( ); /**< Set SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+#if defined ( __CC_ARM)
+ __force_stores( );
+#endif
+
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+ /* This part of code must not put in a function as it deals with C stack calls.
+ * A function call will push data in C stack and impact algorithm.
+ */
+ /* local variable are here for better view */
+ uint8_t i = 0;
+ uint32_t* ptr;
+ /* Save part of the stack that will be restored at wakeup */
+ ptr = __vector_table[0].__ptr ;
+ ptr -= CSTACK_PREAMBLE_NUMBER;
+ do {
+ cStackPreamble[i] = *ptr;
+ i++;
+ ptr++;
+ } while (i < CSTACK_PREAMBLE_NUMBER);
+
+ LL_EXTI_EnableEvent_32_63( LL_EXTI_LINE_40 );
+ LL_EXTI_EnableRisingTrig_32_63( LL_EXTI_LINE_40 );
+
+ standby_hw_save();
+
+ CPUcontextSave();/* this function will call WFI instruction */
+#endif
+
+/* USER CODE BEGIN PWR_EnterOffMode_2 */
+
+/* USER CODE END PWR_EnterOffMode_2 */
+ return;
+}
+
+/**
+ * @brief Exits Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_ExitOffMode( void )
+{
+/* USER CODE BEGIN PWR_ExitOffMode_1 */
+
+/* USER CODE END PWR_ExitOffMode_1 */
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+ /* This part of code must not put in a function as it deals with C stack calls.
+ * A function call will push data in C stack and impact algorithm.
+ */
+ if(boot_after_standby != 0)
+ {
+ boot_after_standby = 0;
+ /* local variable are here for better view */
+ uint8_t i = 0;
+ uint32_t* ptr;
+ /* Restore the part of stack that has been saved before the sleep */
+ ptr = __vector_table[0].__ptr ;
+ ptr -= CSTACK_PREAMBLE_NUMBER;
+ do {
+ *ptr = cStackPreamble[i];
+ i++;
+ ptr++;
+ } while (i < CSTACK_PREAMBLE_NUMBER);
+
+ standby_hw_restore();
+
+ ExitLowPower_standby();
+ }
+ else
+ {
+ ExitLowPower();
+ }
+
+ HAL_ResumeTick();
+#endif
+/* USER CODE BEGIN PWR_ExitOffMode_2 */
+
+/* USER CODE END PWR_ExitOffMode_2 */
+ return;
+}
+
+/**
+ * @brief Enters Low Power Stop Mode
+ * @note ARM exists the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterStopMode( void )
+{
+/* USER CODE BEGIN PWR_EnterStopMode_1 */
+
+/* USER CODE END PWR_EnterStopMode_1 */
+ /**
+ * When HAL_DBGMCU_EnableDBGStopMode() is called to keep the debugger active in Stop Mode,
+ * the systick shall be disabled otherwise the cpu may crash when moving out from stop mode
+ *
+ * When in production, the HAL_DBGMCU_EnableDBGStopMode() is not called so that the device can reach best power consumption
+ * However, the systick should be disabled anyway to avoid the case when it is about to expire at the same time the device enters
+ * stop mode ( this will abort the Stop Mode entry ).
+ */
+ HAL_SuspendTick();
+
+ /**
+ * This function is called from CRITICAL SECTION
+ */
+ EnterLowPower();
+
+ /************************************************************************************
+ * ENTER STOP MODE
+ ***********************************************************************************/
+ LL_PWR_SetPowerMode( LL_PWR_MODE_STOP1 );
+
+ LL_LPM_EnableDeepSleep( ); /**< Set SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+#if defined ( __CC_ARM)
+ __force_stores( );
+#endif
+
+ __WFI();
+
+/* USER CODE BEGIN PWR_EnterStopMode_2 */
+
+/* USER CODE END PWR_EnterStopMode_2 */
+ return;
+}
+
+/**
+ * @brief Exits Low Power Stop Mode
+ * @note Enable the pll at 32MHz
+ * @param none
+ * @retval none
+ */
+void PWR_ExitStopMode( void )
+{
+/* USER CODE BEGIN PWR_ExitStopMode_1 */
+
+/* USER CODE END PWR_ExitStopMode_1 */
+ /**
+ * This function is called from CRITICAL SECTION
+ */
+ ExitLowPower();
+
+ HAL_ResumeTick();
+/* USER CODE BEGIN PWR_ExitStopMode_2 */
+
+/* USER CODE END PWR_ExitStopMode_2 */
+ return;
+}
+
+/**
+ * @brief Enters Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterSleepMode( void )
+{
+/* USER CODE BEGIN PWR_EnterSleepMode_1 */
+
+/* USER CODE END PWR_EnterSleepMode_1 */
+
+ HAL_SuspendTick();
+
+ /************************************************************************************
+ * ENTER SLEEP MODE
+ ***********************************************************************************/
+ LL_LPM_EnableSleep( ); /**< Clear SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+#if defined ( __CC_ARM)
+ __force_stores();
+#endif
+
+ __WFI( );
+/* USER CODE BEGIN PWR_EnterSleepMode_2 */
+
+/* USER CODE END PWR_EnterSleepMode_2 */
+ return;
+}
+
+/**
+ * @brief Exits Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_ExitSleepMode( void )
+{
+/* USER CODE BEGIN PWR_ExitSleepMode_1 */
+
+/* USER CODE END PWR_ExitSleepMode_1 */
+ HAL_ResumeTick();
+/* USER CODE BEGIN PWR_ExitSleepMode_2 */
+
+/* USER CODE END PWR_ExitSleepMode_2 */
+ return;
+}
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+/**
+ * @brief Setup the system to enter either stop or off mode
+ * @param none
+ * @retval none
+ */
+static void EnterLowPower( void )
+{
+ /**
+ * This function is called from CRITICAL SECTION
+ */
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) );
+
+ if ( ! LL_HSEM_1StepLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID ) )
+ {
+ if( LL_PWR_IsActiveFlag_C2DS() || LL_PWR_IsActiveFlag_C2SB() )
+ {
+ /* Release ENTRY_STOP_MODE semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
+
+ Switch_On_HSI( );
+ }
+ }
+ else
+ {
+ Switch_On_HSI( );
+ }
+
+ /* Release RCC semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+
+ return;
+}
+
+/**
+ * @brief Restore the system to exit stop mode
+ * @param none
+ * @retval none
+ */
+static void ExitLowPower( void )
+{
+ /* Release ENTRY_STOP_MODE semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) );
+
+ if(LL_RCC_GetSysClkSource( ) == LL_RCC_SYS_CLKSOURCE_STATUS_HSI)
+ {
+/* Restore the clock configuration of the application in this user section */
+/* USER CODE BEGIN ExitLowPower_1 */
+ LL_RCC_HSE_Enable( );
+ __HAL_FLASH_SET_LATENCY(FLASH_LATENCY_1);
+ while(!LL_RCC_HSE_IsReady( ));
+ LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSE);
+ while (LL_RCC_GetSysClkSource( ) != LL_RCC_SYS_CLKSOURCE_STATUS_HSE);
+/* USER CODE END ExitLowPower_1 */
+ }
+ else
+ {
+/* If the application is not running on HSE restore the clock configuration in this user section */
+/* USER CODE BEGIN ExitLowPower_2 */
+
+/* USER CODE END ExitLowPower_2 */
+ }
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+
+ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);
+#endif
+
+ /* Release RCC semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+
+ return;
+}
+
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+/**
+ * @brief Restore the system to exit standby mode
+ * @param none
+ * @retval none
+ */
+static void ExitLowPower_standby( void )
+{
+/* Release ENTRY_STOP_MODE semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) );
+/* USER CODE BEGIN ExitLowPower_standby */
+ SystemClock_Config();
+/* USER CODE END ExitLowPower_standby */
+ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);
+
+ /* Release RCC semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+
+ return;
+}
+#endif
+
+/**
+ * @brief Switch the system clock on HSI
+ * @param none
+ * @retval none
+ */
+static void Switch_On_HSI( void )
+{
+ LL_RCC_HSI_Enable( );
+ while(!LL_RCC_HSI_IsReady( ));
+ LL_RCC_SetSysClkSource( LL_RCC_SYS_CLKSOURCE_HSI );
+ LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
+ while (LL_RCC_GetSysClkSource( ) != LL_RCC_SYS_CLKSOURCE_STATUS_HSI);
+ return;
+}
+
+/* USER CODE BEGIN Private_Functions */
+
+/* USER CODE END Private_Functions */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_hal_msp.c
new file mode 100644
index 000000000..8414ecb7b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_hal_msp.c
@@ -0,0 +1,198 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_hal_msp.c
+ * @brief This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Define */
+
+/* USER CODE END Define */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Macro */
+
+/* USER CODE END Macro */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External functions --------------------------------------------------------*/
+/* USER CODE BEGIN ExternalFunctions */
+
+/* USER CODE END ExternalFunctions */
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+/**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_HSEM_CLK_ENABLE();
+
+ /* System interrupt init*/
+
+ /* Peripheral interrupt init */
+ /* HSEM_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(HSEM_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(HSEM_IRQn);
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/**
+* @brief IPCC MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hipcc: IPCC handle pointer
+* @retval None
+*/
+void HAL_IPCC_MspInit(IPCC_HandleTypeDef* hipcc)
+{
+ if(hipcc->Instance==IPCC)
+ {
+ /* USER CODE BEGIN IPCC_MspInit 0 */
+
+ /* USER CODE END IPCC_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_IPCC_CLK_ENABLE();
+ /* IPCC interrupt Init */
+ HAL_NVIC_SetPriority(IPCC_C1_RX_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(IPCC_C1_RX_IRQn);
+ HAL_NVIC_SetPriority(IPCC_C1_TX_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(IPCC_C1_TX_IRQn);
+ /* USER CODE BEGIN IPCC_MspInit 1 */
+
+ /* USER CODE END IPCC_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief IPCC MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hipcc: IPCC handle pointer
+* @retval None
+*/
+void HAL_IPCC_MspDeInit(IPCC_HandleTypeDef* hipcc)
+{
+ if(hipcc->Instance==IPCC)
+ {
+ /* USER CODE BEGIN IPCC_MspDeInit 0 */
+
+ /* USER CODE END IPCC_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_IPCC_CLK_DISABLE();
+
+ /* IPCC interrupt DeInit */
+ HAL_NVIC_DisableIRQ(IPCC_C1_RX_IRQn);
+ HAL_NVIC_DisableIRQ(IPCC_C1_TX_IRQn);
+ /* USER CODE BEGIN IPCC_MspDeInit 1 */
+
+ /* USER CODE END IPCC_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief RTC MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hrtc: RTC handle pointer
+* @retval None
+*/
+void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
+{
+ if(hrtc->Instance==RTC)
+ {
+ /* USER CODE BEGIN RTC_MspInit 0 */
+ HAL_PWR_EnableBkUpAccess(); /**< Enable access to the RTC registers */
+
+ /**
+ * Write twice the value to flush the APB-AHB bridge
+ * This bit shall be written in the register before writing the next one
+ */
+ HAL_PWR_EnableBkUpAccess();
+
+ __HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); /**< Select LSI as RTC Input */
+ /* USER CODE END RTC_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_RTC_ENABLE();
+ __HAL_RCC_RTCAPB_CLK_ENABLE();
+ /* RTC interrupt Init */
+ HAL_NVIC_SetPriority(RTC_WKUP_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(RTC_WKUP_IRQn);
+ /* USER CODE BEGIN RTC_MspInit 1 */
+ HAL_RTCEx_EnableBypassShadow(hrtc);
+ /* USER CODE END RTC_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief RTC MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hrtc: RTC handle pointer
+* @retval None
+*/
+void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
+{
+ if(hrtc->Instance==RTC)
+ {
+ /* USER CODE BEGIN RTC_MspDeInit 0 */
+
+ /* USER CODE END RTC_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_RTC_DISABLE();
+ __HAL_RCC_RTCAPB_CLK_DISABLE();
+
+ /* RTC interrupt DeInit */
+ HAL_NVIC_DisableIRQ(RTC_WKUP_IRQn);
+ /* USER CODE BEGIN RTC_MspDeInit 1 */
+
+ /* USER CODE END RTC_MspDeInit 1 */
+ }
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_it.c
new file mode 100644
index 000000000..979e09fd6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_it.c
@@ -0,0 +1,387 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "stm32wbxx_it.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "appli_mesh.h"
+#include "PWM_handlers.h"
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* External variables --------------------------------------------------------*/
+extern IPCC_HandleTypeDef hipcc;
+extern RTC_HandleTypeDef hrtc;
+extern TIM_HandleTypeDef htim1;
+extern TIM_HandleTypeDef htim2;
+extern UART_HandleTypeDef hlpuart1;
+extern UART_HandleTypeDef huart1;
+extern DMA_HandleTypeDef hdma_lpuart1_tx;
+extern DMA_HandleTypeDef hdma_usart1_tx;
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/******************************************************************************/
+/* Cortex Processor Interruption and Exception Handlers */
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+ while (1)
+ {
+ }
+ /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+ BSP_LED_On(LED_RED);
+#ifndef DISABLE_TRACES
+ printf("HARDFAULT !\r\n");
+#endif
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ /* USER CODE END W1_HardFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
+ /* USER CODE END W1_MemoryManagement_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Prefetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_BusFault_IRQn 0 */
+ /* USER CODE END W1_BusFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
+ /* USER CODE END W1_UsageFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ /* USER CODE BEGIN SVCall_IRQn 0 */
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ /* USER CODE BEGIN DebugMonitor_IRQn 0 */
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void)
+{
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+
+/******************************************************************************/
+/* STM32WBxx Peripheral Interrupt Handlers */
+/* Add here the Interrupt Handlers for the used peripherals. */
+/* For the available peripheral interrupt handler names, */
+/* please refer to the startup file (startup_stm32wbxx.s). */
+/******************************************************************************/
+
+/**
+ * @brief This function handles RTC wake-up interrupt through EXTI line 19.
+ */
+void RTC_WKUP_IRQHandler(void)
+{
+ /* USER CODE BEGIN RTC_WKUP_IRQn 0 */
+
+ /* USER CODE END RTC_WKUP_IRQn 0 */
+ HAL_RTCEx_WakeUpTimerIRQHandler(&hrtc);
+ /* USER CODE BEGIN RTC_WKUP_IRQn 1 */
+
+ /* USER CODE END RTC_WKUP_IRQn 1 */
+}
+
+/**
+ * @brief This function handles IPCC RX occupied interrupt.
+ */
+void IPCC_C1_RX_IRQHandler(void)
+{
+ /* USER CODE BEGIN IPCC_C1_RX_IRQn 0 */
+
+ /* USER CODE END IPCC_C1_RX_IRQn 0 */
+ HAL_IPCC_RX_IRQHandler(&hipcc);
+ /* USER CODE BEGIN IPCC_C1_RX_IRQn 1 */
+
+ /* USER CODE END IPCC_C1_RX_IRQn 1 */
+}
+
+/**
+ * @brief This function handles IPCC TX free interrupt.
+ */
+void IPCC_C1_TX_IRQHandler(void)
+{
+ /* USER CODE BEGIN IPCC_C1_TX_IRQn 0 */
+
+ /* USER CODE END IPCC_C1_TX_IRQn 0 */
+ HAL_IPCC_TX_IRQHandler(&hipcc);
+ /* USER CODE BEGIN IPCC_C1_TX_IRQn 1 */
+
+ /* USER CODE END IPCC_C1_TX_IRQn 1 */
+}
+
+/**
+ * @brief This function handles HSEM global interrupt.
+ */
+void HSEM_IRQHandler(void)
+{
+ /* USER CODE BEGIN HSEM_IRQn 0 */
+
+ /* USER CODE END HSEM_IRQn 0 */
+ HAL_HSEM_IRQHandler();
+ /* USER CODE BEGIN HSEM_IRQn 1 */
+
+ /* USER CODE END HSEM_IRQn 1 */
+}
+
+/* USER CODE BEGIN 1 */
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void PUSH_BUTTON_SW1_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(BUTTON_SW1_PIN);
+}
+
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void PUSH_BUTTON_SW2_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(BUTTON_SW2_PIN);
+}
+
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void PUSH_BUTTON_SW3_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(BUTTON_SW3_PIN);
+}
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void POWEROFF_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(POWEROFF_PIN);
+}
+#endif
+
+#ifdef ENABLE_PIR_SENSOR
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void PIRSensor_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(PIRSENSOR_PIN);
+}
+#endif
+
+#if(CFG_HW_USART1_ENABLED == 1)
+void USART1_IRQHandler(void)
+{
+ HAL_UART_IRQHandler(&huart1);
+}
+#endif
+
+#if(CFG_HW_USART1_DMA_TX_SUPPORTED == 1)
+void CFG_HW_USART1_DMA_TX_IRQHandler( void )
+{
+ HAL_DMA_IRQHandler(&hdma_usart1_tx);
+}
+#endif
+
+#if(CFG_HW_LPUART1_ENABLED == 1)
+void LPUART1_IRQHandler(void)
+{
+ HAL_UART_IRQHandler(&hw_lpuart1);
+}
+#endif
+
+#if(CFG_HW_LPUART1_DMA_TX_SUPPORTED == 1)
+void CFG_HW_LPUART1_DMA_TX_IRQHandler( void )
+{
+ HAL_DMA_IRQHandler(&hdma_lpuart1_tx);
+}
+#endif
+
+#if 0
+/**
+ * @brief This function handles TIM2 global interrupt.
+ */
+void TIM2_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM2_IRQn 0 */
+
+ /* USER CODE END TIM2_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim2);
+ /* USER CODE BEGIN TIM2_IRQn 1 */
+
+ /* USER CODE END TIM2_IRQn 1 */
+}
+
+/**
+ * @brief This function handles TIM1 global interrupt.
+ */
+void TIM1_CC_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM1_IRQn 0 */
+
+ /* USER CODE END TIM1_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim1);
+ /* USER CODE BEGIN TIM1_IRQn 1 */
+
+ /* USER CODE END TIM1_IRQn 1 */
+}
+#endif
+
+/* USER CODE END 1 */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/system_stm32wbxx.c
new file mode 100644
index 000000000..6a4aa6327
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/Core/Src/system_stm32wbxx.c
@@ -0,0 +1,354 @@
+/**
+ ******************************************************************************
+ * @file system_stm32wbxx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex Device Peripheral Access Layer System Source File
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32wbxx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ * After each device reset the MSI (4 MHz) is used as system clock source.
+ * Then SystemInit() function is called, in "startup_stm32wbxx.s" file, to
+ * configure the system clock before to branch to main program.
+ *
+ * This file configures the system clock as follows:
+ *=============================================================================
+ *-----------------------------------------------------------------------------
+ * System Clock source | MSI
+ *-----------------------------------------------------------------------------
+ * SYSCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * HCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * AHB Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB1 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB2 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * PLL_M | 1
+ *-----------------------------------------------------------------------------
+ * PLL_N | 8
+ *-----------------------------------------------------------------------------
+ * PLL_P | 7
+ *-----------------------------------------------------------------------------
+ * PLL_Q | 2
+ *-----------------------------------------------------------------------------
+ * PLL_R | 2
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_R | NA
+ *-----------------------------------------------------------------------------
+ * Require 48MHz for USB OTG FS, | Disabled
+ * SDIO and RNG clock |
+ *-----------------------------------------------------------------------------
+ *=============================================================================
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32WBxx_system
+ * @{
+ */
+
+/** @addtogroup stm32WBxx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32wbxx.h"
+
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE (32000000UL) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE (4000000UL) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE (16000000UL) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE (32000UL) /*!< Value of LSI in Hz*/
+#endif /* LSI_VALUE */
+
+#if !defined (LSE_VALUE)
+ #define LSE_VALUE (32768UL) /*!< Value of LSE in Hz*/
+#endif /* LSE_VALUE */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Defines
+ * @{
+ */
+
+/*!< Uncomment the following line if you need to relocate your vector Table in
+ Internal SRAM. */
+/* #define VECT_TAB_SRAM */
+#define VECT_TAB_OFFSET 0x0U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+
+#define VECT_TAB_BASE_ADDRESS SRAM1_BASE /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Variables
+ * @{
+ */
+/* The SystemCoreClock variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+ uint32_t SystemCoreClock = 4000000UL ; /*CPU1: M4 on MSI clock after startup (4MHz)*/
+
+ const uint32_t AHBPrescTable[16UL] = {1UL, 3UL, 5UL, 1UL, 1UL, 6UL, 10UL, 32UL, 2UL, 4UL, 8UL, 16UL, 64UL, 128UL, 256UL, 512UL};
+
+ const uint32_t APBPrescTable[8UL] = {0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL};
+
+ const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
+ 4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
+
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB10xx)
+ const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
+ {2UL,6UL,4UL,3UL,2UL,4UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}};
+#endif
+
+/**
+ * @}
+ */
+
+ /** @addtogroup STM32WBxx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+ /**
+ * @}
+ */
+
+ /** @addtogroup STM32WBxx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * @param None
+ * @retval None
+ */
+void SystemInit(void)
+{
+ /* Configure the Vector Table location add offset address ------------------*/
+#if defined(VECT_TAB_SRAM) && defined(VECT_TAB_BASE_ADDRESS)
+ /* program in SRAMx */
+ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAMx for CPU1 */
+#else /* program in FLASH */
+ SCB->VTOR = VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
+#endif
+
+ /* FPU settings ------------------------------------------------------------*/
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+ SCB->CPACR |= ((3UL << (10UL*2UL))|(3UL << (11UL*2UL))); /* set CP10 and CP11 Full Access */
+#endif
+
+ /* Reset the RCC clock configuration to the default reset state ------------*/
+ /* Set MSION bit */
+ RCC->CR |= RCC_CR_MSION;
+
+ /* Reset CFGR register */
+ RCC->CFGR = 0x00070000U;
+
+ /* Reset PLLSAI1ON, PLLON, HSECSSON, HSEON, HSION, and MSIPLLON bits */
+ RCC->CR &= (uint32_t)0xFAF6FEFBU;
+
+ /*!< Reset LSI1 and LSI2 bits */
+ RCC->CSR &= (uint32_t)0xFFFFFFFAU;
+
+ /*!< Reset HSI48ON bit */
+ RCC->CRRCR &= (uint32_t)0xFFFFFFFEU;
+
+ /* Reset PLLCFGR register */
+ RCC->PLLCFGR = 0x22041000U;
+
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx)
+ /* Reset PLLSAI1CFGR register */
+ RCC->PLLSAI1CFGR = 0x22041000U;
+#endif
+
+ /* Reset HSEBYP bit */
+ RCC->CR &= 0xFFFBFFFFU;
+
+ /* Disable all interrupts */
+ RCC->CIER = 0x00000000;
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***)
+ * or HSI_VALUE(*) or MSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) MSI_VALUE is a constant defined in stm32wbxx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSI_VALUE is a constant defined in stm32wbxx_hal_conf.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***) HSE_VALUE is a constant defined in stm32wbxx_hal_conf.h file (default value
+ * 32 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ *
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate(void)
+{
+ uint32_t tmp, msirange, pllvco, pllr, pllsource , pllm;
+
+ /* Get MSI Range frequency--------------------------------------------------*/
+
+ /*MSI frequency range in Hz*/
+ msirange = MSIRangeTable[(RCC->CR & RCC_CR_MSIRANGE) >> RCC_CR_MSIRANGE_Pos];
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case 0x00: /* MSI used as system clock source */
+ SystemCoreClock = msirange;
+ break;
+
+ case 0x04: /* HSI used as system clock source */
+ /* HSI used as system clock source */
+ SystemCoreClock = HSI_VALUE;
+ break;
+
+ case 0x08: /* HSE used as system clock source */
+ SystemCoreClock = HSE_VALUE;
+ break;
+
+ case 0x0C: /* PLL used as system clock source */
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or MSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC);
+ pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1UL ;
+
+ if(pllsource == 0x02UL) /* HSI used as PLL clock source */
+ {
+ pllvco = (HSI_VALUE / pllm);
+ }
+ else if(pllsource == 0x03UL) /* HSE used as PLL clock source */
+ {
+ pllvco = (HSE_VALUE / pllm);
+ }
+ else /* MSI used as PLL clock source */
+ {
+ pllvco = (msirange / pllm);
+ }
+
+ pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos);
+ pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1UL);
+
+ SystemCoreClock = pllvco/pllr;
+ break;
+
+ default:
+ SystemCoreClock = msirange;
+ break;
+ }
+
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK1 prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos)];
+ /* HCLK clock frequency */
+ SystemCoreClock = SystemCoreClock / tmp;
+
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewd b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewd
new file mode 100644
index 000000000..0b3534b03
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewd
@@ -0,0 +1,2834 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <fileVersion>3</fileVersion>
+ <configuration>
+ <name>Lighting_LPN</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>29</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>MemOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MemFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\debugger\ST\STM32WB15_M4.ddf</state>
+ </option>
+ <option>
+ <name>RunToEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDDFArgumentProducer</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadSuppressDownload</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDownloadVerifyAll</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>OCDynDriverList</name>
+ <state>STLINK_ID</state>
+ </option>
+ <option>
+ <name>OCLastSavedByProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>UseFlashLoader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CLowLevel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacFile2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CDevice</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>FlashLoadersV3</name>
+ <state>$TOOLKIT_DIR$\config\flashloader\ST\FlashSTM32WB15xx_M4.board</state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OverrideDefFlashBoard</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesOffset1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesUse1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDeviceConfigMacroFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDebuggerExtraOption</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAllMTBOptions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreNrOfCores</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreMaster</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCMulticorePort</name>
+ <state>53461</state>
+ </option>
+ <option>
+ <name>OCMulticoreWorkspace</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveProject</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveConfiguration</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadExtraImage</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAttachSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MassEraseBeforeFlashing</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ARMSIM_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCSimDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCSimEnablePSP</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspOverrideConfig</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspConfigFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CADI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCadiMemory</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Fast Model</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCADILogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCADILogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CMSISDAP_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CMSISDAPResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>CMSISDAPDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CMSISDAPProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>GDBSERVER_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IJET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>IjetHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>IjetHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>IjetPowerFromProbe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPowerRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>IjetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetProtocolRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSwoPin</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetSwoPrescalerList</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPreferETB</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetTraceSettingsList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetTraceSizeList</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>FlashBoardPathSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>16</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>JLinkSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCJLinkDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCDoJlinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkResetList</name>
+ <version>6</version>
+ <state>5</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCTcpIpAlt</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTcpIpSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSourceDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkDeviceName</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>PEMICRO_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>3</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJPEMicroShowSettings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>STLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkResetList</name>
+ <version>3</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state>32.0</state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCSTLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkDAPNumber</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkDebugAccessPortRadio</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>THIRDPARTY_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CThirdPartyDriverDll</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>TIFET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVccTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVoltage</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CCMSPFetVCCDefault</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetSettlingtime</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioJtagSpeedType</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetConnection</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetUsbComPort</name>
+ <state>Automatic</state>
+ </option>
+ <option>
+ <name>CCMSPFetAllowAccessToBSL</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioEraseFlash</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XDS100_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TIPackageOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>TIPackage</name>
+ <state></state>
+ </option>
+ <option>
+ <name>BoardFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCXds100BreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100DoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCXds100CatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockEdit</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCXds100HWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100JtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceRadio</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ProbeList</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPortRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPort</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+ <configuration>
+ <name>Lighting_Provisioner</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>29</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>MemOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MemFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\debugger\ST\STM32WB_M4.ddf</state>
+ </option>
+ <option>
+ <name>RunToEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDDFArgumentProducer</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadSuppressDownload</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDownloadVerifyAll</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>OCDynDriverList</name>
+ <state>STLINK_ID</state>
+ </option>
+ <option>
+ <name>OCLastSavedByProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>UseFlashLoader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CLowLevel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacFile2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CDevice</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>FlashLoadersV3</name>
+ <state>$TOOLKIT_DIR$\config\flashloader\ST\FlashSTM32WB_M4.board</state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OverrideDefFlashBoard</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesOffset1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesUse1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDeviceConfigMacroFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDebuggerExtraOption</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAllMTBOptions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreNrOfCores</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreMaster</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCMulticorePort</name>
+ <state>53461</state>
+ </option>
+ <option>
+ <name>OCMulticoreWorkspace</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveProject</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveConfiguration</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadExtraImage</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAttachSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MassEraseBeforeFlashing</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ARMSIM_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCSimDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCSimEnablePSP</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspOverrideConfig</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspConfigFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CADI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCadiMemory</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Fast Model</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCADILogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCADILogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CMSISDAP_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CMSISDAPResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>CMSISDAPDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CMSISDAPProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>GDBSERVER_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IJET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>IjetHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>IjetHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>IjetPowerFromProbe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPowerRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>IjetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetProtocolRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSwoPin</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetSwoPrescalerList</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPreferETB</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetTraceSettingsList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetTraceSizeList</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>FlashBoardPathSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>16</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>JLinkSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCJLinkDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCDoJlinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkResetList</name>
+ <version>6</version>
+ <state>5</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCTcpIpAlt</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTcpIpSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSourceDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkDeviceName</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>PEMICRO_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>3</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJPEMicroShowSettings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>STLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkResetList</name>
+ <version>3</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state>32.0</state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCSTLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkDAPNumber</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkDebugAccessPortRadio</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>THIRDPARTY_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CThirdPartyDriverDll</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>TIFET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVccTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVoltage</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CCMSPFetVCCDefault</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetSettlingtime</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioJtagSpeedType</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetConnection</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetUsbComPort</name>
+ <state>Automatic</state>
+ </option>
+ <option>
+ <name>CCMSPFetAllowAccessToBSL</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioEraseFlash</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XDS100_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TIPackageOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>TIPackage</name>
+ <state></state>
+ </option>
+ <option>
+ <name>BoardFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCXds100BreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100DoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCXds100CatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockEdit</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCXds100HWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100JtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceRadio</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ProbeList</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPortRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPort</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+</project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewp b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewp
new file mode 100644
index 000000000..d0b2e1c29
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/BLE_MeshLightingLPN.ewp
@@ -0,0 +1,1310 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <fileVersion>3</fileVersion>
+ <configuration>
+ <name>Lighting_LPN</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>30</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>ExePath</name>
+ <state>Lighting_LPN\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Lighting_LPN\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Lighting_LPN\List</state>
+ </option>
+ <option>
+ <name>GEndianMode</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>Automatic choice of formatter, without multibyte support.</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>Automatic choice of formatter, without multibyte support.</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGCoreOrChip</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>OGProductVersion</name>
+ <state>7.80.2.11970</state>
+ </option>
+ <option>
+ <name>OGLastSavedByProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>STM32WB15CC ST STM32WB15CC</state>
+ </option>
+ <option>
+ <name>GenLowLevelInterface</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GEndianModeBE</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGBufferedTerminalOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenStdoutInterface</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>RTConfigPath2</name>
+ <state>$TOOLKIT_DIR$\inc\c\DLib_Config_Full.h</state>
+ </option>
+ <option>
+ <name>GBECoreSlave</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGUseCmsis</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGUseCmsisDspLib</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibThreads</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreVariant</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>GFPUDeviceSlave</name>
+ <state>STM32WB15CC ST STM32WB15CC</state>
+ </option>
+ <option>
+ <name>FPU2</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>NrRegs</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>NEON</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GFPUCoreSlave2</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGCMSISPackSelectDevice</name>
+ </option>
+ <option>
+ <name>OgLibHeap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGLibAdditionalLocale</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGPrintfVariant</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGPrintfMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGScanfVariant</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGScanfMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenLocaleTags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>GenLocaleDisplayOnly</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DSPExtension</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TrustZone</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>34</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCDefines</name>
+ <state>USE_STM32WBXX_NUCLEO</state>
+ <state>USE_HAL_DRIVER</state>
+ <state>STM32WB15xx</state>
+ <state>ENABLE_USART</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>1</version>
+ <state>11111110</state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IEndianMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCLangConformance</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSignedPlainChar</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$/../Core/Inc</state>
+ <state>$PROJ_DIR$/../STM32_WPAN/app</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc/Legacy</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities</state>
+ <state>$PROJ_DIR$/../../../../../../Utilities/lpm/tiny_lpm</state>
+ <state>$PROJ_DIR$/../../../../../../Utilities/sequencer</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Include</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/BSP/NUCLEO-WB15CC</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeSection</name>
+ <state>.text</state>
+ </option>
+ <option>
+ <name>IProcessorMode2</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CCPosIndRopi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndRwpi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndNoDynInit</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccLang</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccAllowVLA</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccStaticDestr</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccCppInlineSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccFloatSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptimizationNoSizeConstraints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptStrategySlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCGuardCalls</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExceptions2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccRTTI2</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>10</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AltRegisterNames</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AsmNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>OBJCOPY</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OOCOutputFormat</name>
+ <version>3</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCOutputOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCOutputFile</name>
+ <state>BLE_MeshLightingLPN.hex</state>
+ </option>
+ <option>
+ <name>OOCCommandLineProducer</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCObjCopyEnable</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ <hasPrio>0</hasPrio>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data />
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>ILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>20</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IlinkLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkInputFileSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOutputFile</name>
+ <state>BLE_MeshLightingLPN.out</state>
+ </option>
+ <option>
+ <name>IlinkDebugInfoEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkKeepSymbols</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkConfigDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkMapFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogInitialization</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogModule</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogSection</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogVeneer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile</name>
+ <state>$PROJ_DIR$\stm32wb15xx_flash_cm4.icf</state>
+ </option>
+ <option>
+ <name>IlinkIcfFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkSuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsRem</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkWarningsAreErrors</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkUseExtraOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkLowLevelInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAutoLibEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAdditionalLibs</name>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Library\libBle_Mesh_CM4_WB15xx_IAR.a</state>
+ </option>
+ <option>
+ <name>IlinkOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabel</name>
+ <state>__iar_program_start</state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>FillerStart</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>FillerEnd</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkBufferedTerminalOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkStdoutInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcFullSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIElfToolPostProcess</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogAutoLibSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogRedirSymbols</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogUnusedFragments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcReverseByteOrder</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcUseAsInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptInline</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsAllow</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsForce</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptMergeDuplSections</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptUseVfe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptForceVfe</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackAnalysisEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackControlFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkStackCallGraphFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlgorithm</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcUnitSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkThreadsSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogCallGraph</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile_AltDefault</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkHeapSelect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLocaleSelect</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IARCHIVE</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IarchiveInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IarchiveOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IarchiveOutput</name>
+ <state>###Unitialized###</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data />
+ </settings>
+ <settings>
+ <name>Coder</name>
+ <archiveVersion>0</archiveVersion>
+ <data />
+ </settings>
+ </configuration>
+ <group>
+ <name>Application</name>
+ <group>
+ <name>EWARM</name>
+ <file>
+ <name>$PROJ_DIR$\startup_stm32wb15xx_cm4.s</name>
+ </file>
+ </group>
+ <group>
+ <name>User</name>
+ <group>
+ <name>Core</name>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\app_debug.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\app_entry.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\hw_flash.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\hw_timerserver.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\hw_uart.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\lp_timer.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\standby_stm32wb15.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32_lpm_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_hal_msp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_it.c</name>
+ </file>
+ </group>
+ <group>
+ <name>STM32_WPAN</name>
+ <group>
+ <name>App</name>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\app_ble.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_config.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_generic.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_light.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_light_lc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_mesh.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_nvm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_sensor.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_vendor.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\models_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\pal_nvm.c</name>
+ </file>
+ </group>
+ <group>
+ <name>Target</name>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\target\hw_ipcc.c</name>
+ </file>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group>
+ <name>Doc</name>
+ <file>
+ <name>$PROJ_DIR$\..\readme.txt</name>
+ </file>
+ </group>
+ <group>
+ <name>Drivers</name>
+ <group>
+ <name>BSP</name>
+ <group>
+ <name>NUCLEO-WB15CC</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>CMSIS</name>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\system_stm32wbxx.c</name>
+ </file>
+ </group>
+ <group>
+ <name>STM32WBxx_HAL_Driver</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_cortex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_gpio.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart_ex.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>Middlewares</name>
+ <group>
+ <name>STM32_WPAN</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gap_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gatt_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hal_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hci_le.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_l2cap_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\common.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\dbg_trace.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\generic.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\light.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\light_lc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\mesh.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Src\mesh_cfg.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\template\osal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\otp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\sensors.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\shci\shci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_list.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_queue.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\svc_ctl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\tl_mbox.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\vendor.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>Utilities</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\lpm\tiny_lpm\stm32_lpm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\sequencer\stm32_seq.c</name>
+ </file>
+ </group>
+</project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/Project.eww b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/Project.eww
new file mode 100644
index 000000000..d692bd89f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/Project.eww
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workspace>
+ <project>
+ <path>$WS_DIR$\BLE_MeshLightingLPN.ewp</path>
+ </project>
+ <batchBuild />
+</workspace>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/startup_stm32wb15xx_cm4.s
new file mode 100644
index 000000000..1a107ce9a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/startup_stm32wb15xx_cm4.s
@@ -0,0 +1,469 @@
+;******************************************************************************
+;* File Name : startup_stm32wb15xx_cm4.s
+;* Author : MCD Application Team
+;* Description : M4 core vector table of the STM32WB15xx devices for the
+;* IAR (EWARM) toolchain with support of standby.
+;*
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == _iar_program_start,
+;* - Set the vector table entries with the exceptions ISR
+;* address.
+;* - Branches to main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+;
+;
+; The modules in this file are included in the libraries, and may be replaced
+; by any user-defined modules that define the PUBLIC symbol _program_start or
+; a user defined start symbol.
+; To override the cstartup defined in the library, simply add your modified
+; version to the workbench project.
+;
+; The vector table is normally located at address 0.
+; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
+; The name "__vector_table" has special meaning for C-SPY:
+; it is where the SP start value is found, and the NVIC vector
+; table register (VTOR) is initialized to this address if != 0.
+;
+; Cortex-M version
+;
+
+ MODULE ?cstartup
+
+ ;; Forward declaration of sections.
+ SECTION CSTACK:DATA:NOROOT(3)
+
+ SECTION .intvec:CODE:NOROOT(2)
+
+ EXTERN __iar_program_start
+ EXTERN SystemInit
+ EXTERN standby_boot_mng
+ PUBLIC __vector_table
+
+ DATA
+__vector_table
+ DCD sfe(CSTACK)
+ DCD Reset_Handler ; Reset Handler
+
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD and PVM Interrupt
+ DCD TAMP_STAMP_LSECSS_IRQHandler ; RTC Tamper, TimeStamp Interrupts and LSECSS Interrupts
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup Interrupt
+ DCD FLASH_IRQHandler ; FLASH global Interrupt
+ DCD RCC_IRQHandler ; RCC Interrupt
+ DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
+ DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
+ DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
+ DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 Interrupt
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 Interrupt
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 Interrupt
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 Interrupt
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 Interrupt
+ DCD ADC1_IRQHandler ; ADC1 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD C2SEV_PWR_C2H_IRQHandler ; CPU M0+ SEV Interrupt
+ DCD COMP_IRQHandler ; COMP1 Interrupts
+ DCD EXTI9_5_IRQHandler ; EXTI Lines [9:5] Interrupt
+ DCD TIM1_BRK_IRQHandler ; TIM1 Break Interrupt
+ DCD TIM1_UP_IRQHandler ; TIM1 Update Interrupt
+ DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Communication Interrupts
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare Interrupt
+ DCD TIM2_IRQHandler ; TIM2 Global Interrupt
+ DCD PKA_IRQHandler ; PKA Interrupt
+ DCD I2C1_EV_IRQHandler ; I2C1 Event Interrupt
+ DCD I2C1_ER_IRQHandler ; I2C1 Error Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SPI1_IRQHandler ; SPI1 Interrupt
+ DCD 0 ; Reserved
+ DCD USART1_IRQHandler ; USART1 Interrupt
+ DCD LPUART1_IRQHandler ; LPUART1 Interrupt
+ DCD 0 ; Reserved
+ DCD TSC_IRQHandler ; TSC Interrupt
+ DCD EXTI15_10_IRQHandler ; EXTI Lines1[15:10 ]Interrupts
+ DCD RTC_Alarm_IRQHandler ; RTC Alarms (A and B) Interrupt
+ DCD 0 ; Reserved
+ DCD PWR_SOTF_BLEACT_RFPHASE_IRQHandler ; WKUP Interrupt from PWR
+ DCD IPCC_C1_RX_IRQHandler ; IPCC CPU1 RX occupied interrupt
+ DCD IPCC_C1_TX_IRQHandler ; IPCC CPU1 RX free interrupt
+ DCD HSEM_IRQHandler ; HSEM0 Interrupt
+ DCD LPTIM1_IRQHandler ; LPTIM1 Interrupt
+ DCD LPTIM2_IRQHandler ; LPTIM2 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD AES2_IRQHandler ; AES2 Interrupt
+ DCD RNG_IRQHandler ; RNG1 Interrupt
+ DCD FPU_IRQHandler ; FPU Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD DMAMUX1_OVR_IRQHandler ; DMAMUX overrun Interrupt
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Default interrupt handlers.
+;;
+ THUMB
+
+ IMPORT backup_MSP
+ EXPORT CPUcontextSave
+ PUBWEAK Reset_Handler
+ SECTION .text:CODE:NOROOT:REORDER(2)
+Reset_Handler
+/* If we exit from standby mode, restore CPU context and jump to asleep point. */
+ BL standby_boot_mng
+ CMP R0, #1
+ BEQ CPUcontextRestore
+/* end of specific code section for standby */
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__iar_program_start
+ BX R0
+/* These 2 functions are designed to save and then restore CPU context. */
+CPUcontextSave
+ PUSH { r4 - r7, lr } /* store R4-R7 and LR (5 words) onto the stack */
+ MOV R3, R8 /* mov thread {r8 - r12} to {r3 - r7} */
+ MOV R4, R9
+ MOV R5, R10
+ MOV R6, R11
+ MOV R7, R12
+ PUSH {R3-R7} /* store R8-R12 (5 words) onto the stack */
+ LDR R4, =backup_MSP /* load address of backup_MSP into R4 */
+ MOV R3, SP /* load the stack pointer into R3 */
+ STR R3, [R4] /* store the MSP into backup_MSP */
+ DSB
+ WFI /* all saved, trigger deep sleep */
+
+CPUcontextRestore
+ /* Even if we fall through the WFI instruction, we will immediately
+ * execute a context restore and end up where we left off with no
+ * ill effects. Normally at this point the core will either be
+ * powered off or reset (depending on the deep sleep level). */
+ LDR R4, =backup_MSP /* load address of backup_MSP into R4 */
+ LDR R4, [R4] /* load the SP from backup_MSP */
+ MOV SP, R4 /* restore the SP from R4 */
+ POP {R3-R7} /* load R8-R12 (5 words) from the stack */
+ MOV R8, R3 /* mov {r3 - r7} to {r8 - r12} */
+ MOV R9, R4
+ MOV R10, R5
+ MOV R11, R6
+ MOV R12, R7
+ POP { R4 - R7, PC } /*load R4-R7 and PC (5 words) from the stack */
+/* end of specific code section for standby */
+
+ PUBWEAK NMI_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+NMI_Handler
+ B NMI_Handler
+
+ PUBWEAK HardFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+HardFault_Handler
+ B HardFault_Handler
+
+ PUBWEAK MemManage_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+MemManage_Handler
+ B MemManage_Handler
+
+ PUBWEAK BusFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+BusFault_Handler
+ B BusFault_Handler
+
+ PUBWEAK UsageFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+UsageFault_Handler
+ B UsageFault_Handler
+
+ PUBWEAK SVC_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SVC_Handler
+ B SVC_Handler
+
+ PUBWEAK DebugMon_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DebugMon_Handler
+ B DebugMon_Handler
+
+ PUBWEAK PendSV_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PendSV_Handler
+ B PendSV_Handler
+
+ PUBWEAK SysTick_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SysTick_Handler
+ B SysTick_Handler
+
+ PUBWEAK WWDG_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+WWDG_IRQHandler
+ B WWDG_IRQHandler
+
+ PUBWEAK PVD_PVM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PVD_PVM_IRQHandler
+ B PVD_PVM_IRQHandler
+
+ PUBWEAK TAMP_STAMP_LSECSS_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TAMP_STAMP_LSECSS_IRQHandler
+ B TAMP_STAMP_LSECSS_IRQHandler
+
+ PUBWEAK RTC_WKUP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RTC_WKUP_IRQHandler
+ B RTC_WKUP_IRQHandler
+
+ PUBWEAK FLASH_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+FLASH_IRQHandler
+ B FLASH_IRQHandler
+
+ PUBWEAK RCC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RCC_IRQHandler
+ B RCC_IRQHandler
+
+ PUBWEAK EXTI0_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI0_IRQHandler
+ B EXTI0_IRQHandler
+
+ PUBWEAK EXTI1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI1_IRQHandler
+ B EXTI1_IRQHandler
+
+ PUBWEAK EXTI2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI2_IRQHandler
+ B EXTI2_IRQHandler
+
+ PUBWEAK EXTI3_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI3_IRQHandler
+ B EXTI3_IRQHandler
+
+ PUBWEAK EXTI4_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI4_IRQHandler
+ B EXTI4_IRQHandler
+
+ PUBWEAK DMA1_Channel1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel1_IRQHandler
+ B DMA1_Channel1_IRQHandler
+
+ PUBWEAK DMA1_Channel2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel2_IRQHandler
+ B DMA1_Channel2_IRQHandler
+
+ PUBWEAK DMA1_Channel3_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel3_IRQHandler
+ B DMA1_Channel3_IRQHandler
+
+ PUBWEAK DMA1_Channel4_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel4_IRQHandler
+ B DMA1_Channel4_IRQHandler
+
+ PUBWEAK DMA1_Channel5_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel5_IRQHandler
+ B DMA1_Channel5_IRQHandler
+
+ PUBWEAK DMA1_Channel6_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel6_IRQHandler
+ B DMA1_Channel6_IRQHandler
+
+ PUBWEAK DMA1_Channel7_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel7_IRQHandler
+ B DMA1_Channel7_IRQHandler
+
+ PUBWEAK ADC1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+ADC1_IRQHandler
+ B ADC1_IRQHandler
+
+ PUBWEAK C2SEV_PWR_C2H_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+C2SEV_PWR_C2H_IRQHandler
+ B C2SEV_PWR_C2H_IRQHandler
+
+ PUBWEAK COMP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+COMP_IRQHandler
+ B COMP_IRQHandler
+
+ PUBWEAK EXTI9_5_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI9_5_IRQHandler
+ B EXTI9_5_IRQHandler
+
+ PUBWEAK TIM1_BRK_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_BRK_IRQHandler
+ B TIM1_BRK_IRQHandler
+
+ PUBWEAK TIM1_UP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_UP_IRQHandler
+ B TIM1_UP_IRQHandler
+
+ PUBWEAK TIM1_TRG_COM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_TRG_COM_IRQHandler
+ B TIM1_TRG_COM_IRQHandler
+
+ PUBWEAK TIM1_CC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_CC_IRQHandler
+ B TIM1_CC_IRQHandler
+
+ PUBWEAK TIM2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM2_IRQHandler
+ B TIM2_IRQHandler
+
+ PUBWEAK PKA_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PKA_IRQHandler
+ B PKA_IRQHandler
+
+ PUBWEAK I2C1_EV_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+I2C1_EV_IRQHandler
+ B I2C1_EV_IRQHandler
+
+ PUBWEAK I2C1_ER_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+I2C1_ER_IRQHandler
+ B I2C1_ER_IRQHandler
+
+ PUBWEAK SPI1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SPI1_IRQHandler
+ B SPI1_IRQHandler
+
+ PUBWEAK USART1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+USART1_IRQHandler
+ B USART1_IRQHandler
+
+ PUBWEAK LPUART1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPUART1_IRQHandler
+ B LPUART1_IRQHandler
+
+ PUBWEAK TSC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TSC_IRQHandler
+ B TSC_IRQHandler
+
+ PUBWEAK EXTI15_10_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI15_10_IRQHandler
+ B EXTI15_10_IRQHandler
+
+ PUBWEAK RTC_Alarm_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RTC_Alarm_IRQHandler
+ B RTC_Alarm_IRQHandler
+
+ PUBWEAK PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ B PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+
+ PUBWEAK IPCC_C1_RX_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+IPCC_C1_RX_IRQHandler
+ B IPCC_C1_RX_IRQHandler
+
+ PUBWEAK IPCC_C1_TX_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+IPCC_C1_TX_IRQHandler
+ B IPCC_C1_TX_IRQHandler
+
+ PUBWEAK HSEM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+HSEM_IRQHandler
+ B HSEM_IRQHandler
+
+ PUBWEAK LPTIM1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPTIM1_IRQHandler
+ B LPTIM1_IRQHandler
+
+ PUBWEAK LPTIM2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPTIM2_IRQHandler
+ B LPTIM2_IRQHandler
+
+ PUBWEAK AES2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+AES2_IRQHandler
+ B AES2_IRQHandler
+
+ PUBWEAK RNG_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RNG_IRQHandler
+ B RNG_IRQHandler
+
+ PUBWEAK FPU_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+FPU_IRQHandler
+ B FPU_IRQHandler
+
+ PUBWEAK DMAMUX1_OVR_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMAMUX1_OVR_IRQHandler
+ B DMAMUX1_OVR_IRQHandler
+
+ END
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/stm32wb15xx_flash_cm4.icf
new file mode 100644
index 000000000..85c580b6e
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/EWARM/stm32wb15xx_flash_cm4.icf
@@ -0,0 +1,42 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/
+/*-Editor annotation file-*/
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
+/*-Specials-*/
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+/*-Memory Regions-*/
+/***** FLASH Part dedicated to M4 *****/
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080217FF;
+define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
+define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
+/*-Sizes-*/
+define symbol __ICFEDIT_size_cstack__ = 0x1000;
+define symbol __ICFEDIT_size_heap__ = 0x400;
+/**** End of ICF editor section. ###ICF###*/
+
+define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
+define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF;
+
+define memory mem with size = 4G;
+define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
+define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
+define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__];
+define region Total_RAM_region = RAM_region | RAM_SHARED_region ;
+
+define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
+define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
+
+/* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */
+initialize by copy { readwrite };
+do not initialize { section .noinit,
+ section MAPPING_TABLE,
+ section MB_MEM1 };
+
+place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
+
+place in ROM_region { readonly };
+place in RAM_region { block CSTACK, block HEAP };
+place in RAM_SHARED_region { section MB_MEM1};
+place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvoptx b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvoptx
new file mode 100644
index 000000000..a22d76302
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvoptx
@@ -0,0 +1,1144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
+
+ <SchemaVersion>1.0</SchemaVersion>
+
+ <Header>### uVision Project, (C) Keil Software</Header>
+
+ <Extensions>
+ <cExt>*.c</cExt>
+ <aExt>*.s*; *.src; *.a*</aExt>
+ <oExt>*.obj; *.o</oExt>
+ <lExt>*.lib</lExt>
+ <tExt>*.txt; *.h; *.inc; *.md</tExt>
+ <pExt>*.plm</pExt>
+ <CppX>*.cpp</CppX>
+ <nMigrate>0</nMigrate>
+ </Extensions>
+
+ <DaveTm>
+ <dwLowDateTime>0</dwLowDateTime>
+ <dwHighDateTime>0</dwHighDateTime>
+ </DaveTm>
+
+ <Target>
+ <TargetName>Lighting_LPN</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <TargetOption>
+ <CLKADS>32000000</CLKADS>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>79</PageWidth>
+ <PageLength>66</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath></ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>1</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>18</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <bEvRecOn>1</bEvRecOn>
+ <bSchkAxf>0</bSchkAxf>
+ <bTchkAxf>0</bTchkAxf>
+ <nTsel>0</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2CM3.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32WB1x_320_M4 -FL050000 -FS08000000 -FP0($$Device:STM32WB15CCUx$CMSIS\Flash\STM32WB1x_320_M4.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>0</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <bAutoGenD>0</bAutoGenD>
+ <LntExFlags>0</LntExFlags>
+ <pMisraName></pMisraName>
+ <pszMrule></pszMrule>
+ <pSingCmds></pSingCmds>
+ <pMultCmds></pMultCmds>
+ <pMisraNamep></pMisraNamep>
+ <pszMrulep></pszMrulep>
+ <pSingCmdsp></pSingCmdsp>
+ <pMultCmdsp></pMultCmdsp>
+ </TargetOption>
+ </Target>
+
+ <Group>
+ <GroupName>Application/Core</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>1</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/app_debug.c</PathWithFileName>
+ <FilenameWithoutPath>app_debug.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>2</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/app_entry.c</PathWithFileName>
+ <FilenameWithoutPath>app_entry.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>3</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/hw_flash.c</PathWithFileName>
+ <FilenameWithoutPath>hw_flash.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>4</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/hw_timerserver.c</PathWithFileName>
+ <FilenameWithoutPath>hw_timerserver.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>5</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/hw_uart.c</PathWithFileName>
+ <FilenameWithoutPath>hw_uart.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>6</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/lp_timer.c</PathWithFileName>
+ <FilenameWithoutPath>lp_timer.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>7</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/main.c</PathWithFileName>
+ <FilenameWithoutPath>main.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>8</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/stm32_lpm_if.c</PathWithFileName>
+ <FilenameWithoutPath>stm32_lpm_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>9</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/stm32wbxx_it.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_it.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Application/MDK-ARM</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>10</FileNumber>
+ <FileType>2</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>.\startup_stm32wb15xx_cm4.s</PathWithFileName>
+ <FilenameWithoutPath>startup_stm32wb15xx_cm4.s</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Application/STM32_WPAN/app</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>11</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/app_ble.c</PathWithFileName>
+ <FilenameWithoutPath>app_ble.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>12</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_generic.c</PathWithFileName>
+ <FilenameWithoutPath>appli_generic.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>13</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_light.c</PathWithFileName>
+ <FilenameWithoutPath>appli_light.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>14</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_light_lc.c</PathWithFileName>
+ <FilenameWithoutPath>appli_light_lc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>15</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_mesh.c</PathWithFileName>
+ <FilenameWithoutPath>appli_mesh.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>16</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_nvm.c</PathWithFileName>
+ <FilenameWithoutPath>appli_nvm.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>17</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_sensor.c</PathWithFileName>
+ <FilenameWithoutPath>appli_sensor.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>18</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/models_if.c</PathWithFileName>
+ <FilenameWithoutPath>models_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>19</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/pal_nvm.c</PathWithFileName>
+ <FilenameWithoutPath>pal_nvm.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>20</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\STM32_WPAN\app\appli_config.c</PathWithFileName>
+ <FilenameWithoutPath>appli_config.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>21</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\STM32_WPAN\app\appli_vendor.c</PathWithFileName>
+ <FilenameWithoutPath>appli_vendor.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Application/STM32_WPAN/target</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>22</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/target/hw_ipcc.c</PathWithFileName>
+ <FilenameWithoutPath>hw_ipcc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Doc</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>23</FileNumber>
+ <FileType>5</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../readme.txt</PathWithFileName>
+ <FilenameWithoutPath>readme.txt</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Drivers/BSP/P-NUCLEO-WB55.Nucleo</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>6</GroupNumber>
+ <FileNumber>24</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</PathWithFileName>
+ <FilenameWithoutPath>nucleo_wb15cc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Drivers/CMSIS</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>7</GroupNumber>
+ <FileNumber>25</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/system_stm32wbxx.c</PathWithFileName>
+ <FilenameWithoutPath>system_stm32wbxx.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Drivers/STM32WBxx_HAL_Driver</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>26</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>27</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_cortex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>28</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_dma.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>29</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_flash.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>30</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_flash_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>31</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_gpio.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>32</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_pwr.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>33</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_pwr_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>34</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rcc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>35</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rcc_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>36</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rtc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>37</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rtc_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>38</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_uart.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>39</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_uart_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>40</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_ipcc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>41</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_hsem.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>42</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_exti.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>43</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_dma_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/blesvc</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>44</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/common.c</PathWithFileName>
+ <FilenameWithoutPath>common.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>45</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c</PathWithFileName>
+ <FilenameWithoutPath>generic.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>46</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light.c</PathWithFileName>
+ <FilenameWithoutPath>light.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>47</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light_lc.c</PathWithFileName>
+ <FilenameWithoutPath>light_lc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>48</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/mesh.c</PathWithFileName>
+ <FilenameWithoutPath>mesh.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>49</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Src/mesh_cfg.c</PathWithFileName>
+ <FilenameWithoutPath>mesh_cfg.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>50</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/sensors.c</PathWithFileName>
+ <FilenameWithoutPath>sensors.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>51</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</PathWithFileName>
+ <FilenameWithoutPath>svc_ctl.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>52</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/vendor.c</PathWithFileName>
+ <FilenameWithoutPath>vendor.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/core</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>53</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_gap_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>54</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_gatt_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>55</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_hal_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>56</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</PathWithFileName>
+ <FilenameWithoutPath>ble_hci_le.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>57</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_l2cap_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>58</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</PathWithFileName>
+ <FilenameWithoutPath>osal.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/shci</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>11</GroupNumber>
+ <FileNumber>59</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</PathWithFileName>
+ <FilenameWithoutPath>shci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>60</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</PathWithFileName>
+ <FilenameWithoutPath>hci_tl.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>61</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</PathWithFileName>
+ <FilenameWithoutPath>hci_tl_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>62</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</PathWithFileName>
+ <FilenameWithoutPath>shci_tl.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>63</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</PathWithFileName>
+ <FilenameWithoutPath>shci_tl_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>64</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</PathWithFileName>
+ <FilenameWithoutPath>tl_mbox.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/utilities</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>65</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</PathWithFileName>
+ <FilenameWithoutPath>dbg_trace.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>66</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/otp.c</PathWithFileName>
+ <FilenameWithoutPath>otp.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>67</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Utilities/lpm/tiny_lpm/stm32_lpm.c</PathWithFileName>
+ <FilenameWithoutPath>stm32_lpm.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>68</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Utilities/sequencer/stm32_seq.c</PathWithFileName>
+ <FilenameWithoutPath>stm32_seq.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>69</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_list.c</PathWithFileName>
+ <FilenameWithoutPath>stm_list.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>70</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</PathWithFileName>
+ <FilenameWithoutPath>stm_queue.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/ST/STM32_WPAN/ble/mesh/Library</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>14</GroupNumber>
+ <FileNumber>71</FileNumber>
+ <FileType>4</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Library\libBle_Mesh_CM4_WB15xx_Keil.lib</PathWithFileName>
+ <FilenameWithoutPath>libBle_Mesh_CM4_WB15xx_Keil.lib</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>1</RteFlg>
+ </Group>
+
+</ProjectOpt>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvprojx b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvprojx
new file mode 100644
index 000000000..5f474fee8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/BLE_MeshLightingDemoLPN.uvprojx
@@ -0,0 +1,828 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+ <SchemaVersion>2.1</SchemaVersion>
+
+ <Header>### uVision Project, (C) Keil Software</Header>
+
+ <Targets>
+ <Target>
+ <TargetName>Lighting_LPN</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
+ <uAC6>0</uAC6>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>STM32WB15CCUx</Device>
+ <Vendor>STMicroelectronics</Vendor>
+ <PackID>Keil.STM32WBxx_DFP.1.2.0</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00003000) IRAM2(0x20030000,0x00009000) IROM(0x08000000,0x00050000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ESEL ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32WB1x_320_M4 -FS08000000 -FL050000 -FP0($$Device:STM32WB15CCUx$CMSIS\Flash\STM32WB1x_320_M4.FLM))</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:STM32WB15CCUx$Drivers\CMSIS\Device\ST\STM32WBxx\Include\stm32wbxx.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:STM32WB15CCUx$CMSIS\SVD\STM32WB15_CM4.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>Lighting_LPN\Exe\</OutputDirectory>
+ <OutputName>BLE_MeshLightingLPNDemo</OutputName>
+ <CreateExecutable>1</CreateExecutable>
+ <CreateLib>0</CreateLib>
+ <CreateHexFile>1</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>1</BrowseInformation>
+ <ListingPath></ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>0</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName>SARMCM3.DLL</SimDllName>
+ <SimDllArguments> -REMAP -MPU</SimDllArguments>
+ <SimDlgDll>DCM.DLL</SimDlgDll>
+ <SimDlgDllArguments>-pCM4</SimDlgDllArguments>
+ <TargetDllName>SARMCM3.DLL</TargetDllName>
+ <TargetDllArguments> -MPU</TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>1</Capability>
+ <DriverSelection>4096</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2CM3.DLL</Flash2>
+ <Flash3>"" ()</Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArmAds>
+ <ArmAdsMisc>
+ <GenerateListings>0</GenerateListings>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <AdsALst>1</AdsALst>
+ <AdsACrf>1</AdsACrf>
+ <AdsANop>0</AdsANop>
+ <AdsANot>0</AdsANot>
+ <AdsLLst>1</AdsLLst>
+ <AdsLmap>1</AdsLmap>
+ <AdsLcgr>1</AdsLcgr>
+ <AdsLsym>1</AdsLsym>
+ <AdsLszi>1</AdsLszi>
+ <AdsLtoi>1</AdsLtoi>
+ <AdsLsun>1</AdsLsun>
+ <AdsLven>1</AdsLven>
+ <AdsLsxf>1</AdsLsxf>
+ <RvctClst>0</RvctClst>
+ <GenPPlst>0</GenPPlst>
+ <AdsCpuType>"Cortex-M4"</AdsCpuType>
+ <RvctDeviceName></RvctDeviceName>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>2</RvdsVP>
+ <RvdsMve>0</RvdsMve>
+ <RvdsCdeCp>0</RvdsCdeCp>
+ <hadIRAM2>1</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <StupSel>8</StupSel>
+ <useUlib>1</useUlib>
+ <EndSel>1</EndSel>
+ <uLtcg>0</uLtcg>
+ <nSecure>0</nSecure>
+ <RoSelD>3</RoSelD>
+ <RwSelD>4</RwSelD>
+ <CodeSel>0</CodeSel>
+ <OptFeed>0</OptFeed>
+ <NoZi1>0</NoZi1>
+ <NoZi2>0</NoZi2>
+ <NoZi3>0</NoZi3>
+ <NoZi4>0</NoZi4>
+ <NoZi5>0</NoZi5>
+ <Ro1Chk>0</Ro1Chk>
+ <Ro2Chk>0</Ro2Chk>
+ <Ro3Chk>0</Ro3Chk>
+ <Ir1Chk>1</Ir1Chk>
+ <Ir2Chk>0</Ir2Chk>
+ <Ra1Chk>0</Ra1Chk>
+ <Ra2Chk>0</Ra2Chk>
+ <Ra3Chk>0</Ra3Chk>
+ <Im1Chk>1</Im1Chk>
+ <Im2Chk>1</Im2Chk>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x3000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x8000000</StartAddress>
+ <Size>0x50000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <OCR_RVCT1>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT1>
+ <OCR_RVCT2>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT2>
+ <OCR_RVCT3>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT3>
+ <OCR_RVCT4>
+ <Type>1</Type>
+ <StartAddress>0x8000000</StartAddress>
+ <Size>0x21800</Size>
+ </OCR_RVCT4>
+ <OCR_RVCT5>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT5>
+ <OCR_RVCT6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT6>
+ <OCR_RVCT7>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT7>
+ <OCR_RVCT8>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT8>
+ <OCR_RVCT9>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x3000</Size>
+ </OCR_RVCT9>
+ <OCR_RVCT10>
+ <Type>0</Type>
+ <StartAddress>0x20030000</StartAddress>
+ <Size>0x2800</Size>
+ </OCR_RVCT10>
+ </OnChipMemories>
+ <RvctStartVector></RvctStartVector>
+ </ArmAdsMisc>
+ <Cads>
+ <interw>1</interw>
+ <Optim>4</Optim>
+ <oTime>0</oTime>
+ <SplitLS>0</SplitLS>
+ <OneElfS>1</OneElfS>
+ <Strict>0</Strict>
+ <EnumInt>0</EnumInt>
+ <PlainCh>0</PlainCh>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <wLevel>2</wLevel>
+ <uThumb>0</uThumb>
+ <uSurpInc>0</uSurpInc>
+ <uC99>1</uC99>
+ <uGnu>0</uGnu>
+ <useXO>0</useXO>
+ <v6Lang>1</v6Lang>
+ <v6LangP>1</v6LangP>
+ <vShortEn>1</vShortEn>
+ <vShortWch>1</vShortWch>
+ <v6Lto>0</v6Lto>
+ <v6WtE>0</v6WtE>
+ <v6Rtti>0</v6Rtti>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define>USE_STM32WBXX_NUCLEO,USE_HAL_DRIVER,STM32WB15xx,ENABLE_USART</Define>
+ <Undefine></Undefine>
+ <IncludePath>../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include;../../../../../../Drivers/CMSIS/Include;../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc;../../../../../../Drivers/BSP/NUCLEO-WB15CC;../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc;../Core/Inc;../../../../../../Middlewares/ST/STM32_WPAN;../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto;../../../../../../Middlewares/ST/STM32_WPAN/utilities;../../../../../../Utilities/lpm/tiny_lpm;../../../../../../Utilities/sequencer;../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template;../../../../../../Middlewares/ST/STM32_WPAN/ble/core/;../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl;../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci;../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc;../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread;../STM32_WPAN/app;../../../../../../Middlewares/ST/STM32_WPAN/ble</IncludePath>
+ </VariousControls>
+ </Cads>
+ <Aads>
+ <interw>1</interw>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <thumb>0</thumb>
+ <SplitLS>0</SplitLS>
+ <SwStkChk>0</SwStkChk>
+ <NoWarn>0</NoWarn>
+ <uSurpInc>0</uSurpInc>
+ <useXO>0</useXO>
+ <ClangAsOpt>4</ClangAsOpt>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aads>
+ <LDads>
+ <umfTarg>0</umfTarg>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <noStLib>0</noStLib>
+ <RepFail>1</RepFail>
+ <useFile>0</useFile>
+ <TextAddressRange>0x08000000</TextAddressRange>
+ <DataAddressRange>0x20000000</DataAddressRange>
+ <pXoBase></pXoBase>
+ <ScatterFile>.\stm32wb15xx_flash_cm4.sct</ScatterFile>
+ <IncludeLibs></IncludeLibs>
+ <IncludeLibsPath></IncludeLibsPath>
+ <Misc></Misc>
+ <LinkerInputFile></LinkerInputFile>
+ <DisabledWarnings></DisabledWarnings>
+ </LDads>
+ </TargetArmAds>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Application/Core</GroupName>
+ <Files>
+ <File>
+ <FileName>app_debug.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/app_debug.c</FilePath>
+ </File>
+ <File>
+ <FileName>app_entry.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/app_entry.c</FilePath>
+ </File>
+ <File>
+ <FileName>hw_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/hw_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>hw_timerserver.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/hw_timerserver.c</FilePath>
+ </File>
+ <File>
+ <FileName>hw_uart.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/hw_uart.c</FilePath>
+ </File>
+ <File>
+ <FileName>lp_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/lp_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>main.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/main.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_lpm_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/stm32_lpm_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_it.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/stm32wbxx_it.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Application/MDK-ARM</GroupName>
+ <Files>
+ <File>
+ <FileName>startup_stm32wb15xx_cm4.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>.\startup_stm32wb15xx_cm4.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Application/STM32_WPAN/app</GroupName>
+ <Files>
+ <File>
+ <FileName>app_ble.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/app_ble.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_generic.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_generic.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_light.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_light.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_light_lc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_light_lc.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_mesh.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_mesh.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_nvm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_nvm.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_sensor.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_sensor.c</FilePath>
+ </File>
+ <File>
+ <FileName>models_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/models_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>pal_nvm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/pal_nvm.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_config.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\STM32_WPAN\app\appli_config.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_vendor.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\STM32_WPAN\app\appli_vendor.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Application/STM32_WPAN/target</GroupName>
+ <Files>
+ <File>
+ <FileName>hw_ipcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/target/hw_ipcc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Doc</GroupName>
+ <Files>
+ <File>
+ <FileName>readme.txt</FileName>
+ <FileType>5</FileType>
+ <FilePath>../readme.txt</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Drivers/BSP/P-NUCLEO-WB55.Nucleo</GroupName>
+ <Files>
+ <File>
+ <FileName>nucleo_wb15cc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Drivers/CMSIS</GroupName>
+ <Files>
+ <File>
+ <FileName>system_stm32wbxx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/system_stm32wbxx.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Drivers/STM32WBxx_HAL_Driver</GroupName>
+ <Files>
+ <File>
+ <FileName>stm32wbxx_hal.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_cortex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_dma.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_flash_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_gpio.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_pwr.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_pwr_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rcc_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rtc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rtc_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_uart.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_uart_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_ipcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_hsem.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_exti.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_dma_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/blesvc</GroupName>
+ <Files>
+ <File>
+ <FileName>common.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/common.c</FilePath>
+ </File>
+ <File>
+ <FileName>generic.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c</FilePath>
+ </File>
+ <File>
+ <FileName>light.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light.c</FilePath>
+ </File>
+ <File>
+ <FileName>light_lc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light_lc.c</FilePath>
+ </File>
+ <File>
+ <FileName>mesh.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/mesh.c</FilePath>
+ </File>
+ <File>
+ <FileName>mesh_cfg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Src/mesh_cfg.c</FilePath>
+ </File>
+ <File>
+ <FileName>sensors.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/sensors.c</FilePath>
+ </File>
+ <File>
+ <FileName>svc_ctl.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</FilePath>
+ </File>
+ <File>
+ <FileName>vendor.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/vendor.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/core</GroupName>
+ <Files>
+ <File>
+ <FileName>ble_gap_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_gatt_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_hal_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_hci_le.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_l2cap_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>osal.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/shci</GroupName>
+ <Files>
+ <File>
+ <FileName>shci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl</GroupName>
+ <Files>
+ <File>
+ <FileName>hci_tl.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</FilePath>
+ </File>
+ <File>
+ <FileName>hci_tl_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>shci_tl.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</FilePath>
+ </File>
+ <File>
+ <FileName>shci_tl_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>tl_mbox.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/utilities</GroupName>
+ <Files>
+ <File>
+ <FileName>dbg_trace.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</FilePath>
+ </File>
+ <File>
+ <FileName>otp.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/otp.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_lpm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Utilities/lpm/tiny_lpm/stm32_lpm.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_seq.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Utilities/sequencer/stm32_seq.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm_list.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_list.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm_queue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/ST/STM32_WPAN/ble/mesh/Library</GroupName>
+ <Files>
+ <File>
+ <FileName>libBle_Mesh_CM4_WB15xx_Keil.lib</FileName>
+ <FileType>4</FileType>
+ <FilePath>..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Library\libBle_Mesh_CM4_WB15xx_Keil.lib</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ </Group>
+ </Groups>
+ </Target>
+ </Targets>
+
+ <RTE>
+ <apis/>
+ <components>
+ <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.4.0" condition="ARMv6_7_8-M Device">
+ <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.7.0"/>
+ <targetInfos>
+ <targetInfo name="Lighting_LPN"/>
+ </targetInfos>
+ </component>
+ </components>
+ <files/>
+ </RTE>
+
+</Project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/startup_stm32wb15xx_cm4.s
new file mode 100644
index 000000000..3b925699a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -0,0 +1,335 @@
+;******************************************************************************
+;* File Name : startup_stm32wb15xx_cm4.s
+;* Author : MCD Application Team
+;* Description : STM32WB15xx devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the CortexM4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;* <<< Use Configuration Wizard in Context Menu >>>
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; <h> Stack Configuration
+; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+; </h>
+
+Stack_Size EQU 0x1000
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; <h> Heap Configuration
+; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+; </h>
+
+Heap_Size EQU 0x400
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD and PVM detector
+ DCD TAMP_STAMP_LSECSS_IRQHandler ; RTC Tamper and TimeStamp Interrupts and LSECSS Interrupts
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup Interrupt
+ DCD FLASH_IRQHandler ; FLASH global Interrupt
+ DCD RCC_IRQHandler ; RCC Interrupt
+ DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
+ DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
+ DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
+ DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 Interrupt
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 Interrupt
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 Interrupt
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 Interrupt
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 Interrupt
+ DCD ADC1_IRQHandler ; ADC1 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD C2SEV_PWR_C2H_IRQHandler ; CPU M0+ SEV Interrupt
+ DCD COMP_IRQHandler ; COMP1 Interrupts
+ DCD EXTI9_5_IRQHandler ; EXTI Lines [9:5] Interrupt
+ DCD TIM1_BRK_IRQHandler ; TIM1 Break Interrupt
+ DCD TIM1_UP_IRQHandler ; TIM1 Update Interrupt
+ DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Communication Interrupts
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare Interrupt
+ DCD TIM2_IRQHandler ; TIM2 Global Interrupt
+ DCD PKA_IRQHandler ; PKA Interrupt
+ DCD I2C1_EV_IRQHandler ; I2C1 Event Interrupt
+ DCD I2C1_ER_IRQHandler ; I2C1 Error Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SPI1_IRQHandler ; SPI1 Interrupt
+ DCD 0 ; Reserved
+ DCD USART1_IRQHandler ; USART1 Interrupt
+ DCD LPUART1_IRQHandler ; LPUART1 Interrupt
+ DCD 0 ; Reserved
+ DCD TSC_IRQHandler ; TSC Interrupt
+ DCD EXTI15_10_IRQHandler ; EXTI Lines1[15:10 ]Interrupts
+ DCD RTC_Alarm_IRQHandler ; RTC Alarms (A and B) Interrupt
+ DCD 0 ; Reserved
+ DCD PWR_SOTF_BLEACT_RFPHASE_IRQHandler ; WKUP Interrupt from PWR
+ DCD IPCC_C1_RX_IRQHandler ; IPCC CPU1 RX occupied interrupt
+ DCD IPCC_C1_TX_IRQHandler ; IPCC CPU1 RX free interrupt
+ DCD HSEM_IRQHandler ; HSEM0 Interrupt
+ DCD LPTIM1_IRQHandler ; LPTIM1 Interrupt
+ DCD LPTIM2_IRQHandler ; LPTIM2 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD AES2_IRQHandler ; AES2 Interrupt
+ DCD RNG_IRQHandler ; RNG1 Interrupt
+ DCD FPU_IRQHandler ; FPU Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD DMAMUX1_OVR_IRQHandler ; DMAMUX overrun Interrupt
+
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT SystemInit
+ IMPORT __main
+
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_PVM_IRQHandler [WEAK]
+ EXPORT TAMP_STAMP_LSECSS_IRQHandler [WEAK]
+ EXPORT RTC_WKUP_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_IRQHandler [WEAK]
+ EXPORT C2SEV_PWR_C2H_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_IRQHandler [WEAK]
+ EXPORT TIM1_UP_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT PKA_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT LPUART1_IRQHandler [WEAK]
+ EXPORT TSC_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT PWR_SOTF_BLEACT_RFPHASE_IRQHandler [WEAK]
+ EXPORT IPCC_C1_RX_IRQHandler [WEAK]
+ EXPORT IPCC_C1_TX_IRQHandler [WEAK]
+ EXPORT HSEM_IRQHandler [WEAK]
+ EXPORT LPTIM1_IRQHandler [WEAK]
+ EXPORT LPTIM2_IRQHandler [WEAK]
+ EXPORT AES1_IRQHandler [WEAK]
+ EXPORT AES2_IRQHandler [WEAK]
+ EXPORT RNG_IRQHandler [WEAK]
+ EXPORT FPU_IRQHandler [WEAK]
+ EXPORT DMAMUX1_OVR_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_PVM_IRQHandler
+TAMP_STAMP_LSECSS_IRQHandler
+RTC_WKUP_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_IRQHandler
+C2SEV_PWR_C2H_IRQHandler
+COMP_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_IRQHandler
+TIM1_UP_IRQHandler
+TIM1_TRG_COM_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+PKA_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+SPI1_IRQHandler
+USART1_IRQHandler
+LPUART1_IRQHandler
+TSC_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+IPCC_C1_RX_IRQHandler
+IPCC_C1_TX_IRQHandler
+HSEM_IRQHandler
+LPTIM1_IRQHandler
+LPTIM2_IRQHandler
+AES1_IRQHandler
+AES2_IRQHandler
+RNG_IRQHandler
+FPU_IRQHandler
+DMAMUX1_OVR_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/stm32wb15xx_flash_cm4.sct
new file mode 100644
index 000000000..41a12523f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -0,0 +1,26 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00021800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00021800 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ }
+ RW_IRAM1 0x20000000 0x2FFF { ; RW data
+ .ANY (+RW +ZI)
+ }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
+ }
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.cproject b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.cproject
new file mode 100644
index 000000000..64be9d5a6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.cproject
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1042125049">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1042125049" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1042125049" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
+ <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1042125049." name="/" resourcePath="">
+ <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1789394074" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1954199454" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.216733175" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1850872984" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32WB15CCUx" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.173709518" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.2124650365" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.728774300" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.167219937" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.softfp" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1720085122" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-WB15CC" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.869117360" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32WB15CCUx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include | ../../../../../../../Drivers/CMSIS/Include | ../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc | ../../../../../../../Drivers/BSP/NUCLEO-WB15CC | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc | ../../Core/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto | ../../../../../../../Middlewares/ST/STM32_WPAN/utilities | ../../../../../../../Utilities/lpm/tiny_lpm | ../../../../../../../Utilities/sequencer | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread | ../../STM32_WPAN/app | ../../../../../../../Middlewares/ST/STM32_WPAN/ble || || || USE_HAL_DRIVER | STM32 | USE_STM32WBXX_NUCLEO | TRACE_ENABLE_NO_FUNCTION | SERVER | CORE_CM4 | ENABLE_USART | STM32WB55xx || || || || || ${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld} || true || NonSecure || || || " valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.2053324477" name="Convert to binary file (-O binary)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" useByScannerDiscovery="false" value="false" valueType="boolean"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.918194408" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+ <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1753120064" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
+ <builder buildPath="${workspace_loc:/BLE_MeshLightingLPN}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.741542336" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.650853640" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.552828428" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1585118957" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1929855418" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.288743523" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.194171913" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1082519410" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="USE_STM32WBXX_NUCLEO"/>
+ <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
+ <listOptionValue builtIn="false" value="STM32WB15xx"/>
+ <listOptionValue builtIn="false" value="ENABLE_USART"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.95161201" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/BSP/NUCLEO-WB15CC"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc"/>
+ <listOptionValue builtIn="false" value="../../Core/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/utilities"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/lpm/tiny_lpm"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/sequencer"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread"/>
+ <listOptionValue builtIn="false" value="../../STM32_WPAN/app"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.370237470" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1566689553" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1715680659" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.801855711" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1875945389" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1644942518" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" useByScannerDiscovery="false" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries.745902598" name="Libraries (-l)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries" useByScannerDiscovery="false" valueType="libs">
+ <listOptionValue builtIn="false" value=":libBle_Mesh_CM4_WB15xx_GCC.a"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories.1301827721" name="Library search path (-L)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories" valueType="libPaths">
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Library"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.492959671" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.46918157" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.71565043" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.777203772" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.996070987" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1756185575" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1039026336" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.881348444" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1052849224" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.2103525228" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1548590321" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.990354957">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.990354957" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.990354957" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
+ <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.990354957." name="/" resourcePath="">
+ <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1094761594" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1730981312" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1457477683" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1942612205" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="false" value="STM32WB15CCUx" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.387417848" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.490849877" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.887062208" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1917820365" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.softfp" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.2053219768" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-WB15CC" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.551749859" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32WB15CCUx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include | ../../../../../../../Drivers/CMSIS/Include | ../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc | ../../../../../../../Drivers/BSP/NUCLEO-WB15CC | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc | ../../Core/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto | ../../../../../../../Middlewares/ST/STM32_WPAN/utilities | ../../../../../../../Utilities/lpm/tiny_lpm | ../../../../../../../Utilities/sequencer | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread | ../../STM32_WPAN/app | ../../../../../../../Middlewares/ST/STM32_WPAN/ble || || || USE_HAL_DRIVER | STM32 | USE_STM32WBXX_NUCLEO | TRACE_ENABLE_NO_FUNCTION | SERVER | CORE_CM4 | ENABLE_USART | STM32WB55xx || || || || || ${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld} || true || NonSecure || Size || || " valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.1632491656" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.93237358" name="Convert to binary file (-O binary)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" useByScannerDiscovery="false" value="false" valueType="boolean"/>
+ <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1917451314" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
+ <builder buildPath="${workspace_loc:/BLE_MeshLightingLPN}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1005567220" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1291888201" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1503311736" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1086509307" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1394323253" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.74438747" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.262934276" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.904414974" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="USE_STM32WBXX_NUCLEO"/>
+ <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
+ <listOptionValue builtIn="false" value="STM32WB15xx"/>
+ <listOptionValue builtIn="false" value="ENABLE_USART"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.10951978" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/BSP/NUCLEO-WB15CC"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc"/>
+ <listOptionValue builtIn="false" value="../../Core/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/utilities"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/lpm/tiny_lpm"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/sequencer"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread"/>
+ <listOptionValue builtIn="false" value="../../STM32_WPAN/app"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.387080810" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.298170905" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1130273631" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1485385541" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.542612647" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1025146365" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" useByScannerDiscovery="false" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries.624087010" name="Libraries (-l)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries" useByScannerDiscovery="false" valueType="libs">
+ <listOptionValue builtIn="false" value=":libBle_Mesh_CM4_WB15xx_GCC.a"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories.1593864089" name="Library search path (-L)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories" useByScannerDiscovery="false" valueType="libPaths">
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Library"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.2011372275" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.212131513" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1997024105" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.612958366" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1673687901" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1932586854" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1839035554" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.912450511" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.942137070" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1837286031" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1130249735" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="BLE_MeshLightingLPN.null.1115370303" name="BLE_MeshLightingLPN"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.990354957;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.990354957.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1394323253;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.387080810">
+ <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1042125049;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1042125049.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1929855418;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.370237470">
+ <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject> \ No newline at end of file
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.project b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.project
new file mode 100644
index 000000000..ca44befa1
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/.project
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>BLE_MeshLightingLPN</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.st.stm32cube.ide.mcu.MCUProjectNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUNonUnderRootProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUCubeExampleProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUEndUserDisabledTrustZoneProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCURootProjectNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>Doc/readme.txt</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/readme.txt</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/app_debug.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/app_debug.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/app_entry.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/app_entry.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_flash.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/hw_flash.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_timerserver.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/hw_timerserver.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_uart.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/hw_uart.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/lp_timer.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/lp_timer.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/main.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/main.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/stm32_lpm_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/stm32_lpm_if.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/stm32wbxx_it.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/stm32wbxx_it.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/CMSIS/system_stm32wbxx.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/system_stm32wbxx.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_cortex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_dma.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_dma_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_exti.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_exti.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_flash.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_flash_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_gpio.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_hsem.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_ipcc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_pwr.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_pwr_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rcc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rcc_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rtc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rtc_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_uart.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_uart_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/app_ble.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/app_ble.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_config.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_config.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_generic.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_generic.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_light.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_light.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_light_lc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_light_lc.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_mesh.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_mesh.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_nvm.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_nvm.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_sensor.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_sensor.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_vendor.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/STM32_WPAN/app/appli_vendor.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/models_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/models_if.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/pal_nvm.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/pal_nvm.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/target/hw_ipcc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/target/hw_ipcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/BSP/NUCLEO-WB15CC/nucleo_wb15cc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/BSP/NUCLEO-WB15CC/nucleo_wb15cc.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/dbg_trace.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/otp.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/otp.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm32_lpm.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Utilities/lpm/tiny_lpm/stm32_lpm.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm32_seq.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Utilities/sequencer/stm32_seq.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm_list.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/stm_list.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm_queue.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/common.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/common.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/generic.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/light.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/light_lc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light_lc.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/mesh.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/svc/Src/mesh.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/mesh_cfg.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/Src/mesh_cfg.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/sensors.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/sensors.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/svc_ctl.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/vendor.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/vendor.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_gap_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_gatt_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_hal_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_hci_le.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_l2cap_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/osal.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/syscalls.c
new file mode 100644
index 000000000..0a2679a25
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/syscalls.c
@@ -0,0 +1,158 @@
+/**
+ ******************************************************************************
+ * @file syscalls.c
+ * @author Auto-generated by STM32CubeIDE
+ * @brief STM32CubeIDE Minimal System calls file
+ *
+ * For more information about which c-functions
+ * need which of these lowlevel functions
+ * please consult the Newlib libc-manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include <sys/stat.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdio.h>
+#include <signal.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/times.h>
+
+
+/* Variables */
+//#undef errno
+extern int errno;
+extern int __io_putchar(int ch) __attribute__((weak));
+extern int __io_getchar(void) __attribute__((weak));
+
+register char * stack_ptr asm("sp");
+
+char *__env[1] = { 0 };
+char **environ = __env;
+
+
+/* Functions */
+void initialise_monitor_handles()
+{
+}
+
+int _getpid(void)
+{
+ return 1;
+}
+
+int _kill(int pid, int sig)
+{
+ errno = EINVAL;
+ return -1;
+}
+
+void _exit (int status)
+{
+ _kill(status, -1);
+ while (1) {} /* Make sure we hang here */
+}
+
+__attribute__((weak)) int _read(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ *ptr++ = __io_getchar();
+ }
+
+return len;
+}
+
+__attribute__((weak)) int _write(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ __io_putchar(*ptr++);
+ }
+ return len;
+}
+
+int _close(int file)
+{
+ return -1;
+}
+
+
+int _fstat(int file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _isatty(int file)
+{
+ return 1;
+}
+
+int _lseek(int file, int ptr, int dir)
+{
+ return 0;
+}
+
+int _open(char *path, int flags, ...)
+{
+ /* Pretend like we always fail */
+ return -1;
+}
+
+int _wait(int *status)
+{
+ errno = ECHILD;
+ return -1;
+}
+
+int _unlink(char *name)
+{
+ errno = ENOENT;
+ return -1;
+}
+
+int _times(struct tms *buf)
+{
+ return -1;
+}
+
+int _stat(char *file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _link(char *old, char *new)
+{
+ errno = EMLINK;
+ return -1;
+}
+
+int _fork(void)
+{
+ errno = EAGAIN;
+ return -1;
+}
+
+int _execve(char *name, char **argv, char **env)
+{
+ errno = ENOMEM;
+ return -1;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/sysmem.c
new file mode 100644
index 000000000..dda5abe79
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Core/sysmem.c
@@ -0,0 +1,79 @@
+/**
+ ******************************************************************************
+ * @file sysmem.c
+ * @author Generated by STM32CubeIDE
+ * @brief STM32CubeIDE System Memory calls file
+ *
+ * For more information about which C functions
+ * need which of these lowlevel functions
+ * please consult the newlib libc manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include <errno.h>
+#include <stdint.h>
+
+/**
+ * Pointer to the current high watermark of the heap usage
+ */
+static uint8_t *__sbrk_heap_end = NULL;
+
+/**
+ * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
+ * and others from the C library
+ *
+ * @verbatim
+ * ############################################################################
+ * # .data # .bss # newlib heap # MSP stack #
+ * # # # # Reserved by _Min_Stack_Size #
+ * ############################################################################
+ * ^-- RAM start ^-- _end _estack, RAM end --^
+ * @endverbatim
+ *
+ * This implementation starts allocating at the '_end' linker symbol
+ * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
+ * The implementation considers '_estack' linker symbol to be RAM end
+ * NOTE: If the MSP stack, at any point during execution, grows larger than the
+ * reserved size, please increase the '_Min_Stack_Size'.
+ *
+ * @param incr Memory size
+ * @return Pointer to allocated memory
+ */
+void *_sbrk(ptrdiff_t incr)
+{
+ extern uint8_t _end; /* Symbol defined in the linker script */
+ extern uint8_t _estack; /* Symbol defined in the linker script */
+ extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
+ const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
+ const uint8_t *max_heap = (uint8_t *)stack_limit;
+ uint8_t *prev_heap_end;
+
+ /* Initialize heap end at first call */
+ if (NULL == __sbrk_heap_end)
+ {
+ __sbrk_heap_end = &_end;
+ }
+
+ /* Protect heap from growing into the reserved MSP stack */
+ if (__sbrk_heap_end + incr > max_heap)
+ {
+ errno = ENOMEM;
+ return (void *)-1;
+ }
+
+ prev_heap_end = __sbrk_heap_end;
+ __sbrk_heap_end += incr;
+
+ return (void *)prev_heap_end;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
new file mode 100644
index 000000000..447865dae
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -0,0 +1,392 @@
+/**
+ ******************************************************************************
+ * @file startup_stm32wb15xx_cm4.s
+ * @author MCD Application Team
+ * @brief STM32WB15xx devices vector table GCC toolchain.
+ * This module performs:
+ * - Set the initial SP
+ * - Set the initial PC == Reset_Handler,
+ * - Set the vector table entries with the exceptions ISR address
+ * - Branches to main in the C library (which eventually
+ * calls main()).
+ * After Reset the Cortex-M4 processor is in Thread mode,
+ * priority is Privileged, and the Stack is set to Main.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+ .syntax unified
+ .cpu cortex-m4
+ .fpu softvfp
+ .thumb
+
+.global g_pfnVectors
+.global Default_Handler
+
+/* start address for the initialization values of the .data section.
+defined in linker script */
+.word _sidata
+/* start address for the .data section. defined in linker script */
+.word _sdata
+/* end address for the .data section. defined in linker script */
+.word _edata
+/* start address for the .bss section. defined in linker script */
+.word _sbss
+/* end address for the .bss section. defined in linker script */
+.word _ebss
+/* start address for the .MB_MEM2 section. defined in linker script */
+.word _sMB_MEM2
+/* end address for the .MB_MEM2 section. defined in linker script */
+.word _eMB_MEM2
+
+/* INIT_BSS macro is used to fill the specified region [start : end] with zeros */
+.macro INIT_BSS start, end
+ ldr r0, =\start
+ ldr r1, =\end
+ movs r3, #0
+ bl LoopFillZerobss
+.endm
+
+/* INIT_DATA macro is used to copy data in the region [start : end] starting from 'src' */
+.macro INIT_DATA start, end, src
+ ldr r0, =\start
+ ldr r1, =\end
+ ldr r2, =\src
+ movs r3, #0
+ bl LoopCopyDataInit
+.endm
+
+.section .text.data_initializers
+CopyDataInit:
+ ldr r4, [r2, r3]
+ str r4, [r0, r3]
+ adds r3, r3, #4
+
+LoopCopyDataInit:
+ adds r4, r0, r3
+ cmp r4, r1
+ bcc CopyDataInit
+ bx lr
+
+FillZerobss:
+ str r3, [r0]
+ adds r0, r0, #4
+
+LoopFillZerobss:
+ cmp r0, r1
+ bcc FillZerobss
+ bx lr
+
+ .section .text.Reset_Handler
+ .weak Reset_Handler
+ .type Reset_Handler, %function
+Reset_Handler:
+ ldr r0, =_estack
+ mov sp, r0 /* set stack pointer */
+/* Call the clock system initialization function.*/
+ bl SystemInit
+
+/* Copy the data segment initializers from flash to SRAM */
+ INIT_DATA _sdata, _edata, _sidata
+
+/* Zero fill the bss segments. */
+ INIT_BSS _sbss, _ebss
+ INIT_BSS _sMB_MEM2, _eMB_MEM2
+
+/* Call static constructors */
+ bl __libc_init_array
+/* Call the application s entry point.*/
+ bl main
+
+LoopForever:
+ b LoopForever
+
+.size Reset_Handler, .-Reset_Handler
+
+/**
+ * @brief This is the code that gets called when the processor receives an
+ * unexpected interrupt. This simply enters an infinite loop, preserving
+ * the system state for examination by a debugger.
+ *
+ * @param None
+ * @retval None
+*/
+ .section .text.Default_Handler,"ax",%progbits
+Default_Handler:
+Infinite_Loop:
+ b Infinite_Loop
+ .size Default_Handler, .-Default_Handler
+/******************************************************************************
+*
+* The minimal vector table for a Cortex-M4. Note that the proper constructs
+* must be placed on this to ensure that it ends up at physical address
+* 0x0000.0000.
+*
+******************************************************************************/
+ .section .isr_vector,"a",%progbits
+ .type g_pfnVectors, %object
+ .size g_pfnVectors, .-g_pfnVectors
+
+
+g_pfnVectors:
+ .word _estack
+ .word Reset_Handler
+ .word NMI_Handler
+ .word HardFault_Handler
+ .word MemManage_Handler
+ .word BusFault_Handler
+ .word UsageFault_Handler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word SVC_Handler
+ .word DebugMon_Handler
+ .word 0
+ .word PendSV_Handler
+ .word SysTick_Handler
+ .word WWDG_IRQHandler
+ .word PVD_PVM_IRQHandler
+ .word TAMP_STAMP_LSECSS_IRQHandler
+ .word RTC_WKUP_IRQHandler
+ .word FLASH_IRQHandler
+ .word RCC_IRQHandler
+ .word EXTI0_IRQHandler
+ .word EXTI1_IRQHandler
+ .word EXTI2_IRQHandler
+ .word EXTI3_IRQHandler
+ .word EXTI4_IRQHandler
+ .word DMA1_Channel1_IRQHandler
+ .word DMA1_Channel2_IRQHandler
+ .word DMA1_Channel3_IRQHandler
+ .word DMA1_Channel4_IRQHandler
+ .word DMA1_Channel5_IRQHandler
+ .word DMA1_Channel6_IRQHandler
+ .word DMA1_Channel7_IRQHandler
+ .word ADC1_IRQHandler
+ .word 0
+ .word 0
+ .word C2SEV_PWR_C2H_IRQHandler
+ .word COMP_IRQHandler
+ .word EXTI9_5_IRQHandler
+ .word TIM1_BRK_IRQHandler
+ .word TIM1_UP_IRQHandler
+ .word TIM1_TRG_COM_IRQHandler
+ .word TIM1_CC_IRQHandler
+ .word TIM2_IRQHandler
+ .word PKA_IRQHandler
+ .word I2C1_EV_IRQHandler
+ .word I2C1_ER_IRQHandler
+ .word 0
+ .word 0
+ .word SPI1_IRQHandler
+ .word 0
+ .word USART1_IRQHandler
+ .word LPUART1_IRQHandler
+ .word 0
+ .word TSC_IRQHandler
+ .word EXTI15_10_IRQHandler
+ .word RTC_Alarm_IRQHandler
+ .word 0
+ .word PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ .word IPCC_C1_RX_IRQHandler
+ .word IPCC_C1_TX_IRQHandler
+ .word HSEM_IRQHandler
+ .word LPTIM1_IRQHandler
+ .word LPTIM2_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word AES2_IRQHandler
+ .word RNG_IRQHandler
+ .word FPU_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word DMAMUX1_OVR_IRQHandler
+
+/*******************************************************************************
+*
+* Provide weak aliases for each Exception handler to the Default_Handler.
+* As they are weak aliases, any function with the same name will override
+* this definition.
+*
+*******************************************************************************/
+ .weak NMI_Handler
+ .thumb_set NMI_Handler,Default_Handler
+
+ .weak HardFault_Handler
+ .thumb_set HardFault_Handler,Default_Handler
+
+ .weak MemManage_Handler
+ .thumb_set MemManage_Handler,Default_Handler
+
+ .weak BusFault_Handler
+ .thumb_set BusFault_Handler,Default_Handler
+
+ .weak UsageFault_Handler
+ .thumb_set UsageFault_Handler,Default_Handler
+
+ .weak SVC_Handler
+ .thumb_set SVC_Handler,Default_Handler
+
+ .weak DebugMon_Handler
+ .thumb_set DebugMon_Handler,Default_Handler
+
+ .weak PendSV_Handler
+ .thumb_set PendSV_Handler,Default_Handler
+
+ .weak SysTick_Handler
+ .thumb_set SysTick_Handler,Default_Handler
+
+ .weak WWDG_IRQHandler
+ .thumb_set WWDG_IRQHandler,Default_Handler
+
+ .weak PVD_PVM_IRQHandler
+ .thumb_set PVD_PVM_IRQHandler,Default_Handler
+
+ .weak TAMP_STAMP_LSECSS_IRQHandler
+ .thumb_set TAMP_STAMP_LSECSS_IRQHandler,Default_Handler
+
+ .weak RTC_WKUP_IRQHandler
+ .thumb_set RTC_WKUP_IRQHandler,Default_Handler
+
+ .weak FLASH_IRQHandler
+ .thumb_set FLASH_IRQHandler,Default_Handler
+
+ .weak RCC_IRQHandler
+ .thumb_set RCC_IRQHandler,Default_Handler
+
+ .weak EXTI0_IRQHandler
+ .thumb_set EXTI0_IRQHandler,Default_Handler
+
+ .weak EXTI1_IRQHandler
+ .thumb_set EXTI1_IRQHandler,Default_Handler
+
+ .weak EXTI2_IRQHandler
+ .thumb_set EXTI2_IRQHandler,Default_Handler
+
+ .weak EXTI3_IRQHandler
+ .thumb_set EXTI3_IRQHandler,Default_Handler
+
+ .weak EXTI4_IRQHandler
+ .thumb_set EXTI4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel1_IRQHandler
+ .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel2_IRQHandler
+ .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel3_IRQHandler
+ .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel4_IRQHandler
+ .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel5_IRQHandler
+ .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel6_IRQHandler
+ .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel7_IRQHandler
+ .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
+
+ .weak ADC1_IRQHandler
+ .thumb_set ADC1_IRQHandler,Default_Handler
+
+ .weak C2SEV_PWR_C2H_IRQHandler
+ .thumb_set C2SEV_PWR_C2H_IRQHandler,Default_Handler
+
+ .weak COMP_IRQHandler
+ .thumb_set COMP_IRQHandler,Default_Handler
+
+ .weak EXTI9_5_IRQHandler
+ .thumb_set EXTI9_5_IRQHandler,Default_Handler
+
+ .weak TIM1_BRK_IRQHandler
+ .thumb_set TIM1_BRK_IRQHandler,Default_Handler
+
+ .weak TIM1_UP_IRQHandler
+ .thumb_set TIM1_UP_IRQHandler,Default_Handler
+
+ .weak TIM1_TRG_COM_IRQHandler
+ .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler
+
+ .weak TIM1_CC_IRQHandler
+ .thumb_set TIM1_CC_IRQHandler,Default_Handler
+
+ .weak TIM2_IRQHandler
+ .thumb_set TIM2_IRQHandler,Default_Handler
+
+ .weak PKA_IRQHandler
+ .thumb_set PKA_IRQHandler,Default_Handler
+
+ .weak I2C1_EV_IRQHandler
+ .thumb_set I2C1_EV_IRQHandler,Default_Handler
+
+ .weak I2C1_ER_IRQHandler
+ .thumb_set I2C1_ER_IRQHandler,Default_Handler
+
+ .weak SPI1_IRQHandler
+ .thumb_set SPI1_IRQHandler,Default_Handler
+
+ .weak USART1_IRQHandler
+ .thumb_set USART1_IRQHandler,Default_Handler
+
+ .weak LPUART1_IRQHandler
+ .thumb_set LPUART1_IRQHandler,Default_Handler
+
+ .weak TSC_IRQHandler
+ .thumb_set TSC_IRQHandler,Default_Handler
+
+ .weak EXTI15_10_IRQHandler
+ .thumb_set EXTI15_10_IRQHandler,Default_Handler
+
+ .weak RTC_Alarm_IRQHandler
+ .thumb_set RTC_Alarm_IRQHandler,Default_Handler
+
+ .weak PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ .thumb_set PWR_SOTF_BLEACT_RFPHASE_IRQHandler,Default_Handler
+
+ .weak IPCC_C1_RX_IRQHandler
+ .thumb_set IPCC_C1_RX_IRQHandler,Default_Handler
+
+ .weak IPCC_C1_TX_IRQHandler
+ .thumb_set IPCC_C1_TX_IRQHandler,Default_Handler
+
+ .weak HSEM_IRQHandler
+ .thumb_set HSEM_IRQHandler,Default_Handler
+
+ .weak LPTIM1_IRQHandler
+ .thumb_set LPTIM1_IRQHandler,Default_Handler
+
+ .weak LPTIM2_IRQHandler
+ .thumb_set LPTIM2_IRQHandler,Default_Handler
+
+ .weak AES2_IRQHandler
+ .thumb_set AES2_IRQHandler,Default_Handler
+
+ .weak RNG_IRQHandler
+ .thumb_set RNG_IRQHandler,Default_Handler
+
+ .weak FPU_IRQHandler
+ .thumb_set FPU_IRQHandler,Default_Handler
+
+ .weak DMAMUX1_OVR_IRQHandler
+ .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
new file mode 100644
index 000000000..0e7e6c389
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -0,0 +1,188 @@
+/*
+******************************************************************************
+**
+** File : LinkerScript.ld
+**
+** Author : STM32CubeIDE
+**
+** Abstract : Linker script for STM32WB15xC Device
+** 320Kbytes FLASH
+** 48Kbytes RAM
+**
+** Set heap size, stack size and stack location according
+** to application requirements.
+**
+** Set memory bank area and size if external memory is used.
+**
+** Target : STMicroelectronics STM32
+**
+** Distribution: The file is distributed as is without any warranty
+** of any kind.
+**
+*****************************************************************************
+** @attention
+**
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
+**
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
+**
+*****************************************************************************
+*/
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+/* Highest address of the user mode stack */
+/*_estack = 0x20003000;*/ /* end of RAM */
+_estack = 0x20032800; /* end of RAM_SHARED */
+/* Generate a link error if heap and stack don't fit into RAM */
+_Min_Heap_Size = 0x400 ; /* required amount of heap */
+_Min_Stack_Size = 0x1000 ; /* required amount of stack */
+
+/* Specify the memory areas */
+MEMORY
+{
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 134K
+RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFC
+RAM_SHARED1 (xrw) : ORIGIN = 0x20030000, LENGTH = 0x28
+RAM_SHARED2 (xrw) : ORIGIN = 0x20030028, LENGTH = 0x27D8
+}
+
+/* Define output sections */
+SECTIONS
+{
+ /* The startup code goes first into FLASH */
+ .isr_vector :
+ {
+ . = ALIGN(4);
+ KEEP(*(.isr_vector)) /* Startup code */
+ . = ALIGN(4);
+ } >FLASH
+
+ /* The program code and other data goes into FLASH */
+ .text :
+ {
+ . = ALIGN(4);
+ *(.text) /* .text sections (code) */
+ *(.text*) /* .text* sections (code) */
+ *(.glue_7) /* glue arm to thumb code */
+ *(.glue_7t) /* glue thumb to arm code */
+ *(.eh_frame)
+
+ KEEP (*(.init))
+ KEEP (*(.fini))
+
+ . = ALIGN(4);
+ _etext = .; /* define a global symbols at end of code */
+ } >FLASH
+
+ /* Constant data goes into FLASH */
+ .rodata :
+ {
+ . = ALIGN(4);
+ *(.rodata) /* .rodata sections (constants, strings, etc.) */
+ *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
+ . = ALIGN(4);
+ } >FLASH
+
+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
+ .ARM : {
+ __exidx_start = .;
+ *(.ARM.exidx*)
+ __exidx_end = .;
+ } >FLASH
+
+ .preinit_array :
+ {
+ PROVIDE_HIDDEN (__preinit_array_start = .);
+ KEEP (*(.preinit_array*))
+ PROVIDE_HIDDEN (__preinit_array_end = .);
+ } >FLASH
+ .init_array :
+ {
+ PROVIDE_HIDDEN (__init_array_start = .);
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array*))
+ PROVIDE_HIDDEN (__init_array_end = .);
+ } >FLASH
+ .fini_array :
+ {
+ PROVIDE_HIDDEN (__fini_array_start = .);
+ KEEP (*(SORT(.fini_array.*)))
+ KEEP (*(.fini_array*))
+ PROVIDE_HIDDEN (__fini_array_end = .);
+ } >FLASH
+
+ /* used by the startup to initialize data */
+ _sidata = LOADADDR(.data);
+
+ /* Initialized data sections goes into RAM, load LMA copy after code */
+ .data :
+ {
+ . = ALIGN(4);
+ _sdata = .; /* create a global symbol at data start */
+ *(.data) /* .data sections */
+ *(.data*) /* .data* sections */
+ *(.RamFunc) /* .RamFunc sections */
+ *(.RamFunc*) /* .RamFunc* sections */
+
+ . = ALIGN(4);
+ _edata = .; /* define a global symbol at data end */
+ } >RAM1 AT> FLASH
+
+
+ /* Uninitialized data section */
+ . = ALIGN(4);
+ .bss1 :
+ {
+ /* This is used by the startup in order to initialize the .bss section */
+ _sbss = .; /* define a global symbol at bss start */
+ __bss_start__ = _sbss;
+ *(.bss)
+ *(COMMON)
+
+ . = ALIGN(4);
+ _ebss = .; /* define a global symbol at bss end */
+ __bss_end__ = _ebss;
+ } >RAM1
+
+ .bss2 :
+ {
+ . = ALIGN(4);
+ __bss2_start__ = .;
+ *(.bss*)
+ . = ALIGN(4);
+ __bss2_end__ = .;
+ } > RAM_SHARED2 AT > RAM_SHARED2
+
+ /* User_heap_stack section, used to check that there is enough RAM left */
+ ._user_heap_stack :
+ {
+ . = ALIGN(8);
+ PROVIDE ( end = . );
+ PROVIDE ( _end = . );
+ . = . + _Min_Heap_Size;
+ . = . + _Min_Stack_Size;
+ . = ALIGN(8);
+ } >RAM1
+
+
+
+ /* Remove information from the standard libraries */
+ /DISCARD/ :
+ {
+ libc.a ( * )
+ libm.a ( * )
+ libgcc.a ( * )
+ }
+
+ .ARM.attributes 0 : { *(.ARM.attributes) }
+ MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED1
+ MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED2
+ MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED2
+}
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.c
new file mode 100644
index 000000000..08b9446b5
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.c
@@ -0,0 +1,110 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_config.c
+ * @author MCD Application Team
+ * @brief Configuration file for PWM.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "PWM_config.h"
+
+extern TIM_HandleTypeDef htim1;
+extern TIM_HandleTypeDef htim2;
+
+#define PRESCALER_VALUE (uint32_t)(((SystemCoreClock) / 1000000) - 1)
+
+/**
+ *@brief Configure PWM sources and GPIO
+ *@retval None
+ */
+void PWM_Init()
+{
+ TIM_OC_InitTypeDef sConfigOC = {0};
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+
+ /* GPIO Configuration */
+ GPIO_InitTypeDef GPIO_InitStructure = {0};
+
+
+ /* Configure PWM pins */
+ GPIO_InitStructure.Pin = PWM0_PIN | PWM1_PIN;
+ GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure.Pull = GPIO_PULLUP;
+ GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure.Alternate = GPIO_AF1_TIM1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure);
+
+ /* Configure PWM pins */
+ GPIO_InitStructure.Pin = PWM2_PIN | PWM3_PIN | PWM4_PIN;
+ GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure.Pull = GPIO_PULLUP;
+ GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure.Alternate = GPIO_AF1_TIM2;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
+
+ /* MFT Configuration */
+ HAL_NVIC_SetPriority((IRQn_Type)(TIM1_CC_IRQn), 15, 0);
+ HAL_NVIC_EnableIRQ((IRQn_Type)(TIM1_CC_IRQn));
+ HAL_NVIC_SetPriority((IRQn_Type)(TIM2_IRQn), 15, 0);
+ HAL_NVIC_EnableIRQ((IRQn_Type)(TIM2_IRQn));
+
+ htim1.Instance = TIM1;
+ htim1.Init.Prescaler = 0/*PRESCALER_VALUE*/;
+ htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim1.Init.Period = TIME_PERIOD;
+ htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ HAL_TIM_PWM_Init(&htim1);
+
+ htim2.Instance = TIM2;
+ htim2.Init.Prescaler = 0/*PRESCALER_VALUE*/;
+ htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim2.Init.Period = TIME_PERIOD;
+ htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ HAL_TIM_PWM_Init(&htim2);
+
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig);
+ HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);
+
+ sConfigOC.OCMode = TIM_OCMODE_PWM1;
+ sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
+ sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
+ sConfigOC.Pulse = MFT1_TON_1;
+ HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
+ sConfigOC.Pulse = MFT2_TON_1;
+ HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2);
+ sConfigOC.Pulse = MFT1_TON_2;
+ HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1);
+ sConfigOC.Pulse = MFT2_TON_2;
+ HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
+ sConfigOC.Pulse = MFT2_TON_3;
+ HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3);
+
+ /* Start channel 1 */
+ HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_1);
+ /* Start channel 2 */
+ HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_2);
+ /* Start channel 1 */
+ HAL_TIM_PWM_Start_IT(&htim2, TIM_CHANNEL_1);
+ /* Start channel 2 */
+ HAL_TIM_PWM_Start_IT(&htim2, TIM_CHANNEL_2);
+ /* Start channel 3 */
+ HAL_TIM_PWM_Start_IT(&htim2, TIM_CHANNEL_3);
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.h
new file mode 100644
index 000000000..7fc56056b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_config.h
@@ -0,0 +1,74 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_config.h
+ * @author MCD Application Team
+ * @brief Header Configuration file for PWM.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "mesh_cfg_usr.h"
+
+/* Macros defined for the number of PWM Provided */
+#define PWM0 0
+#define PWM1 1
+#define PWM2 2
+#define PWM3 3
+#define PWM4 4
+
+/************************************************************************/
+
+/*STM32WB
+ * This configuration given below is for the STM32WB board.
+ * Here user has selected the PWM0 in SERIAL2_MODE and PWM1 in SERIAL1_MODE.
+ * User can configure software PWM to any of the GPIO which are not used for
+ * hardware PWM.
+*/
+/* PWM pins for MFT1 and MFT2 respectively */
+#if defined USE_STM32WBXX_NUCLEO || defined USE_STM32WBXX_USB_DONGLE
+
+#define PWM0_PIN GPIO_PIN_14 /* TIM1_CH1 AF1 */
+#define PWM1_PIN GPIO_PIN_15 /* TIM1_CH2 AF1 */
+
+/* GPIOs pins (SOFTWARE PWM) used to output a PWM signal */
+#define PWM2_PIN GPIO_PIN_0 /* TIM2_CH1 AF1 */
+#define PWM3_PIN GPIO_PIN_1 /* TIM2_CH2 AF1 */
+#define PWM4_PIN GPIO_PIN_2 /* TIM2_CH3 AF1 */
+#endif
+/************************************************************************/
+
+#define TIME_PERIOD 32000
+
+/* TIM1 Channel 1 Timer Ton and T0ff (ticks number) PWM0*/
+#define MFT1_TON_1 (12000 - 1)
+#define MFT1_TOFF_1 (20000 - 1)
+
+/* TIM1 Channel 2 Timer 1 Ton and T0ff (ticks number) PWM1*/
+#define MFT2_TON_1 (8000 - 1 )
+#define MFT2_TOFF_1 (24000 - 1)
+
+/* TIM2 Channel 1 Timer 2 Ton and T0ff (ticks number) PWM2*/
+#define MFT1_TON_2 (16000 - 1)
+#define MFT1_TOFF_2 (16000 -1)
+
+/* TIM2 Channel 2 Timer 2 Ton and T0ff (ticks number) PWM3*/
+#define MFT2_TON_2 (4000 - 1)
+#define MFT2_TOFF_2 (28000 - 1)
+
+/* TIM2 Channel 3 Timer 2 Ton and T0ff (ticks number) PWM4*/
+#define MFT2_TON_3 (4000 - 1)
+#define MFT2_TOFF_3 (28000 - 1)
+
+void PWM_Init(void);
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.c
new file mode 100644
index 000000000..74d3bc848
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.c
@@ -0,0 +1,279 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_handlers.c
+ * @author MCD Application Team
+ * @brief Handlers for PWM and other support functions.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "app_conf.h"
+#include "PWM_handlers.h"
+#include "mesh_cfg_usr.h"
+
+extern TIM_HandleTypeDef htim1;
+extern TIM_HandleTypeDef htim2;
+
+/* Global Variables */
+uint16_t DUTY;
+int NonZeroPWM0=0;
+int NonZeroPWM1=0;
+uint8_t Duty_flag_A = 0;
+uint16_t PWM0_on,
+ PWM1_on,
+ PWM2_on = MFT1_TON_2, /* Timer2, MFT1 */
+ PWM3_on = MFT2_TON_2, /* Timer2, MFT2 */
+ PWM4_on = MFT2_TON_3; /* Timer2, MFT2 */
+
+uint32_t channel = PWM3_PIN; /* It is the channel with initial lowest duty-cycle */
+uint32_t period = TIME_PERIOD; /* Period in ticks of the PWM signal */
+uint8_t channel_number = 0;
+
+uint32_t PWM_channels[] = {PWM3_PIN, PWM4_PIN}; /* Channels managed by MFT2 Timer 2 */
+uint16_t Ton_values[] = {MFT2_TON_2, MFT2_TON_3}; /* Sorted array containing duty-cycle values
+ respectively for PWM3_PIN and PWM4_PIN */
+uint16_t delta_1 = MFT2_TON_3 - MFT2_TON_2; /* Delta between the first two duty-cycles */
+uint16_t delta = MFT2_TON_3 - MFT2_TON_2;
+
+int number_of_channels = 2; /* Number of channels managed by MFT2 Timer 2 */
+int max_duty = MFT2_TON_3; /* Maximum duty-cycle */
+
+/**
+ *@brief PWM2 handler
+ *@retval None
+ */
+void PWM2_handler()
+{
+ if(__HAL_TIM_GET_FLAG(&htim1, TIM_FLAG_CC1) > 0)
+ {
+ __HAL_TIM_CLEAR_FLAG(&htim1, TIM_FLAG_CC1);
+ if(Duty_flag_A == 1)
+ {
+ HAL_GPIO_WritePin(GPIOA, PWM2_PIN, GPIO_PIN_SET);
+ Duty_flag_A = 0;
+ htim1.Instance->CCR1 = PWM2_on;
+ }
+ else
+ {
+ HAL_GPIO_WritePin(GPIOA, PWM2_PIN, GPIO_PIN_RESET);
+ Duty_flag_A = 1;
+ htim1.Instance->CCR1 = TIME_PERIOD - PWM2_on;
+ }
+ }
+}
+
+/**
+ *@brief PWM3 and PWM4 handler
+ *@retval None
+ */
+void PWM3_PWM4_handler()
+{
+ /*STATE 0
+ if delta != 0, there is a channel with a duty lower than the other one.
+ So the channel with the lower duty is cleared. Delta is period - max_duty
+ (the duty of the other channel)
+ The machine passes to STATE 1.
+
+ if delta == 0, the two channel are cleared together.
+ The machine passes to STATE 2
+
+ The delta is computed for the next timer event*/
+
+ if (channel_number < number_of_channels - 1)
+ {
+ if (delta != 0)
+ {
+// HAL_GPIO_WritePin(GPIOA, channel, GPIO_PIN_RESET);
+ htim2.Instance->CCR2 = delta - 1;
+ htim2.Instance->CCR3 = delta - 1;
+ channel_number ++;
+ delta = period - max_duty; /*computed delta for the next reset of the counter*/
+ channel = PWM_channels[channel_number];
+ }
+ else
+ {
+// HAL_GPIO_WritePin(GPIOA, PWM3_PIN |PWM4_PIN, GPIO_PIN_RESET);
+ delta = period - max_duty;
+ htim2.Instance->CCR2 = delta - 1;
+ htim2.Instance->CCR3 = delta - 1;
+ channel_number = number_of_channels;
+ }
+ }
+ /*STATE 1
+ Here the channel with the max duty-cycle is cleared. The delta is that one
+ computed in STATE 0. The machine passes to STATE 2 */
+ else if (channel_number == number_of_channels - 1)
+ {
+// HAL_GPIO_WritePin(GPIOA, channel, GPIO_PIN_RESET);
+ htim2.Instance->CCR2 = delta - 1;
+ htim2.Instance->CCR3 = delta - 1;
+ channel_number ++;
+ }
+ /*STATE 2
+ All the channels have been cleared and now are set again. The machine passes to STATE 0 */
+ else
+ { /* channel_number > number_of_channels - 1 */
+ HAL_GPIO_WritePin(GPIOA, PWM3_PIN | PWM4_PIN, GPIO_PIN_SET);
+ htim2.Instance->CCR2 = Ton_values[0] - 1;
+ htim2.Instance->CCR3 = Ton_values[1] - 1;
+ Ton_sorting();
+ channel_number = 0;
+ delta = Ton_values[1] - Ton_values[0];
+ channel = PWM_channels[0];
+ }
+}
+
+/**
+ *@brief Sorting on basis of duty cycle
+ *@retval None
+ */
+
+void Ton_sorting(void)
+{
+ if (PWM3_on > PWM4_on)
+ {
+ max_duty = PWM3_on;
+ Ton_values[1] = PWM3_on;
+ Ton_values[0] = PWM4_on;
+ PWM_channels[1] = PWM3_PIN;
+ PWM_channels[0] = PWM4_PIN;
+ }
+ else
+ {
+ max_duty = PWM4_on;
+ Ton_values[0] = PWM3_on;
+ Ton_values[1] = PWM4_on;
+ PWM_channels[0] = PWM3_PIN;
+ PWM_channels[1] = PWM4_PIN;
+ }
+}
+
+
+/**
+ *@brief PWM modification
+ *@param PWM_ID: PWM number
+ *@param duty_cycle: Duty cycle at output
+ *@retval None
+ */
+void Modify_PWM(uint8_t PWM_ID, uint16_t duty_cycle)
+{
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+ GPIO_InitTypeDef GPIO_InitStructure1 = {0};
+
+ if (PWM_ID == 0) /* PD14 */
+ {
+ if (duty_cycle == 0 && NonZeroPWM0 == 0)
+ {
+ GPIO_InitStructure1.Pin = PWM0_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStructure1.Pull = GPIO_NOPULL;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+ HAL_GPIO_WritePin(GPIOD, PWM0_PIN, GPIO_PIN_RESET);
+
+ NonZeroPWM0=1;
+ }
+ else if ((duty_cycle != 0 && NonZeroPWM0 == 1))
+ {
+ GPIO_InitStructure1.Pin = PWM0_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure1.Pull = GPIO_PULLUP;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure1.Alternate = GPIO_AF1_TIM1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+
+ NonZeroPWM0=0;
+ }
+ }
+ else if((PWM_ID == 1)) /* GPIO3 */
+ {
+ if (duty_cycle == 0 && NonZeroPWM1 == 0)
+ {
+ GPIO_InitStructure1.Pin = PWM1_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStructure1.Pull = GPIO_NOPULL;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+ HAL_GPIO_WritePin(GPIOD, PWM1_PIN, GPIO_PIN_RESET);
+
+ NonZeroPWM1=1;
+ }
+ else if ((duty_cycle != 0 && NonZeroPWM1 == 1))
+ {
+ GPIO_InitStructure1.Pin = PWM1_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure1.Pull = GPIO_PULLUP;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure1.Alternate = GPIO_AF1_TIM1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+
+ NonZeroPWM1=0;
+ }
+ }
+ else
+ {
+ }
+
+ DUTY = duty_cycle;
+ switch (PWM_ID)
+ {
+ case 0: /* PWM0 */
+ {
+ htim1.Instance->CCR1 = DUTY;
+ }
+ break;
+ case 1: /* PWM1 */
+ {
+ htim1.Instance->CCR2 = DUTY;
+ }
+ break;
+ case 2: /* PWM2 */
+ {
+ PWM2_on = DUTY;
+ htim2.Instance->CCR1 = PWM2_on;
+ }
+ break;
+ case 3: /* PWM3 */
+ {
+ PWM3_on = DUTY;
+ htim2.Instance->CCR2 = PWM3_on;
+ }
+ break;
+ case 4: /* PWM4 */
+ {
+ PWM4_on = DUTY;
+ htim2.Instance->CCR3 = PWM4_on;
+ }
+ break;
+ }
+#endif
+}
+
+/**
+ * @brief Period elapsed callback in non blocking mode
+ * @param htim : TIM handle
+ * @retval None
+ */
+void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
+{
+#if 0
+ if(htim->Instance == TIM1)
+ PWM2_handler();
+ else
+ PWM3_PWM4_handler();
+#endif
+}
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.h
new file mode 100644
index 000000000..4882feaae
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/PWM_handlers.h
@@ -0,0 +1,34 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_handlers.h
+ * @author MCD Application Team
+ * @brief Header Handlers for PWM and other support functions.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "PWM_config.h"
+//#include "SDK_EVAL_Config.h"
+
+/* PWM2 handler */
+void PWM2_handler(void);
+
+/* PWM3 and PWM4 handler */
+void PWM3_PWM4_handler(void);
+
+/* Here the channel with the lower duty-cycle is established*/
+void Ton_sorting(void);
+
+/* Handle modifications in duty cycle */
+void Modify_PWM(uint8_t PWM_ID, uint16_t duty_cycle);
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.c
new file mode 100644
index 000000000..9f3857506
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.c
@@ -0,0 +1,509 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+#include "app_common.h"
+
+#include "dbg_trace.h"
+#include "ble.h"
+#include "tl.h"
+#include "app_ble.h"
+
+#include "stm32_seq.h"
+#include "shci.h"
+#include "stm32_lpm.h"
+#include "otp.h"
+
+#include "types.h"
+#include "ble_mesh.h"
+#include "mesh_cfg.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+
+/**
+ * security parameters structure
+ */
+typedef struct _tSecurityParams
+{
+ /**
+ * IO capability of the device
+ */
+ uint8_t ioCapability;
+
+ /**
+ * Authentication requirement of the device
+ * Man In the Middle protection required?
+ */
+ uint8_t mitm_mode;
+
+ /**
+ * bonding mode of the device
+ */
+ uint8_t bonding_mode;
+
+ /**
+ * this variable indicates whether to use a fixed pin
+ * during the pairing process or a passkey has to be
+ * requested to the application during the pairing process
+ * 0 implies use fixed pin and 1 implies request for passkey
+ */
+ uint8_t Use_Fixed_Pin;
+
+ /**
+ * minimum encryption key size requirement
+ */
+ uint8_t encryptionKeySizeMin;
+
+ /**
+ * maximum encryption key size requirement
+ */
+ uint8_t encryptionKeySizeMax;
+
+ /**
+ * fixed pin to be used in the pairing process if
+ * Use_Fixed_Pin is set to 1
+ */
+ uint32_t Fixed_Pin;
+
+ /**
+ * this flag indicates whether the host has to initiate
+ * the security, wait for pairing or does not have any security
+ * requirements.\n
+ * 0x00 : no security required
+ * 0x01 : host should initiate security by sending the slave security
+ * request command
+ * 0x02 : host need not send the clave security request but it
+ * has to wait for paiirng to complete before doing any other
+ * processing
+ */
+ uint8_t initiateSecurity;
+}tSecurityParams;
+
+/**
+ * global context
+ * contains the variables common to all
+ * services
+ */
+typedef struct _tBLEProfileGlobalContext
+{
+
+ /**
+ * security requirements of the host
+ */
+ tSecurityParams bleSecurityParam;
+
+ /**
+ * gap service handle
+ */
+ uint16_t gapServiceHandle;
+
+ /**
+ * device name characteristic handle
+ */
+ uint16_t devNameCharHandle;
+
+ /**
+ * appearance characteristic handle
+ */
+ uint16_t appearanceCharHandle;
+
+ /**
+ * connection handle of the current active connection
+ * When not in connection, the handle is set to 0xFFFF
+ */
+ uint16_t connectionHandle;
+
+ /**
+ * length of the UUID list to be used while advertising
+ */
+ uint8_t advtServUUIDlen;
+
+ /**
+ * the UUID list to be used while advertising
+ */
+ uint8_t advtServUUID[100];
+
+}BleGlobalContext_t;
+
+typedef struct
+{
+ BleGlobalContext_t BleApplicationContext_legacy;
+ APP_BLE_ConnStatus_t Device_Connection_Status;
+
+ /**
+ * ID of the Advertising Timeout
+ */
+ uint8_t Advertising_mgr_timer_Id;
+
+} BleApplicationContext_t;
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private defines -----------------------------------------------------------*/
+#define APPBLE_GAP_DEVICE_NAME_LENGTH 7
+#define FAST_ADV_TIMEOUT (30*1000*1000/CFG_TS_TICK_VAL) /**< 30s */
+#define INITIAL_ADV_TIMEOUT (60*1000*1000/CFG_TS_TICK_VAL) /**< 60s */
+
+#define BD_ADDR_SIZE_LOCAL 6
+
+/* USER CODE BEGIN PD */
+#define LED_ON_TIMEOUT (0.005*1000*1000/CFG_TS_TICK_VAL) /**< 5ms */
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+PLACE_IN_SECTION("MB_MEM1") ALIGN(4) static TL_CmdPacket_t BleCmdBuffer;
+
+uint8_t Test_Status =0x00;
+
+static const uint8_t M_bd_addr[BD_ADDR_SIZE_LOCAL] =
+{
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000000000FF)),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00000000FF00) >> 8),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x000000FF0000) >> 16),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000FF000000) >> 24),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00FF00000000) >> 32),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0xFF0000000000) >> 40)
+};
+
+static uint8_t bd_addr_udn[BD_ADDR_SIZE_LOCAL];
+
+PLACE_IN_SECTION("BLE_APP_CONTEXT") static BleApplicationContext_t BleApplicationContext;
+
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Extern function prototypes -----------------------------------------------*/
+extern void HCI_Event_CB(void *pckt);
+
+/* Global variables ----------------------------------------------------------*/
+const uint8_t *bd_addr;
+
+/* Private function prototypes -----------------------------------------------*/
+static void BLE_UserEvtRx( void * pPayload );
+static void BLE_StatusNot( HCI_TL_CmdStatus_t status );
+static void Ble_Tl_Init( void );
+static const uint8_t* BleGetBdAddress( void );
+
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External variables --------------------------------------------------------*/
+
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Functions Definition ------------------------------------------------------*/
+void APP_BLE_Init( void )
+{
+/* USER CODE BEGIN APP_BLE_Init_1 */
+
+/* USER CODE END APP_BLE_Init_1 */
+ SHCI_C2_Ble_Init_Cmd_Packet_t ble_init_cmd_packet =
+ {
+ {{0,0,0}}, /**< Header unused */
+ {0, /** pBleBufferAddress not used */
+ 0, /** BleBufferSize not used */
+ CFG_BLE_NUM_GATT_ATTRIBUTES,
+ CFG_BLE_NUM_GATT_SERVICES,
+ CFG_BLE_ATT_VALUE_ARRAY_SIZE,
+ CFG_BLE_NUM_LINK,
+ CFG_BLE_DATA_LENGTH_EXTENSION,
+ CFG_BLE_PREPARE_WRITE_LIST_SIZE,
+ CFG_BLE_MBLOCK_COUNT,
+ CFG_BLE_MAX_ATT_MTU,
+ CFG_BLE_SLAVE_SCA,
+ CFG_BLE_MASTER_SCA,
+ CFG_BLE_LSE_SOURCE,
+ CFG_BLE_MAX_CONN_EVENT_LENGTH,
+ CFG_BLE_HSE_STARTUP_TIME,
+ CFG_BLE_VITERBI_MODE,
+ CFG_BLE_OPTIONS,
+ 0,
+ CFG_BLE_MAX_COC_INITIATOR_NBR,
+ CFG_BLE_MIN_TX_POWER,
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
+ };
+
+ /**
+ * Initialize Ble Transport Layer
+ */
+ Ble_Tl_Init( );
+
+#if (CFG_LPM_STANDBY_SUPPORTED == 0)
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP_BLE, UTIL_LPM_DISABLE);
+#endif
+
+ /**
+ * Do not allow stop mode in the application
+ */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_LPM_SetStopMode(1 << CFG_LPM_APP_BLE, UTIL_LPM_DISABLE);
+#endif
+
+ /**
+ * Register the hci transport layer to handle BLE User Asynchronous Events
+ */
+ UTIL_SEQ_RegTask( 1<<CFG_TASK_HCI_ASYNCH_EVT_ID, UTIL_SEQ_RFU, hci_user_evt_proc);
+
+ /**
+ * Starts the BLE Stack on CPU2
+ */
+ if (SHCI_C2_BLE_Init( &ble_init_cmd_packet ) != SHCI_Success)
+ {
+ Error_Handler();
+ }
+
+ /**
+ * Initialization of HCI & GATT & GAP layer
+ */
+ {
+ const uint8_t *bd_addr;
+ /**
+ * Write the BD Address
+ */
+
+ bd_addr = BleGetBdAddress();
+ aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET,
+ CONFIG_DATA_PUBADDR_LEN,
+ (uint8_t*) bd_addr);
+ }
+ /**
+ * Initialization of the BLE Services
+ */
+ SVCCTL_Init();
+
+ /**
+ * Initialization of the BLE App Context
+ */
+ BleApplicationContext.Device_Connection_Status = APP_BLE_IDLE;
+ BleApplicationContext.BleApplicationContext_legacy.connectionHandle = 0xFFFF;
+
+ /*Radio mask Activity*/
+#if(RADIO_ACTIVITY_EVENT != 0)
+ aci_hal_set_radio_activity_mask(0x00FF);
+#endif
+
+ BleApplicationContext.Device_Connection_Status = APP_BLE_FAST_ADV;
+
+/* USER CODE BEGIN APP_BLE_Init_2 */
+
+/* USER CODE END APP_BLE_Init_2 */
+ return;
+}
+
+SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
+{
+ /* callback of mesh Library to receive all GAP/GATT events*/
+ HCI_Event_CB(pckt);
+
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+
+ return (SVCCTL_UserEvtFlowEnable);
+}
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+static void Ble_Tl_Init( void )
+{
+ HCI_TL_HciInitConf_t Hci_Tl_Init_Conf;
+
+ Hci_Tl_Init_Conf.p_cmdbuffer = (uint8_t*)&BleCmdBuffer;
+ Hci_Tl_Init_Conf.StatusNotCallBack = BLE_StatusNot;
+ hci_init(BLE_UserEvtRx, (void*) &Hci_Tl_Init_Conf);
+
+ return;
+}
+
+const uint8_t* BleGetBdAddress( void )
+{
+ uint8_t *otp_addr;
+ const uint8_t *bd_addr;
+ uint32_t udn;
+ uint32_t company_id;
+ uint32_t device_id;
+
+ udn = LL_FLASH_GetUDN();
+
+ if(udn != 0xFFFFFFFF)
+ {
+ company_id = LL_FLASH_GetSTCompanyID();
+ device_id = LL_FLASH_GetDeviceID();
+
+/**
+ * Public Address with the ST company ID
+ * bit[47:24] : 24bits (OUI) equal to the company ID
+ * bit[23:16] : Device ID.
+ * bit[15:0] : The last 16bits from the UDN
+ * Note: In order to use the Public Address in a final product, a dedicated
+ * 24bits company ID (OUI) shall be bought.
+ */
+ bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
+ bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
+ bd_addr_udn[2] = (uint8_t)device_id;
+ bd_addr_udn[3] = (uint8_t)(company_id & 0x000000FF);
+ bd_addr_udn[4] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
+ bd_addr_udn[5] = (uint8_t)( (company_id & 0x00FF0000) >> 16 );
+
+ bd_addr = (const uint8_t *)bd_addr_udn;
+ }
+ else
+ {
+ otp_addr = OTP_Read(0);
+ if(otp_addr)
+ {
+ bd_addr = ((OTP_ID0_t*)otp_addr)->bd_address;
+ }
+ else
+ {
+ bd_addr = M_bd_addr;
+ }
+ }
+
+ return bd_addr;
+}
+
+/* USER CODE BEGIN FD_LOCAL_FUNCTION */
+
+/* USER CODE END FD_LOCAL_FUNCTION */
+
+/*************************************************************
+ *
+ *SPECIFIC FUNCTIONS
+ *
+ *************************************************************/
+/* USER CODE BEGIN FD_SPECIFIC_FUNCTIONS */
+
+/* USER CODE END FD_SPECIFIC_FUNCTIONS */
+/*************************************************************
+ *
+ * WRAP FUNCTIONS
+ *
+ *************************************************************/
+void hci_notify_asynch_evt(void* pdata)
+{
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_HCI_ASYNCH_EVT_ID, CFG_SCH_PRIO_0);
+ return;
+}
+
+#if (LOW_POWER_FEATURE == 1)
+static volatile uint8_t HciResponse = 0;
+#endif
+
+void hci_cmd_resp_release(uint32_t flag)
+{
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetEvt(1 << CFG_IDLEEVT_HCI_CMD_EVT_RSP_ID);
+#else
+ HciResponse = 1;
+#endif
+ return;
+}
+
+void hci_cmd_resp_wait(uint32_t timeout)
+{
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_WaitEvt(1 << CFG_IDLEEVT_HCI_CMD_EVT_RSP_ID);
+#else
+ while(HciResponse == 0);
+ HciResponse = 0;
+#endif
+ return;
+}
+
+static void BLE_UserEvtRx( void * pPayload )
+{
+ SVCCTL_UserEvtFlowStatus_t svctl_return_status;
+ tHCI_UserEvtRxParam *pParam;
+
+ pParam = (tHCI_UserEvtRxParam *)pPayload;
+
+ svctl_return_status = SVCCTL_UserEvtRx((void *)&(pParam->pckt->evtserial));
+ if (svctl_return_status != SVCCTL_UserEvtFlowDisable)
+ {
+ pParam->status = HCI_TL_UserEventFlow_Enable;
+ }
+ else
+ {
+ pParam->status = HCI_TL_UserEventFlow_Disable;
+ }
+}
+
+static void BLE_StatusNot( HCI_TL_CmdStatus_t status )
+{
+ uint32_t task_id_list;
+ switch (status)
+ {
+ case HCI_TL_CmdBusy:
+ /**
+ * All tasks that may send an aci/hci commands shall be listed here
+ * This is to prevent a new command is sent while one is already pending
+ */
+ task_id_list = (1 << CFG_LAST_TASK_ID_WITH_HCICMD) - 1;
+ UTIL_SEQ_PauseTask(task_id_list);
+
+ break;
+
+ case HCI_TL_CmdAvailable:
+ /**
+ * All tasks that may send an aci/hci commands shall be listed here
+ * This is to prevent a new command is sent while one is already pending
+ */
+ task_id_list = (1 << CFG_LAST_TASK_ID_WITH_HCICMD) - 1;
+ UTIL_SEQ_ResumeTask(task_id_list);
+
+ break;
+
+ default:
+ break;
+ }
+ return;
+}
+
+void SVCCTL_ResumeUserEventFlow( void )
+{
+ hci_resume_flow();
+ return;
+}
+
+/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
+
+/* USER CODE END FD_WRAP_FUNCTIONS */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.h
new file mode 100644
index 000000000..6fd1b71af
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/app_ble.h
@@ -0,0 +1,76 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_BLE_H
+#define APP_BLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "hci_tl.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+
+typedef enum
+{
+ APP_BLE_IDLE,
+ APP_BLE_FAST_ADV,
+ APP_BLE_LP_ADV,
+ APP_BLE_SCAN,
+ APP_BLE_LP_CONNECTING,
+ APP_BLE_CONNECTED_SERVER,
+ APP_BLE_CONNECTED_CLIENT
+} APP_BLE_ConnStatus_t;
+
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* External variables --------------------------------------------------------*/
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions ---------------------------------------------*/
+void APP_BLE_Init( void );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*APP_BLE_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.c
new file mode 100644
index 000000000..b1f206c0e
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.c
@@ -0,0 +1,358 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config.c
+ * @author MCD Application Team
+ * @brief Config Model APIs callback from ST BLE Mesh Library
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include <string.h>
+#include "hal_common.h"
+#include "ble_mesh.h"
+#include "appli_config.h"
+#include "mesh_cfg.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private define ------------------------------------------------------------*/
+
+/* Private macro -------------------------------------------------------------*/
+
+/* Private variables ---------------------------------------------------------*/
+
+
+/*****************************Config Model Callbacks***************************/
+/**
+* @brief Callback from Config Model to receive the AppKey Add Command
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndex
+* appKey, keySize & status
+* @retval none
+*/
+void Appli_GetAppKeyAddParamsCb(model_securityKeyParams_t* appKeyAddParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"AppKey Add received for netKeyIndex %.2x, appKeyIndex %.2x \r\n",\
+ appKeyAddParams->netKeyIndex, appKeyAddParams->appKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyAddParams->status);
+ /*Success Command*/
+ if(appKeyAddParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"AppKey is: ");
+ for (MOBLEUINT8 count=0 ; count<appKeyAddParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(appKeyAddParams->appKey));
+ appKeyAddParams->appKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey Delete Command
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndex
+* appKey, keySize & status
+* @retval none
+*/
+void Appli_GetAppKeyDeleteParamsCb(model_securityKeyParams_t* appKeyDeleteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"App Key Delete received for netKeyIndex %.2x, appKeyIndex %.2x \r\n",\
+ appKeyDeleteParams->netKeyIndex, appKeyDeleteParams->appKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyDeleteParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey List
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndexes & appKeyListParams Size
+* @retval none
+*/
+void Appli_GetAppKeyListParamsCb(model_appKeyListParams_t* appKeyListParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"App Key List for netKeyIndex %.2x is \r\n", appKeyListParams->netKeyIndex);
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyListParams->status);
+ /*Success*/
+ if(appKeyListParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"AppKey Indexes are: \r\n");
+ for (MOBLEUINT8 count=0 ; count< appKeyListParams->appKeyIndexList_size; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(appKeyListParams->appKeyIndexList));
+ appKeyListParams->appKeyIndexList++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Updated App Key
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndex
+* appKey, keySize & status
+* @retval none
+*/
+void Appli_GetAppKeyUpdateParamsCb(model_securityKeyParams_t* appKeyUpdatedParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"App Key Update received for netKeyIndex %.2x, appKeyIndex %.2x \r\n",\
+ appKeyUpdatedParams->netKeyIndex, appKeyUpdatedParams->appKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyUpdatedParams->status);
+
+ /*Success Command*/
+ if(appKeyUpdatedParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Updated AppKey is: ");
+ for (MOBLEUINT8 count=0 ; count<appKeyUpdatedParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(appKeyUpdatedParams->appKey));
+ appKeyUpdatedParams->appKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ TRACE_I(TF_CONFIG_SERVER,"It will be replaced by old appKey after Key Refresh \r\n");
+ }
+
+}
+
+/**
+* @brief Callback from Config Model to receive the NetKey Add Command
+* @param Structure Pointer having parameters - netKeyIndex & netKey
+* @retval none
+*/
+void Appli_GetNetKeyAddParamsCb(model_securityKeyParams_t* netKeyAddParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Net Key Add received for netKeyIndex %.2x \r\n",\
+ netKeyAddParams->netKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyAddParams->status);
+
+ /*Success Command*/
+ if(netKeyAddParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"NetKey is: ");
+ for (MOBLEUINT8 count=0 ; count < netKeyAddParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(netKeyAddParams->netKey));
+ netKeyAddParams->netKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the NetKey Delete Command
+* @param Structure Pointer having parameters - netKeyIndex & netKey
+* @retval none
+*/
+void Appli_GetNetKeyDeleteParamsCb(model_securityKeyParams_t* netKeyDeleteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Net Key Delete received for netKeyIndex %d \r\n",\
+ netKeyDeleteParams->netKeyIndex);
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyDeleteParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the NetKey List
+* @param Structure Pointer having parameters - netKeyIndexes & netKeyListParams Size
+* @retval none
+*/
+void Appli_GetNetKeyListParamsCb(model_netKeyListParams_t* netKeyListParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyListParams->status);
+ TRACE_I(TF_CONFIG_SERVER,"NetKey Indexes are: \r\n");
+ for (MOBLEUINT8 count=0 ; count< netKeyListParams->netKeyIndexList_size; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(netKeyListParams->netKeyIndexList));
+ netKeyListParams->netKeyIndexList++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+}
+
+
+/**
+* @brief Callback from Config Model to receive the Updated NetKey Command
+* @param Structure Pointer having parameters - netKeyIndex & netKey
+* @retval none
+*/
+void Appli_GetNetKeyUpdateParamsCb(model_securityKeyParams_t* netKeyUpdatedParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Net Key Update received for netKeyIndex %d \r\n",\
+ netKeyUpdatedParams->netKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyUpdatedParams->status);
+ if(netKeyUpdatedParams->status == 0)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Updated NetKey is:");
+ for (MOBLEUINT8 count=0; count<netKeyUpdatedParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(netKeyUpdatedParams->netKey));
+ netKeyUpdatedParams->netKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ TRACE_I(TF_CONFIG_SERVER,"It will be replaced by old netKey after Key Refresh \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey binding params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex & modelID
+* @retval none
+*/
+void Appli_GetAppKeyBindingParamsCb(model_appKeyBindingParams_t* appKeyBindParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"AppKey binding received for elementIndex %d, modelID %.2lx,\
+ appKeyIndex %.2x & status %.2x \r\n", appKeyBindParams->elementIndex,\
+ appKeyBindParams->modelID, appKeyBindParams->appKeyIndex, appKeyBindParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey Unbinding params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex & modelID
+* @retval none
+*/
+void Appli_GetAppKeyUnBindingParamsCb(model_appKeyBindingParams_t* appKeyUnbindParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"AppKey unbinding received for elementIndex %d, modelID %.2lx,\
+ appKeyIndex %.2x & status %.2x \r\n",appKeyUnbindParams->elementIndex,\
+ appKeyUnbindParams->modelID, appKeyUnbindParams->appKeyIndex,\
+ appKeyUnbindParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the Subscription Add params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex, modelID
+* subAddress, isVirtual & allSubDeleted
+* @retval none
+*/
+void Appli_GetSubAddParamsCb(model_subParams_t* subAddParams)
+{
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", subAddParams->status);
+ if(subAddParams->isVirtual)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Virtual Add received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subAddParams->elementIndex, subAddParams->modelID,\
+ subAddParams->subAddress);
+ }
+
+ else
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Add received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subAddParams->elementIndex, subAddParams->modelID,\
+ subAddParams->subAddress);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Subscription Delete params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex, modelID
+* subAddress, isVirtual & allSubDeleted
+* @retval none
+*/
+void Appli_GetSubDeleteParamsCb(model_subParams_t* subDeleteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", subDeleteParams->status);
+ if(subDeleteParams->isVirtual)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Virtual Add Delete received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subDeleteParams->elementIndex, subDeleteParams->modelID,\
+ subDeleteParams->subAddress);
+
+ }
+
+ else if(subDeleteParams->allSubDeleted)
+ {
+
+ TRACE_I(TF_CONFIG_SERVER,"Delete All Subscription received for elementIndex %d, modelID %.2lx \r\n",\
+ subDeleteParams->elementIndex, subDeleteParams->modelID);
+
+ }
+ else
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Delete received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subDeleteParams->elementIndex, subDeleteParams->modelID,\
+ subDeleteParams->subAddress);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Subscription Overwrite params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex, modelID
+* subAddress, isVirtual & allSubDeleted
+* @retval none
+*/
+void Appli_GetSubOverwriteParamsCb(model_subParams_t* subOverwriteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", subOverwriteParams->status);
+ if(subOverwriteParams->isVirtual)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Virtual Overwrite received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subOverwriteParams->elementIndex, subOverwriteParams->modelID,\
+ subOverwriteParams->subAddress);
+
+ }
+
+ else
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Overwrite received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subOverwriteParams->elementIndex, subOverwriteParams->modelID,\
+ subOverwriteParams->subAddress);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Publication Parameters
+* @param Structure Pointer having parameters - modelID, elementAddress,
+* Publish Address, PublishPeriod, PublishTTL, Credential Flag,
+* Publish AppKeyIndex, Retransmit Count, Restransmit Interval Steps & status
+* @retval none
+*/
+void Appli_GetPublicationSetParamsCb(model_publicationparams_t* pPubParameters)
+{
+ if(pPubParameters->modelID == SENSOR_SERVER_MODEL_ID)
+ {
+ Sensor_ModelPublishSet(pPubParameters);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Publication Parameters
+* @param Structure Pointer having parameters - modelID, elementAddress,
+* Publish Address, PublishPeriod, PublishTTL, Credential Flag,
+* Publish AppKeyIndex, Retransmit Count, Restransmit Interval Steps & status
+* @retval none
+*/
+void Appli_GetPublicationGetParamsCb(model_publicationparams_t* pPubParameters)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", pPubParameters->status);
+ TRACE_I(TF_CONFIG_SERVER,"Received Publication parameters: credentialFlag = %.2x,\
+ elementAddress = %.2x, modelID = %.2lx, appKeyIndex = %.2x,\
+ publishPeriod = %.2x, publishRetransmitCount = %.2x, publishRetransmitIntervalSteps = %.2x,\
+ publishTTL = %.2x \r\n", pPubParameters->credentialFlag, pPubParameters->elementAddress, pPubParameters->modelID,\
+ pPubParameters->publishAppKeyIndex, pPubParameters->publishPeriod, pPubParameters->publishRetransmitCount,\
+ pPubParameters->publishRetransmitIntervalSteps, pPubParameters->publishTTL);
+}
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.h
new file mode 100644
index 000000000..b33d059fc
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config.h
+ * @author MCD Application Team
+ * @brief Header file for the application config file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_CONFIG_H
+#define __APPLI_CONFIG_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "mesh_cfg.h"
+#include "mesh_cfg_usr.h"
+#include "sensors.h"
+#include "common.h"
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+void Appli_GetAppKeyAddParamsCb(model_securityKeyParams_t*);
+void Appli_GetAppKeyDeleteParamsCb(model_securityKeyParams_t*);
+void Appli_GetAppKeyListParamsCb(model_appKeyListParams_t*);
+void Appli_GetAppKeyUpdateParamsCb(model_securityKeyParams_t*);
+void Appli_GetNetKeyAddParamsCb(model_securityKeyParams_t*);
+void Appli_GetNetKeyDeleteParamsCb(model_securityKeyParams_t*);
+void Appli_GetNetKeyListParamsCb(model_netKeyListParams_t*);
+void Appli_GetNetKeyUpdateParamsCb(model_securityKeyParams_t*);
+void Appli_GetAppKeyBindingParamsCb(model_appKeyBindingParams_t*);
+void Appli_GetAppKeyUnBindingParamsCb(model_appKeyBindingParams_t*);
+void Appli_GetSubAddParamsCb(model_subParams_t*);
+void Appli_GetSubDeleteParamsCb(model_subParams_t*);
+void Appli_GetSubOverwriteParamsCb(model_subParams_t*);
+void Appli_GetPublicationSetParamsCb(model_publicationparams_t*);
+void Appli_GetPublicationGetParamsCb(model_publicationparams_t*);
+
+#endif /* __APPLI_CONFIG_H */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.c
new file mode 100644
index 000000000..30f54770c
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.c
@@ -0,0 +1,1917 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Config CLient Mesh Model
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "mesh_cfg.h"
+#include "appli_nvm.h"
+#include "config_client.h"
+#include "appli_config_client.h"
+#include "appli_mesh.h"
+#include "sensors.h"
+#include "light_lc.h"
+#include "vendor.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+
+#define DEFAULT_GROUP_ADDR 0xC000
+#define DEFAULT_PUBLISH_ADDR 0xC000
+#define DEFAULT_NETKEY_INDEX 0x0000
+#define DEFAULT_APPKEY_INDEX 0x0000
+#define DEFAULT_CREDENTIAL_FLAG 0x00
+#define DEFAULT_PUBLISH_TTL 0x08
+#define DEFAULT_PUBLISH_PERIOD 0x00
+#define DEFAULT_PUBLISH_RETRANSMIT_COUNT 0x00
+#define DEFAULT_PUBLISH_RETRANSMIT_INTERVAL_STEPS 0x00
+
+#define NUM_VENDOR_MODELS_TO_SUBSCRIBE 0
+#define NUM_VENDOR_MODELS_TO_PUBLISH 0
+#define NUM_VENDOR_MODELS_TO_BIND_APP 0
+
+/******************************************************************************/
+#if defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER)
+/******************************************************************************/
+
+const MOBLEUINT8 aConfigAppKeyDefault[19]=
+ { /* NetKeyIndexAndAppKeyIndex : 3B
+ Index of the NetKey and index of the AppKey*/
+ (MOBLEUINT8)(DEFAULT_NETKEY_INDEX & 0x00ff),
+ (MOBLEUINT8)((DEFAULT_NETKEY_INDEX & 0x0f00) >> 8) | (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX & 0x000f) << 4),
+ (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX >>4) & 0xff),
+ /* AppKey is initialised as below = 16B */
+ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 };
+
+
+const MOBLEUINT8 aConfigAppKeyDeleteDefault[3]=
+ { /* NetKeyIndexAndAppKeyIndex : 3B
+ Index of the NetKey and index of the AppKey*/
+ (MOBLEUINT8)(DEFAULT_NETKEY_INDEX & 0x00ff),
+ (MOBLEUINT8)((DEFAULT_NETKEY_INDEX & 0x0f00) >> 8) | (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX & 0x000f) << 4),
+ (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX >>4) & 0xff)};
+
+
+const MOBLEUINT8 aConfigAppKeyGetDefault[2]=
+ { /* NetKeyIndex : 2B
+ Index of the NetKey */
+ (MOBLEUINT8)(DEFAULT_NETKEY_INDEX & 0x00ff),
+ (MOBLEUINT8)((DEFAULT_NETKEY_INDEX & 0x0f00) >> 8) };
+
+const MOBLEUINT8 aNoParamDefaultConfig;
+
+const MOBLEUINT8 aNoInitParamDefault[MAX_CONFIG_PARAM_SIZE]= {0};
+
+/* Private macro -------------------------------------------------------------*/
+
+const MODEL_CONFIG_CLIENT_OpcodeTableParam_t ConfigClient_MessageOpcodes_Table[] = {
+ /* MOBLEUINT16 opcode,
+ MOBLEUINT8 min_payload_size,
+ MOBLEUINT8 max_payload_size;
+ Here in this array, Handler is not defined; */
+
+ /* 4.3.2.37 Config AppKey Add, Opcode = 0x00
+ The Config AppKey Add is an acknowledged message used to add an AppKey
+ to the AppKey List on a node and bind it to the NetKey identified by
+ NetKeyIndex. The added AppKey can be used by the node only as a pair with
+ the specified NetKey.
+ The AppKey is used to authenticate and decrypt messages it receives, as well
+ as authenticate and encrypt messages it sends.
+ The response to a Config AppKey Add message is a Config AppKey Status message.
+
+ message parameters:
+ -------------------
+ NetKeyIndexAndAppKeyIndex: 3B : Index of the NetKey and index of the AppKey
+ AppKey 16B : AppKey value */
+ { OPCODE_CONFIG_APPKEY_ADD, 19, 19, aConfigAppKeyDefault },
+
+ /* 4.3.2.39 Config AppKey Delete, Opcode = 0x80 0x00
+ The Config AppKey Delete is an acknowledged message used to delete an
+ AppKey from the AppKey List on a node.
+ The response to a Config AppKey Delete message is a
+ Config AppKey Status message.
+
+ message parameters:
+ -------------------
+ NetKeyIndexAndAppKeyIndex : 3B : Index of the NetKey and index of the AppKey
+ */
+ { OPCODE_CONFIG_APPKEY_DELETE, 3, 3, aConfigAppKeyDeleteDefault },
+
+ /* 4.3.2.41 Config AppKey Get, Opcode = 0x80 0x01
+ The AppKey Get is an acknowledged message used to report all AppKeys bound
+ to the NetKey.
+ The response to a Config AppKey Get message is a Config AppKey List message */
+ { OPCODE_CONFIG_APPKEY_GET, 2, 2, aConfigAppKeyGetDefault },
+
+ /* 4.3.2.38 Config AppKey Update, Opcode = 0x01
+ The Config AppKey Update is an acknowledged message used to update an
+ AppKey value on the AppKey List on a node. The updated AppKey is used by
+ the node to authenticate and decrypt messages it receives, as well as
+ authenticate and encrypt messages it sends, as defined by the Key Refresh procedure (see Section 3.10.4).
+ The response to an Config AppKey Update message is an Config AppKey Status message.
+
+ message parameters:
+ -------------------
+ NetKeyIndexAndAppKeyIndex: 3B : Index of the NetKey and index of the AppKey
+ AppKey 16B : AppKey value */
+ { OPCODE_CONFIG_APPKEY_UPDATE, 19, 19, aConfigAppKeyDefault },
+
+ /* 4.3.2.1 Config Beacon Get, Opcode = 0x80 0x09
+ The Config Beacon Get is an acknowledged message used to get the current
+ Secure Network Beacon state of a node (see Section 4.2.10).
+ The response to a Config Beacon Get message is a Config Beacon Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_BEACON_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.2 Config Beacon Set, Opcode = 0x80 0x0A
+ The Config Beacon Set is an acknowledged message used to set the
+ Secure Network Beacon state of a node (see Section 4.2.10).
+ The response to a Config Beacon Set message is a Config Beacon Status message.
+ Beacon : 1B: New Secure Network Beacon state*/
+ { OPCODE_CONFIG_BEACON_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.4 Config Composition Data Get, Opcode = 0x80 0x08
+ The Config Composition Data Get is an acknowledged message used to read
+ one page of the Composition Data (see Section 4.2.1).
+ The response to a Config Composition Data Get message is a
+ Config Composition Data Status message.
+ Page : 1B : Page number of the Composition Data */
+ { OPCODE_CONFIG_COMPOSITION_DATA_GET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.16 Config Model Publication Set, Opcode = 0x03
+ The Config Model Publication Set is an acknowledged message used to set the
+ Model Publication state (see Section 4.2.2) of an outgoing message that
+ originates from a model.
+ The response to a Config Model Publication Set message is a
+ Config Model Publication Status message.
+ The Config Model Publication Set message uses a single octet opcode to
+ maximize the size of a payload.
+
+ ElementAddress : 16b : Address of the element
+ PublishAddress : 16b : Value of the publish address
+ AppKeyIndex : 12b : Index of the application key
+ CredentialFlag : 1b : Value of the Friendship Credential Flag
+ RFU : 3b : Reserved for Future Use
+ PublishTTL : 8b : Default TTL value for the outgoing messages
+ PublishPeriod : 8b : Period for periodic status publishing
+ PublishRetransmitCount : 3b : Number of retransmissions for each published message
+ PublishRetransmitIntervalSteps : 5b: Number of 50-millisecond steps between retransmissions
+ ModelIdentifier: 16 or 32b: SIG Model ID or Vendor Model ID
+ */
+
+ { OPCODE_CONFIG_CONFIG_MODEL_PUBLICATION_SET, 11, 13, },
+
+ /* 4.3.2.6 Config Default TTL Get, Opcode = 0x80 0x0C
+ The Config Default TTL Get is an acknowledged message used to get the
+ current Default TTL state of a node.
+ The response to a Config Default TTL Get message is a Config Default TTL Status message.
+ There are no Parameters for this message.
+ */
+ { OPCODE_CONFIG_DEFAULT_TTL_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.7 Config Default TTL Set, Opcode = 0x80 0x0D
+ The Config Default TTL Set is an acknowledged message used to set the
+ Default TTL state of a node (see Section 4.2.7).
+ The response to a Config Default TTL Set message is a
+ Config Default TTL Status message.
+ TTL : 1B : New Default TTL value*/
+ { OPCODE_CONFIG_DEFAULT_TTL_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.55 Config Friend Get, Opcode = 0x80 0x0F
+ The Config Friend Get is an acknowledged message used to get the current
+ Friend state of a node (see Section 4.2.13).
+ The response to a Config Friend Get message is a Config Friend Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_FRIEND_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.56 Config Friend Set, Opcode = 0x80 0x10
+ The Config Friend Set is an acknowledged message used to set the
+ Friend state of a node (see Section 4.2.13).
+ The response to a Config Friend Set message is a Config Friend Status message.
+ Friend : 1B : New Friend state */
+ { OPCODE_CONFIG_FRIEND_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.9 Config GATT Proxy Get, Opcode = 0x80 0x12
+ The Config GATT Proxy Get is an acknowledged message used to get the
+ current GATT Proxy state of a node (see Section 4.2.11).
+ The response to a Config GATT Proxy Get message is a
+ Config GATT Proxy Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_GATT_PROXY_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.10 Config GATT Proxy Set, Opcode = 0x80 0x12
+ The Config GATT Proxy Set is an acknowledged message used to set the
+ GATT Proxy state of a node (see Section 4.2.11).
+ The response to a Config GATT Proxy Set message is a Config GATT Proxy
+ Status message
+ GATTProxy : 1B : New GATT Proxy state */
+ { OPCODE_CONFIG_GATT_PROXY_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.61 Config Heartbeat Publication Get, Opcode = 0x80 0x38
+ The Config Heartbeat Publication Get is an acknowledged message used to get
+ the current Heartbeat Publication state of an element (see Section 4.2.17).
+ The response to a Config Heartbeat Publication Get message is a
+ Config Heartbeat Publication Status message.
+ The message has no parameters.*/
+ { OPCODE_CONFIG_HEARTBEAT_PUBLICATION_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.62 Config Heartbeat Publication Set, Opcode = 0x80 0x39
+ The Config Heartbeat Publication Set is an acknowledged message used to set
+ the current Heartbeat Publication state of an element (see Section 4.2.17).
+ The response to a Config Heartbeat Publication Set message is a
+ Config Heartbeat Publication Status message.
+
+ Destination : 2B : Destination address for Heartbeat messages
+ CountLog : 1B : Number of Heartbeat messages to be sent
+ PeriodLog : 1B : Period for sending Heartbeat messages
+ TTL : 1B : TTL to be used when sending Heartbeat messages
+ Features : 2B : Bit field indicating features that trigger Heartbeat messages when changed
+ NetKeyIndex : 2B : NetKey Index
+ */
+ { OPCODE_CONFIG_HEARTBEAT_PUBLICATION_SET, 9, 9, aNoInitParamDefault },
+
+ /* 4.3.2.64 Config Heartbeat Subscription Get, Opcode = 0x80 0x3A
+ The Config Heartbeat Subscription Get is an acknowledged message used to get
+ the current Heartbeat Subscription state of an element (see Section 4.2.18).
+ The response to a Config Heartbeat Subscription Get message is a
+ Config Heartbeat Subscription Status message.
+ The message has no parameters. */
+ { OPCODE_CONFIG_HEARTBEAT_SUBSCRIPTION_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.65 Config Heartbeat Subscription Set, Opcode = 0x80 0x3B
+ The Config Heartbeat Subscription Set is an acknowledged message used to
+ set the current Heartbeat Subscription state of an element (see Section 4.2.18).
+ The response to a Config Heartbeat Subscription Set message is a
+ Config Heartbeat Subscription Status message.
+
+ Source : 2B : Source address for Heartbeat messages
+ Destination : 2B : Destination address for Heartbeat messages
+ PeriodLog : 1B : Period for receiving Heartbeat messages */
+ { OPCODE_CONFIG_HEARTBEAT_SUBSCRIPTION_SET, 5, 5, aNoInitParamDefault },
+
+ /* 4.3.2.58 Config Key Refresh Phase Get, Opcode = 0x80 0x15
+ The Config Key Refresh Phase Get is an acknowledged message used to get the
+ current Key Refresh Phase state of the identified network key.
+ The response to a Config Key Refresh Phase Get message is a
+ Config Key Refresh Phase Status message.
+ NetKeyIndex : 2B : NetKey Index*/
+ { OPCODE_CONFIG_KEY_REFRESH_PHASE_GET, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.2.59 Config Key Refresh Phase Set, Opcode = 0x80 0x16
+ The Config Key Refresh Phase Set is an acknowledged message used to set the
+ Key Refresh Phase state of the identified network key (see Section 4.2.14).
+ The response to a Config Key Refresh Phase Set message is a
+ Config Key Refresh Phase Status message.
+
+ NetKeyIndex : 2B : NetKey Index
+ Transition : 1B : New Key Refresh Phase Transition */
+ { OPCODE_CONFIG_KEY_REFRESH_PHASE_SET, 3, 3, aNoInitParamDefault },
+
+ /* 4.3.2.67 Config Low Power Node PollTimeout Get, Opcode = 0x80 0x2D
+ The Config Low Power Node PollTimeout Get is an acknowledged message used
+ to get the current value of PollTimeout timer of the Low Power node within
+ a Friend node (see Section 3.6.6.1). The message is sent to a Friend node
+ that has claimed to be handling messages by sending ACKs On Behalf Of (OBO)
+ the indicated Low Power node. This message should only be sent to a node
+ that has the Friend feature supported and enabled.
+ The response to a Config Low Power Node PollTimeout Get message is a
+ Config Low Power Node PollTimeout Status message.
+
+ LPNAddress : 2B : The unicast address of the Low Power node */
+ { OPCODE_CONFIG_LOW_POWER_NODE_POLLTIMEOUT_GET, 2, 2, aNoInitParamDefault },
+
+
+ /* 4.3.3.12 Health Attention Get
+ The Health Attention Get is an acknowledged message used to get the current
+ Attention Timer state of an element (see Section 4.2.9).
+ The response to a Health Attention Get message is an Attention Status message.
+ There are no Parameters for this message.*/
+ { OPCODE_HEALTH_ATTENTION_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.3.13 Health Attention Set
+ The Health Attention Set is an acknowledged message used to set the
+ Attention Timer state of an element (see Section 4.2.9).
+ The response to a Health Attention Set message is a
+ Health Attention Status message
+ Attention: 1B: Value of the Attention Timer state*/
+ { OPCODE_HEALTH_ATTENTION_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.3.14 Health Attention Set Unacknowledged
+ The Health Attention Set Unacknowledged is an unacknowledged message used
+ to set the Attention Timer state of an element (see Section 4.2.9). */
+ { OPCODE_HEALTH_ATTENTION_SET_UNACKNOWLEDGED, 1, 1, aNoInitParamDefault },
+
+
+
+
+
+
+ /* 4.3.2.15 Config Model Publication Get
+ The Config Model Publication Get is an acknowledged message used to get the
+ publish address and parameters of an outgoing message that originates
+ from a model.
+ The response to a Config Model Publication Get message is a
+ Config Model Publication Status message.
+
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 2 or 4B : SIG Model ID or Vendor Model ID
+ */
+ { OPCODE_CONFIG_MODEL_PUBLICATION_GET, 4, 6, aNoInitParamDefault },
+
+ /* 4.3.2.17 Config Model Publication Virtual Address Set
+ The Config Model Publication Virtual Address Set is an acknowledged message
+ used to set the model Publication state (see Section 4.2.2) of an
+ outgoing message that originates from a model.
+ The response to a Config Model Publication Virtual Address Set message is
+ a Config Model Publication Status message.
+
+ ElementAddress : 16b : Address of the element
+ PublishAddress : 128b : Value of the Label UUID publish address
+ AppKeyIndex : 12b : Index of the application key
+ CredentialFlag : 1b : Value of the Friendship Credential Flag
+ RFU : 3b : Reserved for Future Use
+ PublishTTL : 8b : Default TTL value for the outgoing messages
+ PublishPeriod : 8b : Period for periodic status publishing
+ PublishRetransmitCount : 3b : Number of retransmissions for each published message
+ PublishRetransmitIntervalSteps : 5b: Number of 50-millisecond steps between retransmissions
+ ModelIdentifier: 16 or 32b: SIG Model ID or Vendor Model ID
+ */
+ { OPCODE_CONFIG_MODEL_PUBLICATION_VIRTUAL_ADDRESS_SET, 25, 27, aNoInitParamDefault },
+
+ /* 4.3.2.19 Config Model Subscription Add
+ The Config Model Subscription Add is an acknowledged message used to add an
+ address to a Subscription List of a model (see Section 4.2.3).
+
+ The response to a Config Model Subscription Add message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ address : 2B : Value of the address
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID
+*/
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_ADD, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.21 Config Model Subscription Delete
+ The Config Model Subscription Delete is an acknowledged message used to
+ delete a subscription address from the Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Delete message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ address : 2B : Value of the address
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID
+ */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_DELETE, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.25 Config Model Subscription Delete All
+ The Config Model Subscription Delete All is an acknowledged message used to
+ discard the Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Delete All message is a
+ Config Model Subscription Status message.
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_DELETE_ALL, 4, 6, aNoInitParamDefault },
+
+ /* 4.3.2.23 Config Model Subscription Overwrite
+ The Config Model Subscription Overwrite is an acknowledged message used to
+ discard the Subscription List and add an address to the
+ cleared Subscription List of a model (see Section 4.2.3).
+
+ The response to a Config Model Subscription Overwrite message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ address : 2B : Value of the address
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_OVERWRITE, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.20 Config Model Subscription Virtual Address Add
+ The Config Model Subscription Virtual Address Add is an acknowledged message
+ used to add an address to a Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Virtual Address Add message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ Label : 16B : Value of the Label UUID
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_ADD, 20, 22, aNoInitParamDefault },
+
+ /* 4.3.2.22 Config Model Subscription Virtual Address Delete
+ The Config Model Subscription Virtual Address Delete is an acknowledged
+ message used to delete a subscription address from the
+ Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Virtual Address Delete message
+ is a Config Model Subscription Status message.
+ ElementAddress : 2B : Address of the element
+ Address : 16B : Value of the Label UUID
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_DELETE, 20, 22, aNoInitParamDefault },
+
+ /* 4.3.2.24 Config Model Subscription Virtual Address Overwrite
+ The Config Model Subscription Virtual Address Overwrite is an acknowledged
+ message used to discard the Subscription List and add an address to the
+ cleared Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Virtual Address Overwrite
+ message is a Config Model Subscription Status message.
+ Element Address : 2B : Address of the element
+ Address : 16B : Value of the Label UUID
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_OVERWRITE, 20, 22, aNoInitParamDefault },
+
+ /* 4.3.2.69 Config Network Transmit Get
+ The Config Network Transmit Get is an acknowledged message used to get the
+ current Network Transmit state of a node (see Section 4.2.19).
+ The response to a Config Network Transmit Get message is a Config Network
+ Transmit Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_NETWORK_TRANSMIT_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.70 Config Network Transmit Set
+ The Config Network Transmit Set is an acknowledged message used to set the
+ Network Transmit state of a node (see Section 4.2.19).
+ The response to a Config Network Transmit Set message is a Config Network
+ Transmit Status message.
+
+ NetworkTransmitCount : 3b : Number of transmissions for each Network PDU originating from the node
+ NetworkTransmitIntervalSteps : 5b : Number of 10-millisecond steps between transmissions
+ */
+ { OPCODE_CONFIG_NETWORK_TRANSMIT_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.12 Config Relay Get
+ The Config Relay Get is an acknowledged message used to get the
+ current Relay (see Section 4.2.8) and Relay Retransmit (see Section 4.2.20)
+ states of a node.
+ The response to a Config Relay Get message is a Config Relay Status message.
+ There are no Parameters for this message.*/
+ { OPCODE_CONFIG_RELAY_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.13 Config Relay Set
+ The Config Relay Set is an acknowledged message used to set the Relay
+ (see Section 4.2.8) and Relay Retransmit (see Section 4.2.20) states of a node.
+ The response to a Config Relay Set message is a Config Relay Status message.
+ Relay : 8 bits : Relay
+ RelayRetransmitCount : 3b : Number of retransmissions on advertising bearer for each Network PDU relayed by the node
+ RelayRetransmitIntervalSteps : 5b : Number of 10-millisecond steps between retransmissions
+ */
+ { OPCODE_CONFIG_RELAY_SET, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.2.27 Config SIG Model Subscription Get
+ The Config SIG Model Subscription Get is an acknowledged message used to
+ get the list of subscription addresses of a model within the element.
+ This message is only for SIG Models.
+ The response to a Config SIG Model Subscription Get message is a Config SIG
+ Model Subscription List message.
+ Element Address : 2B : Address of the element
+ ModelIdentifier : 2B : SIG Model ID */
+
+ { OPCODE_CONFIG_SIG_MODEL_SUBSCRIPTION_GET, 4, 4, aNoInitParamDefault },
+
+ /* 4.3.2.29 Config Vendor Model Subscription Get
+ The Config Vendor Model Subscription Get is an acknowledged message used to
+ get the list of subscription addresses of a model within the element.
+ This message is only for Vendor Models.
+ The response to a Config Vendor Model Subscription Get message is a
+ Config Vendor Model Subscription List message.
+ Element Address : 2B : Address of the element
+ ModelIdentifier : 4B : Vendor Model ID */
+
+ { OPCODE_CONFIG_VENDOR_MODEL_SUBSCRIPTION_GET, 6, 6, aNoInitParamDefault },
+
+
+ /* 4.3.3.4 Health Fault Clear
+ The Health Fault Clear is an acknowledged message used to clear the current
+ Registered Fault state identified by Company ID of an element
+ (see Section 4.2.15.2).
+ The response to a Health Fault Clear message is a Health Fault Status message */
+ { OPCODE_HEALTH_FAULT_CLEAR, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.3.3 Health Fault Clear Unacknowledged
+ The Health Fault Clear Unacknowledged is an unacknowledged message used to
+ clear the current Registered Fault state identified by Company ID of an
+ element (see Section 4.2.15.2).
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+
+ { OPCODE_HEALTH_FAULT_CLEAR_UNACKNOWLEDGED, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.3.2 Health Fault Get
+ The Health Fault Get is an acknowledged message used to get the current
+ Registered Fault state identified by Company ID of an element
+ (see Section 4.2.15.2).
+ The response to a Health Fault Get message is a Health Fault Status message
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+ { OPCODE_HEALTH_FAULT_GET, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.3.5 Health Fault Test
+ The Health Fault Test is an acknowledged message used to invoke a
+ self-test procedure of an element.
+ The procedure is implementation specific and may result in changing the
+ Health Fault state of an element (see Section 4.2.15).
+ The response to a Health Fault Test message is a Health Fault Status message.
+
+ Test ID : 1B : Identifier of a specific test to be performed
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+ { OPCODE_HEALTH_FAULT_TEST, 3, 3, aNoInitParamDefault },
+
+ /* 4.3.3.6 Health Fault Test Unacknowledged
+ The Health Fault Test Unacknowledged is an unacknowledged message used to
+ invoke a self-test procedure of an element. The procedure is implementation
+ specific and may result in changing the Health Fault state of an element
+ (see Section 4.2.15).
+
+ Test ID : 1B : Identifier of a specific test to be performed
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+ { OPCODE_HEALTH_FAULT_TEST_UNACKNOWLEDGED, 3, 3, aNoInitParamDefault },
+
+ /* 4.3.3.8 Health Period Get
+ The Health Period Get is an acknowledged message used to get the
+ current Health Fast Period Divisor state of an element (see Section 4.2.16).
+ The response to a Health Period Get message is a Health Period Status message.
+ There are no parameters for this message. */
+ { OPCODE_HEALTH_PERIOD_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.3.10 Health Period Set
+ The Health Period Set is an acknowledged message used to set the current
+ Health Fast Period Divisor state of an element (see Section 4.2.16).
+ The response to a Health Period Set message is a Health Period Status message
+
+ FastPeriodDivisor : 1B: Divider for the Publish Period.
+ Modified Publish Period is used for sending Current */
+ { OPCODE_HEALTH_PERIOD_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.3.9 Health Period Set Unacknowledged
+ The Health Period Set Unacknowledged is an unacknowledged message used to
+ set the current Health Fast Period Divisor state of an element
+ (see Section 4.2.16).
+
+ FastPeriodDivisor : 1B: Divider for the Publish Period.
+ Modified Publish Period is used for sending Current
+ Health Status messages when there are active faults to communicate */
+ { OPCODE_HEALTH_PERIOD_SET_UNACKNOWLEDGED, 1, 1, aNoInitParamDefault },
+ /* { OPCODE_HEALTH_PERIOD_STATUS 0x8037 */
+
+
+
+ /* 4.3.2.46 Config Model App Bind
+ The Config Model App Bind is an acknowledged message used to bind an
+ AppKey to a model.
+ The response to a Config Model App Bind message is a
+ Config Model App Status message.
+
+ ElementAddress : 2B : Address of the element
+ AppKeyIndex : 2B : Index of the AppKey
+ ModelIdentifier : 2 or 4: SIG Model ID or Vendor Model ID */
+
+ { OPCODE_CONFIG_MODEL_APP_BIND, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.47 Config Model App Unbind
+ The Config Model App Unbind is an acknowledged message used to remove the
+ binding between an AppKey and a model.
+ The response to a Config Model App Unbind message is a Config Model App Status message.
+
+
+ ElementAddress : 2B : Address of the element
+ AppKeyIndex : 2B : Index of the AppKey
+ ModelIdentifier : 2 or 4: SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_APP_UNBIND, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.31 Config NetKey Add
+ The Config NetKey Add is an acknowledged message used to add a NetKey
+ to a NetKey List (see Section 4.2.4) on a node.
+ The added NetKey is then used by the node to authenticate and decrypt messages it receives, as well as authenticate and encrypt messages it sends.
+ The response to a Config NetKey Add message is a Config NetKey Status message.
+ NetKeyIndex : 2B
+ NetKey : 16B NetKey */
+ { OPCODE_CONFIG_NETKEY_ADD, 18, 18, aNoInitParamDefault },
+
+ /* 4.3.2.33 Config NetKey Delete
+ The Config NetKey Delete is an acknowledged message used to delete a NetKey
+ on a NetKey List from a node.
+ The response to a Config NetKey Delete message is a
+ Config NetKey Status message.
+ NetKeyIndex : 2B */
+ { OPCODE_CONFIG_NETKEY_DELETE, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.2.35 Config NetKey Get
+ The Config NetKey Get is an acknowledged message used to report all NetKeys
+ known to the node.
+ The response to a Config NetKey Get message is a Config NetKey List message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_NETKEY_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.32 Config NetKey Update
+ The Config NetKey Update is an acknowledged message used to update a NetKey
+ on a node. The updated NetKey is then used by the node to authenticate and
+ decrypt messages it receives, as well as authenticate and encrypt messages
+ it sends, as defined by the Key Refresh procedure (see Section 3.10.4).
+ The response to a Config NetKey Update message is a Config NetKey Status message.
+ NetKeyIndex : 2B : Index of the NetKey
+ NetKey : 16B : NetKey */
+ { OPCODE_CONFIG_NETKEY_UPDATE, 18, 18, aNoInitParamDefault},
+
+ /* 4.3.2.43 Config Node Identity Get
+ The Config Node Identity Get is an acknowledged message used to get the
+ current Node Identity state for a subnet (see Section 4.2.12).
+ The response to a Config Node Identity Get message is a
+ Config Node Identity Status message.
+
+ NetKeyIndex : 2B : Index of the NetKey */
+ { OPCODE_CONFIG_NODE_IDENTITY_GET, 2, 2, aNoInitParamDefault},
+
+ /* 4.3.2.44 Config Node Identity Set
+ The Config Node Identity Set is an acknowledged message used to set the
+ current Node Identity state for a subnet (see Section 4.2.12).
+ The response to a Config Node Identity Set message is a
+ Config Node Identity Status message.
+
+ NetKeyIndex : 2B : Index of the NetKey
+ Identity : 1B : New Node Identity state */
+ { OPCODE_CONFIG_NODE_IDENTITY_SET, 3, 3, aNoInitParamDefault},
+
+ /* 4.3.2.53 Config Node Reset
+ The Config Node Reset is an acknowledged message used to reset a node
+ (other than a Provisioner) and remove it from the network.
+ The response to a Config Node Reset message is a Config Node Reset
+ Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_NODE_RESET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.49 Config SIG Model App Get
+ The Config SIG Model App Get is an acknowledged message used to request
+ report of all AppKeys bound to the SIG Model.
+ The response to a Config SIG Model App Get message is a Config SIG Model
+ App List message.
+
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 2B : SIG Model ID */
+ { OPCODE_CONFIG_SIG_MODEL_APP_GET, 4, 4, aNoInitParamDefault },
+
+ /* 4.3.2.51 Config Vendor Model App Get
+ The Config Vendor Model App Get is an acknowledged message used to request
+ report of all AppKeys bound to the model. This message is only for Vendor Models.
+ The response to a Config Vendor Model App Get message is a Config Vendor Model App List message
+
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 4B : Vendor Model ID */
+ { OPCODE_CONFIG_VENDOR_MODEL_APP_GET, 6, 6, aNoInitParamDefault },
+
+};
+/* Private variables ---------------------------------------------------------*/
+
+eClientSendMsgState_t eClientSendMsgState; /* Keeps the state of Sent Message */
+eServerRespRecdState_t eServerRespRecdState; /* Keeps the state of Received Message */
+
+/* Private function prototypes -----------------------------------------------*/
+MOBLEUINT8 AppliConfigClient_SendMessageDefault(MOBLEUINT8 elementIdx);
+
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief This function is callback from library after the Provisioning is
+ completed by embedded Provisioner
+* @param prvState: Provisioning State of the Node. Expecting "1" when the
+ provisioning is completed
+* @retval None
+*/
+void Appli_ConfigClientStartNodeConfiguration(MOBLEUINT8 prvState)
+{
+ if (prvState==1 )
+ {
+ Appli_ConfigClient_Init();
+ eClientSendMsgState = ProvisioningDone_State;
+ NodeInfo.nodePrimaryAddress = GetAddressToConfigure();
+ }
+}
+
+
+/**
+* @brief This function is Init function for the state machine of the
+ Configuration Client. The Function shall be called every time a new
+ node is provisioned
+* @param None
+* @retval None
+*/
+MOBLE_RESULT Appli_ConfigClient_Init(void)
+{
+ eClientSendMsgState = ClientIdle_State; /* Init the value of state machine */
+ eServerRespRecdState = NodeIdle_State; /* Init the value of state machine */
+ ConfigClient_ResetTrials();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_ConfigClient_Process: This function is Process function and
+ shall be called from while(1) loop
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_Process(void)
+{
+
+ Appli_ConfigClient_ConfigureNode();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief This function is used to configure the Node after provisioning
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_ConfigureNode(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT32 nowClockTime;
+
+ /*
+ State response called function
+ --------------------------------------------------------------------------------
+ ClientIdle_State X None
+ ProvisioningDone_State X Start the configuration
+ CompositionGet_State ConfigRespInit_State GetComposition
+ CompositionGet_State CompositionRecd_State ChangeThe State to next
+ AppKeyAdd_State X Issue AppKey
+ AppKeyAdd_State AppkeyAck_State ChangeThe State to next
+ AppBindModel_State X Issue AppKetBind
+ AppBindModel_State AppBindModelAck_State ChangeThe State to next
+ AddSubscription_State X Issue the Subscription
+ AddSubscription_State SubscriptionAck_State ChangeThe State to next
+ SetPublication_State PublicationStatus_State Issue the Subscription
+ SetPublication_State PublicationStatus_State ChangeThe State to next
+
+ */
+
+ /* If the Node is already configured, return from here */
+ if (eClientSendMsgState == ConfigurationDone_State)
+ return result;
+
+ if (eClientSendMsgState == ClientIdle_State)
+ {
+ /* Waiting for the Provisioning to be done before to Start the
+ node configuration procedure */
+ return result;
+ }
+
+ if (eServerRespRecdState == NodeNoResponse_State)
+ {
+ /* No Response received from Node under Provisioning for some config
+ messages. So, no need to do the trials */
+ return MOBLE_RESULT_FAIL;
+ }
+
+ if (eClientSendMsgState == ProvisioningDone_State)
+ {
+ /* Start the node configuration procedure */
+ eClientSendMsgState = CompositionGet_State;
+ ConfigClient_SaveMsgSendingTime();
+ }
+
+ else if (eClientSendMsgState == CompositionGet_State)
+ {
+ nowClockTime = Clock_Time();
+ if( (nowClockTime - NodeInfo.Initial_time) < CONFIGURATION_START_DELAY)
+ {
+ return result;
+ }
+ /*------------- Add the delay before to start the configuration messages */
+
+ if (eServerRespRecdState == CompositionRecdCompleted_State)
+ {
+ eClientSendMsgState = AppKeyAdd_State; /* Change the state to Next */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the GetComposition servicing */
+ Appli_ConfigClient_GetCompositionData();
+ }
+ }
+
+ else if (eClientSendMsgState == AppKeyAdd_State)
+ {
+ if (eServerRespRecdState == AppkeyAckCompleted_State)
+ {
+ eClientSendMsgState = AppBindModel_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the AppKeyAdd servicing */
+ Appli_ConfigClient_DefaultAppKeyAdd();
+ }
+ }
+
+ else if (eClientSendMsgState == AppBindModel_State)
+ {
+ if (eServerRespRecdState == AppBindModelAckCompleted_State)
+ {
+ eClientSendMsgState = AddSubscription_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the AppKeyBIND servicing */
+ Appli_ConfigClient_DefaultAppKeyBind();
+ }
+ }
+
+ else if (eClientSendMsgState == AddSubscription_State)
+ {
+ if (eServerRespRecdState == SubscriptionAckCompleted_State)
+ {
+ eClientSendMsgState = SetPublication_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the Subscription add servicing */
+ AppliConfigClient_SubscriptionAddDefault();
+ }
+ }
+
+ else if (eClientSendMsgState == SetPublication_State)
+ {
+ if (eServerRespRecdState == PublicationStatusCompleted_State)
+ {
+ eClientSendMsgState = ConfigurationDone_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ TRACE_M(TF_CONFIG_CLIENT,"**Node is configured** \r\n");
+ }
+ else
+ {
+ /* Continue the Publication add servicing */
+ AppliConfigClient_PublicationSetDefault();
+ }
+ }
+
+ return result;
+}
+
+
+/**
+* @brief This function is called to Get the Composition data from the
+* a node under configuration
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_GetCompositionData (void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+ MOBLEUINT16 dst_peer;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+
+ ConfigClient_SaveMsgSendingTime();
+
+ dst_peer = GetAddressToConfigure();
+
+ /* Start the Get Composition Message */
+ ConfigClient_CompositionDataGet(dst_peer);
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ break;
+
+ case CompositionRecd_State:
+ /* Switch the state to next state AddAppKey_State */
+ ConfigClient_ResetTrials();
+ eServerRespRecdState = CompositionRecdCompleted_State;
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeIdle_State; /* Run next re-trial cycle again */
+ }
+
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief Appli_ConfigClient_DefaultAppKeyAdd: This function is called to
+ add the default AppKeys and NetKeys to a node under configuration
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyAdd (void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+ MOBLEUINT8 *pAppKey;
+ MOBLEUINT16 netKeyIndex = DEFAULT_NETKEY_INDEX;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLE_ADDRESS dst_addr;
+
+ pAppKey = GetNewProvNodeAppKey();
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ ConfigClient_SaveMsgSendingTime();
+
+ dst_addr = GetAddressToConfigure();
+
+ /* Start the Set Appkey message */
+ ConfigClient_AppKeyAdd ( dst_addr,
+ netKeyIndex,
+ appKeyIndex,
+ pAppKey);
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ break;
+
+ case AppkeyAck_State:
+ ConfigClient_ResetTrials();
+ eServerRespRecdState = AppkeyAckCompleted_State;
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeIdle_State; /* Run next re-trial cycle again */
+ }
+
+ break;
+
+ default:
+ /* Error State */
+ break;
+}
+
+ return result;
+}
+
+
+/**
+* @brief Appli_ConfigClient_DefaultAppKeyBind: This function is application used for
+ function to Bind the element(node) with AppKeyIndex and Models
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyBind (void)
+{
+ static MOBLEUINT32 modelIdentifier;
+ static MOBLEUINT8 elementIndex;
+ static MOBLEUINT8 indexSIGmodels;
+ static MOBLEUINT8 indexVendormodels;
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+
+ MOBLEUINT8 numSIGmodels;
+ MOBLEUINT8 numVendorModels;
+ MOBLEUINT8 numofElements;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ /* Start the AppBindModel_State message */
+ elementIndex = 0; /* Initialize it for the complete loop */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ case NodeNextSigModel_State:
+ numSIGmodels = GetCountSIGModelToBindApp(elementIndex);
+ modelIdentifier = GetSIGModelToBindApp(elementIndex,
+ &indexSIGmodels,
+ numSIGmodels);
+
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeNextVendorModel_State:
+ modelIdentifier = GetVendorModelToBindApp(elementIndex,indexVendormodels );
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeSendMessage_State:
+ /* Start the AppBindModel_State message */
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+
+ ConfigClient_SaveMsgSendingTime();
+
+ /* Send the Message to the server */
+ ConfigClient_ModelAppBind (elementAddress, appKeyIndex, modelIdentifier);
+ break;
+
+ case AppBindModelAck_State:
+ /* Need to check if all SIG Models are binded ? */
+
+ ConfigClient_ResetTrials();
+
+ numSIGmodels = GetCountSIGModelToBindApp(elementIndex);
+ numVendorModels = GetCountVendorModelToBindApp(elementIndex);
+
+ if (indexSIGmodels < numSIGmodels )
+ { /* Even when all SIG Models are serviced, we need to start for Vendor Models */
+ indexSIGmodels++;
+ indexVendormodels =0; /* Reset back, bcoz, we are still process the SIG Models */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ indexVendormodels++; /* When SIG Models and Vendor Models are processed
+ the loop condition will become true */
+ }
+
+ if (indexSIGmodels < numSIGmodels )
+ {/* if index is still less, then we have scope of reading 1 more index */
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ /* Switch to InProgress_State */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ /*Now, do binding for Vendor Model */
+ eServerRespRecdState = NodeNextVendorModel_State;
+ }
+ else
+ {
+ /* Now, the element index is handled, change the element index */
+ elementIndex++;
+ numofElements = ConfigClient_GetNodeElements();
+ if (elementIndex >= numofElements)
+ {/* we are comparing Index whose counting started from 0, becomes equal,
+ then exit the loop */
+
+ eServerRespRecdState = AppBindModelAckCompleted_State;
+ }
+ else if (elementIndex < numofElements)
+ { /* When the Element Index is still less than the total number of
+ elements in the Node: So, Restart the cycle */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ }
+ }
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeSendMessage_State; /* Run next re-trial cycle again */;
+ }
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_SubscriptionAddDefault: This function is application
+ used for adding subscription to the element(node) for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_SubscriptionAddDefault (void)
+{
+ static MOBLEUINT32 modelIdentifier;
+ static MOBLEUINT16 elementAddress;
+ static MOBLEUINT8 elementIndex;
+ static MOBLEUINT8 indexSIGmodels;
+ static MOBLEUINT8 indexVendormodels;
+ MOBLEUINT8 numSIGmodels;
+ MOBLEUINT8 numVendorModels;
+ MOBLEUINT8 numofElements;
+ MOBLEUINT16 address = DEFAULT_GROUP_ADDR;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ /* Start the SubscriptionAdd message */
+
+ elementIndex = 0; /* Initialize it for the complete loop */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ case NodeNextSigModel_State:
+ numSIGmodels = GetCountSIGModelToSubscribe(elementIndex);
+ modelIdentifier = GetSIGModelToSubscribe(elementIndex,
+ &indexSIGmodels,
+ numSIGmodels);
+
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeNextVendorModel_State:
+ modelIdentifier = GetVendorModelToSubscribe(elementIndex,indexVendormodels );
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeSendMessage_State:
+ elementAddress = GetServerElementAddress(elementIndex);
+ ConfigClient_SaveMsgSendingTime();
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ ConfigClient_SubscriptionAdd (elementAddress, address, modelIdentifier);
+
+ break;
+
+
+ case SubscriptionAck_State:
+ /* Need to check if all SIG Models are subscribed ? */
+ ConfigClient_ResetTrials();
+
+ numSIGmodels = GetCountSIGModelToSubscribe(elementIndex);
+ numVendorModels = GetCountVendorModelToSubscribe(elementIndex);
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ if (indexSIGmodels < numSIGmodels )
+ { /* Even when all SIG Models are serviced, we need to start for Vendor Models */
+ indexSIGmodels++;
+ indexVendormodels =0; /* Reset back, bcoz, we are still process the SIG Models */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ indexVendormodels++; /* When SIG Models and Vendor Models are processed
+ the loop condition will become true */
+ }
+
+ if (indexSIGmodels < numSIGmodels )
+ {/* if index is still less, then we have scope of reading 1 more index */
+
+ /* Get the Next Model and Bind it again till all SIG Models are binded */
+ eServerRespRecdState = NodeNextSigModel_State;
+
+ }
+ else if (indexVendormodels < numVendorModels)
+{
+ eServerRespRecdState = NodeNextVendorModel_State;
+ }
+ else
+ {
+ /* Now, the element index is handled, change the element index */
+ elementIndex++;
+ numofElements = ConfigClient_GetNodeElements();
+ if (elementIndex == numofElements)
+ {/* we are comparing Index whose counting started from 0, becomes equal,
+ then exit the loop */
+ eServerRespRecdState = SubscriptionAckCompleted_State;
+ }
+ else if (elementIndex < numofElements)
+ { /* When the Element Index is still less than the total number of
+ elements in the Node: So, Restart the cycle */
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ indexSIGmodels =0; /* Reset the variable again for the next element */
+ indexVendormodels = 0;
+ }
+ }
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeSendMessage_State; /* Run next re-trial cycle again */;
+ }
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_PublicationSetDefault: This function is application
+ used for adding publication settings to the element(node)
+ for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_PublicationSetDefault (void)
+{
+ MOBLEUINT16 publishAddress = DEFAULT_PUBLISH_ADDR;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLEUINT8 credentialFlag = DEFAULT_CREDENTIAL_FLAG;
+ MOBLEUINT8 publishTTL = DEFAULT_PUBLISH_TTL;
+ MOBLEUINT8 publishPeriod = DEFAULT_PUBLISH_PERIOD;
+ MOBLEUINT8 publishRetransmitCount = DEFAULT_PUBLISH_RETRANSMIT_COUNT;
+ MOBLEUINT8 publishRetransmitIntervalSteps= DEFAULT_PUBLISH_RETRANSMIT_INTERVAL_STEPS;
+
+ static MOBLEUINT16 elementAddress;
+ static MOBLEUINT32 modelIdentifier;
+ static MOBLEUINT8 elementIndex;
+ static MOBLEUINT8 indexSIGmodels;
+ static MOBLEUINT8 indexVendormodels;
+ MOBLEUINT8 numSIGmodels;
+ MOBLEUINT8 numVendorModels;
+ MOBLEUINT8 numofElements;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ /* Start the Publication Add message */
+
+ elementIndex = 0; /* Initialize it for the complete loop */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ case NodeNextSigModel_State:
+ numSIGmodels = GetCountSIGModelToPublish(elementIndex);
+ modelIdentifier = GetSIGModelToPublish(elementIndex,
+ &indexSIGmodels,
+ numSIGmodels);
+
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeNextVendorModel_State:
+ modelIdentifier = GetVendorModelToPublish(elementIndex,indexVendormodels);
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+
+ case NodeSendMessage_State:
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ ConfigClient_SaveMsgSendingTime();
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ ConfigClient_PublicationSet(elementAddress,
+ publishAddress,
+ appKeyIndex,
+ credentialFlag,
+ publishTTL,
+ publishPeriod,
+ publishRetransmitCount,
+ publishRetransmitIntervalSteps,
+ modelIdentifier);
+
+ break;
+
+
+ case PublicationStatus_State:
+ /* Need to check if all SIG Models are subscribed ? */
+ ConfigClient_ResetTrials();
+
+ numSIGmodels = GetCountSIGModelToPublish(elementIndex);
+ numVendorModels = GetCountVendorModelToPublish(elementIndex);
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ if (indexSIGmodels < numSIGmodels )
+ { /* Even when all SIG Models are serviced, we need to start for Vendor Models */
+ indexSIGmodels++;
+ indexVendormodels =0; /* Reset back, bcoz, we are still process the SIG Models */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ indexVendormodels++; /* When SIG Models and Vendor Models are processed
+ the loop condition will become true */
+ }
+
+
+ if (indexSIGmodels < numSIGmodels )
+ {/* if index is still less, then we have scope of reading 1 more index */
+ eServerRespRecdState = NodeNextSigModel_State;
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ eServerRespRecdState = NodeNextVendorModel_State;
+ }
+ else
+ {
+ /* Now, the element index is handled, change the element index */
+ elementIndex++;
+ numofElements = ConfigClient_GetNodeElements();
+
+ if (elementIndex == numofElements)
+ {/* we are comparing Index whose counting started from 0, becomes equal,
+ then exit the loop */
+ eServerRespRecdState = PublicationStatusCompleted_State;
+ }
+ else if (elementIndex < numofElements)
+ { /* When the Element Index is still less than the total number of
+ elements in the Node: So, Restart the cycle */
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ indexSIGmodels =0; /* Reset the variable again for the next element */
+ indexVendormodels = 0;
+ }
+ }
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeSendMessage_State; /* Run next re-trial cycle again */;
+ }
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_SelfPublicationSetDefault: This function is application
+ used for adding publication settings to the element(node)
+ for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_SelfPublicationSetDefault (void)
+{
+ MOBLEUINT16 publishAddress = DEFAULT_PUBLISH_ADDR;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLEUINT8 credentialFlag = DEFAULT_CREDENTIAL_FLAG;
+ MOBLEUINT8 publishTTL = DEFAULT_PUBLISH_TTL;
+ MOBLEUINT8 publishPeriod = DEFAULT_PUBLISH_PERIOD;
+ MOBLEUINT8 publishRetransmitCount = DEFAULT_PUBLISH_RETRANSMIT_COUNT;
+ MOBLEUINT8 publishRetransmitIntervalSteps= DEFAULT_PUBLISH_RETRANSMIT_INTERVAL_STEPS;
+
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT32 modelIdentifier=0;
+ MOBLEUINT8 elementIndex;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ for (elementIndex=0; elementIndex < APPLICATION_NUMBER_OF_ELEMENTS; elementIndex++ )
+ {
+ /*Checking for SIG Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_SIG_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT16) Appli_SIG_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else if (MODEL_IS_FOUNDATION_MODEL(modelIdentifier))
+ {
+ /* If Model is Foundation Model, then it does not need to be
+ added for Publishing */
+
+ /* Do NOTHING, let the next Model be picked */
+ }
+
+ else
+ {
+ ConfigClient_PublicationSet(elementAddress,
+ publishAddress,
+ appKeyIndex,
+ credentialFlag,
+ publishTTL,
+ publishPeriod,
+ publishRetransmitCount,
+ publishRetransmitIntervalSteps,
+ modelIdentifier);
+ }
+ }
+
+ /*Checking for VENDOR Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_VENDOR_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT32) Appli_Vendor_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else
+ {
+ ConfigClient_PublicationSet(elementAddress,
+ publishAddress,
+ appKeyIndex,
+ credentialFlag,
+ publishTTL,
+ publishPeriod,
+ publishRetransmitCount,
+ publishRetransmitIntervalSteps,
+ modelIdentifier);
+ }
+ }
+ }
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_SelfSubscriptionSetDefault: This function is application
+ used for adding Subscription settings to the element(node)
+ for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_SelfSubscriptionSetDefault (void)
+{
+ MOBLEUINT32 modelIdentifier=0;
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT8 elementIndex;
+ MOBLEUINT16 address = DEFAULT_GROUP_ADDR;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ for (elementIndex=0; elementIndex < APPLICATION_NUMBER_OF_ELEMENTS; elementIndex++ )
+ {
+ /*Checking for SIG Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_SIG_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT16) Appli_SIG_Models[elementIndex][index];
+
+ /*If limit is reaching to no models*/
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else if (MODEL_IS_FOUNDATION_MODEL(modelIdentifier))
+ {
+ /* If Model is Foundation Model, then it does not need to be
+ Subscribed */
+
+ /* Do NOTHING, let the next Model be picked */
+ }
+ else
+ {
+ ConfigClient_SubscriptionAdd (elementAddress, address, modelIdentifier);
+ }
+ }
+
+ /*Checking for Vendor Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_VENDOR_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT32) Appli_Vendor_Models[elementIndex][index];
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else
+ {
+ ConfigClient_SubscriptionAdd (elementAddress, address, modelIdentifier);
+ }
+ }
+
+ }
+ return result;
+}
+
+
+/**
+* @brief Appli_ConfigClient_DefaultAppKeyBind: This function is application used for
+ function to Bind the element(node) with AppKeyIndex and Models
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_SelfDefaultAppKeyBind (void)
+{
+
+ MOBLEUINT32 modelIdentifier=0;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT8 elementIndex;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ appKeyIndex = DEFAULT_APPKEY_INDEX;
+
+ for (elementIndex=0; elementIndex < APPLICATION_NUMBER_OF_ELEMENTS; elementIndex++ )
+ {
+ /*Checking for SIG Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_SIG_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT16) Appli_SIG_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else if (MODEL_IS_FOUNDATION_MODEL(modelIdentifier))
+ {
+ /* If Model is Foundation Model, then it does not need to be binded
+ with AppKey */
+
+ /* Do NOTHING, let the next Model be picked */
+ }
+ else
+ {
+ ConfigClient_ModelAppBind (elementAddress, appKeyIndex, modelIdentifier);
+ }
+ }
+
+ /*Checking for VENDOR Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_VENDOR_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT32) Appli_Vendor_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else
+ {
+ ConfigClient_ModelAppBind (elementAddress, appKeyIndex, modelIdentifier);
+ }
+ }
+
+ }
+ return result;
+}
+
+/**
+* @brief Appli_CompositionDataStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_CompositionDataStatusCb(MOBLE_RESULT status)
+{
+ eServerRespRecdState = CompositionRecd_State;
+}
+
+
+/**
+* @brief Appli_AppKeyStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_AppKeyStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = AppkeyAck_State;
+}
+
+
+/**
+* @brief Appli_AppBindModelStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_AppBindModelStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = AppBindModelAck_State;
+}
+
+
+/**
+* @brief Appli_SubscriptionAddStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_SubscriptionAddStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = SubscriptionAck_State;
+}
+
+
+/**
+* @brief Appli_PublicationStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_PublicationStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = PublicationStatus_State;
+}
+
+
+/**
+* @brief Appli_NodeResetStatusCb: This function is callback from config
+ client middleware on reception of the Node Reset response
+* @param None
+* @retval None
+*/
+void Appli_NodeResetStatusCb(void)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = NodeResetStatus_State;
+}
+
+
+/**
+* @brief GetSIGModelToBindApp: This function gets the SIG Model to Bind
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT16 GetSIGModelToBindApp(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels)
+{
+
+ MOBLEUINT16 model_id;
+ MOBLEUINT8 index;
+ MOBLEUINT8 idxSIG = *pModelIndex;
+
+ for (index = idxSIG; index < numberOfModels ; index++ )
+ {
+ model_id = aNodeElements[elementIndex].aSIGModels[index];
+ if (MODEL_IS_FOUNDATION_MODEL(model_id))
+ {
+ /* Do nothing, let the next model_if be scanned */
+ model_id = 0xffff; /* Invalid Model ID */
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ *pModelIndex = index;
+ return model_id;
+
+}
+
+
+/**
+* @brief GetVendorModelToBindApp: This function gets the Vendor Model to Bind
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT32 GetVendorModelToBindApp(MOBLEUINT8 elementIndex, MOBLEUINT8 indexModels)
+{
+ return aNodeElements[elementIndex].aVendorModels[indexModels];
+}
+
+/**
+* @brief GetCountSIGModelToBindApp: This function gets the NUMBER of SIG Model
+ to Bind
+* @param elementIndex Index of the Element for which the Count is needed
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountSIGModelToBindApp(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumSIGmodels;
+}
+
+
+/**
+* @brief GetCountVendorModelToBindApp: This function gets the Vendor Model to Bind
+* @param elementIndex Index of the Element for which the Count is needed
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountVendorModelToBindApp(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumVendorModels;
+}
+
+
+/**
+* @brief GetSIGModelToPublish: This function gets the SIG Model to Publish
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT16 GetSIGModelToPublish(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels)
+
+{
+ return GetSIGModelToBindApp(elementIndex,
+ pModelIndex,
+ numberOfModels);
+}
+
+
+/**
+* @brief GetVendorModelToPublish: This function gets the Vendor Model to Publish
+* @param elementIndex Index of the Element
+* @param idxSIG Pointer to Index of the Model
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT32 GetVendorModelToPublish(MOBLEUINT8 elementIndex, MOBLEUINT8 idxSIG)
+{
+ return aNodeElements[elementIndex].aVendorModels[idxSIG];
+}
+
+
+/**
+* @brief GetCountSIGModelToPublish: This function gets the SIG Model to Bind
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountSIGModelToPublish(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumSIGmodels;
+}
+
+
+/**
+* @brief GetCountVendorModelToPublish: This function gets the Vendor Model to Publish
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountVendorModelToPublish(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumVendorModels;
+}
+
+
+/**
+* @brief GetSIGModelToSubscribe: This function gets the SIG Model to Bind
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT16 GetSIGModelToSubscribe(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels)
+{
+ return GetSIGModelToBindApp(elementIndex,
+ pModelIndex,
+ numberOfModels);
+}
+
+
+/**
+* @brief GetVendorModelToSubscribe: This function Gets the Vendor Model ID for
+ Subscription
+* @param elementIndex Index of the Element
+* @param idxSIG Index to the Model ID to Subscribe
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT32 GetVendorModelToSubscribe(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 idxSIG)
+{
+ return aNodeElements[elementIndex].aVendorModels[idxSIG];
+}
+
+
+/**
+* @brief GetCountSIGModelToSubscribe: This function gets the SIG Model to Subscribe
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountSIGModelToSubscribe(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumSIGmodels;
+}
+
+
+/**
+* @brief GetCountVendorModelToPublish: This function gets the Count of the
+ Vendor Model to Subscribe
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountVendorModelToSubscribe(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumVendorModels;
+}
+
+
+/**
+* @brief AppliConfigClient_SendMessageDefault: This function is used for sending
+ a message.
+ ** The Function is not yet written fully
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 AppliConfigClient_SendMessageDefault(MOBLEUINT8 elementIdx)
+{
+ return NUM_VENDOR_MODELS_TO_SUBSCRIBE;
+}
+
+/******************************************************************************/
+#endif /* defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER) */
+/******************************************************************************/
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.h
new file mode 100644
index 000000000..2a1fa19e6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_config_client.h
@@ -0,0 +1,93 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_CONFIG_CLIENT_H
+#define __APPLI_CONFIG_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+#include "config_client.h"
+#include "mesh_cfg_usr.h"
+
+/* Exported macro ------------------------------------------------------------*/
+#define MAX_CONFIG_PARAM_SIZE 22
+#define CONFIGURE_AS_PER_COMPOSITION_DATA
+
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+#if defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER)
+
+MOBLE_RESULT Appli_ConfigClient_Init(void);
+MOBLE_RESULT Appli_ConfigClient_Process(void);
+MOBLE_RESULT Appli_ConfigClient_ConfigureNode(void);
+void Appli_CompositionDataStatusCb(MOBLE_RESULT);
+void Appli_AppKeyStatusCb(MOBLEUINT8 status);
+void Appli_AppBindModelStatusCb(MOBLEUINT8 status);
+void Appli_PublicationStatusCb(MOBLEUINT8 status);
+void Appli_SubscriptionAddStatusCb(MOBLEUINT8 status);
+void Appli_NodeResetStatusCb(void);
+
+void Appli_ConfigClientStartNodeConfiguration(MOBLEUINT8 prvState);
+MOBLE_RESULT Appli_ConfigClient_GetCompositionData (void);
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyAdd (void);
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyBind (void);
+MOBLE_RESULT AppliConfigClient_SubscriptionAddDefault (void);
+MOBLE_RESULT AppliConfigClient_PublicationSetDefault (void);
+MOBLE_RESULT AppliConfigClient_SelfPublicationSetDefault (void);
+MOBLE_RESULT AppliConfigClient_SelfSubscriptionSetDefault (void);
+MOBLE_RESULT Appli_ConfigClient_SelfDefaultAppKeyBind (void);
+Composition_Data_Page0_t* Appli_GetNodeCompositionBuff (void);
+
+MOBLEUINT16 GetSIGModelToBindApp(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels);
+
+MOBLEUINT32 GetVendorModelToBindApp(MOBLEUINT8 elementIdx, MOBLEUINT8 idxSIG);
+MOBLEUINT8 GetCountSIGModelToBindApp(MOBLEUINT8 elementIdx);
+MOBLEUINT8 GetCountVendorModelToBindApp(MOBLEUINT8 elementIdx);
+
+MOBLEUINT16 GetSIGModelToSubscribe(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels);
+
+
+MOBLEUINT32 GetVendorModelToSubscribe(MOBLEUINT8 elementIdx, MOBLEUINT8 idxSIG);
+MOBLEUINT8 GetCountSIGModelToSubscribe(MOBLEUINT8);
+MOBLEUINT8 GetCountVendorModelToSubscribe(MOBLEUINT8);
+
+MOBLEUINT16 GetSIGModelToPublish(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels);
+
+MOBLEUINT32 GetVendorModelToPublish(MOBLEUINT8 elementIdx, MOBLEUINT8 idxSIG);
+MOBLEUINT8 GetCountSIGModelToPublish(MOBLEUINT8 elementIdx);
+
+MOBLEUINT8 GetCountVendorModelToPublish(MOBLEUINT8 elementIdx);
+
+#endif /*defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER) */
+
+#endif /* __APPLI_CONFIG_CLIENT_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.c
new file mode 100644
index 000000000..52dbed1e8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.c
@@ -0,0 +1,484 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h"
+#include "hal_common.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "mesh_cfg.h"
+#include "generic.h"
+#include "light.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+
+/** @addtogroup ST_BLE_Mesh
+ * @{
+ */
+
+/** @addtogroup Application_Mesh_Models
+ * @{
+ */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+extern MOBLEUINT8 RestoreFlag;
+extern MOBLEUINT16 IntensityValue;
+extern MOBLEUINT8 IntensityFlag;
+extern MOBLEUINT8 PowerOnOff_flag;
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+extern Appli_LightPwmValue_t Appli_LightPwmValue;
+#endif
+
+Appli_Generic_OnOffSet AppliOnOffSet[APPLICATION_NUMBER_OF_ELEMENTS];
+Appli_Generic_LevelSet AppliLevelSet[APPLICATION_NUMBER_OF_ELEMENTS];
+Appli_Generic_PowerOnOffSet AppliPowerOnSet[APPLICATION_NUMBER_OF_ELEMENTS];
+Appli_Generic_DefaultTransitionSet AppliDefaultTransitionSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/* Private function prototypes -----------------------------------------------*/
+MOBLE_RESULT Appli_Generic_LevelDelta_Set(Generic_LevelStatus_t* pdeltalevelParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_LevelMove_Set(Generic_LevelStatus_t* pdeltaMoveParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_ONOFF
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_OnOff_Set: This function is callback for Application
+* when Generic OnOff message is received
+* @param pGeneric_OnOffParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_OnOff_Set(Generic_OnOffStatus_t* pGeneric_OnOffParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ /* LED control only for main element */
+ if(elementIndex == GENERIC_SERVER_MAIN_ELEMENT_INDEX)
+ {
+ /*User need to modify the parameters as per the number of elements per node*/
+ AppliOnOffSet[elementIndex].Present_OnOff = pGeneric_OnOffParam->Present_OnOff_State;
+ AppliOnOffSet[elementIndex].Present_OnOffValue = pGeneric_OnOffParam->Present_OnOff_Value;
+
+ /* This condition is applicable when user want to on off the light with some
+ default transition value, or optionalValid =IN_TRANSITION ,
+ transition is in progress.
+ */
+ if((OptionalValid == DEFAULT_TRANSITION) || (OptionalValid == IN_TRANSITION))
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = AppliOnOffSet[elementIndex].Present_OnOffValue;
+ Light_UpdateLedValue(LOAD_STATE ,Appli_LightPwmValue);
+#endif
+
+ #if 0 /* EME */
+ if(AppliOnOffSet[elementIndex].Present_OnOff == APPLI_LED_ON)
+ {
+ AppliOnOffSet[elementIndex].TargetValue = PWM_TIME_PERIOD;
+ }
+ else
+ {
+ AppliOnOffSet[elementIndex].TargetValue = APPLI_LED_OFF;
+ }
+ #else
+ AppliOnOffSet[elementIndex].TargetValue = pGeneric_OnOffParam->Target_OnOff;
+ #endif /* EME */
+
+ if(AppliOnOffSet[elementIndex].Present_OnOffValue == AppliOnOffSet[elementIndex].TargetValue)
+ {
+ if(AppliOnOffSet[elementIndex].Present_OnOffValue > 0)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+ }
+ }
+ else
+ {
+ if((AppliOnOffSet[elementIndex].Present_OnOff == APPLI_LED_ON) && (OptionalValid == NO_TRANSITION))
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_Off(LED_BLUE);
+ }
+ }
+ }
+
+ TRACE_M(TF_GENERIC, "Appli_Generic_OnOff_Set callback received for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL, "#8202!for elementIndex %d \r\n", elementIndex);
+
+ NvmStatePowerFlag_Set(GENERIC_ON_OFF_NVM_FLAG, elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_SERVER_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_LEVEL
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_Level_Set: This function is callback for Application
+* when Generic Level message is received
+* @param plevelParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Level_Set(Generic_LevelStatus_t* plevelParam,
+ MOBLEUINT8 OptionalValid,MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT16 duty;
+ static MOBLEUINT16 previousIntensity = 0;
+
+ AppliLevelSet[elementIndex].Present_Level16= plevelParam->Present_Level16;
+ if(AppliLevelSet[elementIndex].Present_Level16 <= 0)
+ {
+ AppliLevelSet[elementIndex].Present_Level16 = 0;
+ }
+
+ IntensityValue = AppliLevelSet[elementIndex].Present_Level16;
+
+ if(((IntensityValue > previousIntensity) && (IntensityValue <PWM_TIME_PERIOD)) ||
+ IntensityValue == INTENSITY_LEVEL_ZERO)
+ {
+ IntensityFlag = MOBLE_FALSE;
+ }
+ else
+ {
+ IntensityFlag = MOBLE_TRUE;
+ }
+ previousIntensity = IntensityValue;
+
+ if(AppliLevelSet[elementIndex].Present_Level16 < 0x00)
+ {
+ AppliLevelSet[elementIndex].Present_Level16 = 0;
+ }
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ duty = PwmValueMapping(AppliLevelSet[elementIndex].Present_Level16 , 0x7FFF ,0x0000);
+ Appli_LightPwmValue.IntensityValue = duty;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+#endif
+
+ TRACE_M(TF_GENERIC,"Appli_Generic_Level_Set callback received for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8206!for elementIndex %d \r\n", elementIndex);
+
+ NvmStatePowerFlag_Set(GENERIC_LEVEL_NVM_FLAG, elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_Delta_Set: This function is callback for Application
+* when Generic Level Delta message is received
+* @param pdeltalevelParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Delta_Set(Generic_LevelStatus_t* pdeltalevelParam,
+ MOBLEUINT8 OptionalValid,MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ AppliLevelSet[elementIndex].Present_Level16 = pdeltalevelParam->Present_Level16;
+
+ /* For demo, if Level is more than 50, switch ON the LED */
+ if (AppliLevelSet[elementIndex].Present_Level16 >= 50)
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_Off(LED_BLUE);
+ }
+
+ TRACE_M(TF_GENERIC,"Generic_LevelDelta_Set callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8209!\r\n");
+
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_Move_Set: This function is callback for Application
+* when Generic Level Move message is received
+* @param pdeltaMoveParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Move_Set(Generic_LevelStatus_t* pdeltaMoveParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+// if(OptionalValid == 1)
+// {
+ AppliLevelSet[elementIndex].Last_delta_level = pdeltaMoveParam->Last_delta_level;
+ AppliLevelSet[elementIndex].Last_Level_TID = pdeltaMoveParam->Last_Level_TID;
+ AppliLevelSet[elementIndex].Last_Present_Level16 = pdeltaMoveParam->Last_Present_Level16;
+ AppliLevelSet[elementIndex].Present_Level16 = pdeltaMoveParam->Present_Level16;
+ AppliLevelSet[elementIndex].RemainingTime = pdeltaMoveParam->RemainingTime;
+ AppliLevelSet[elementIndex].Target_Level16 = pdeltaMoveParam->Target_Level16;
+// }
+
+ TRACE_M(TF_GENERIC,"Generic_LevelMove_Set callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#820B! \r\n");
+ return MOBLE_RESULT_SUCCESS;
+
+}
+
+/******************************************************************************/
+#endif /* ENABLE_GENERIC_MODEL_SERVER_LEVEL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_PowerOnOff_Set: This function is callback for Application
+* when Generic Power on off set message is received
+* @param pPowerOnOffParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_PowerOnOff_Set(Generic_PowerOnOffParam_t* pPowerOnOffParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+
+ AppliPowerOnSet[elementIndex].PowerOnState = pPowerOnOffParam->PowerOnOffState;
+ TRACE_M(TF_SERIAL_CTRL,"#8213! for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_GENERIC,"Appli_Generic_PowerOnOff_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ if(AppliPowerOnSet[elementIndex].PowerOnState == GENERIC_POWER_ON_STATE)
+ {
+ /* set the flag value for NVM store */
+ RestoreFlag = GENERIC_ON_OFF_NVM_FLAG;
+ }
+
+ AppliNvm_SaveMessageParam();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_DefaultTransitionTime_Set: This function is callback for Application
+* when Generic Power on off set message is received
+* @param pDefaultTimeParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Set(Generic_DefaultTransitionParam_t* pDefaultTimeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ AppliDefaultTransitionSet[elementIndex].DefaultTransitionTime = pDefaultTimeParam->DefaultTransitionTime;
+
+ TRACE_M(TF_GENERIC,"Generic_DefaultTransitionTime_Set callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#820E!\r\n");
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+
+/******************************************************************************/
+#endif /* ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME */
+/******************************************************************************/
+
+
+/**
+* @brief Appli_Generic_GetOnOffState: This function is callback for Application
+* when Generic on off status message is to be provided
+* @param pOnOff_status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetOnOffStatus(MOBLEUINT8* pOnOff_Status,MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pOnOff_Status = AppliOnOffSet[elementIndex].Present_OnOff;
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetOnOffValue: This function is callback for Application
+ to get the PWM value for the generic on off
+* @param pOnOff_Value: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetOnOffValue(MOBLEUINT8* pOnOff_Value, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pOnOff_Value = AppliOnOffSet[elementIndex].Present_OnOffValue;
+ *(pOnOff_Value+1) = AppliOnOffSet[elementIndex].Present_OnOffValue >> 8;
+ *(pOnOff_Value+2) = AppliOnOffSet[elementIndex].TargetValue;
+ *(pOnOff_Value+3) = AppliOnOffSet[elementIndex].TargetValue >> 8;
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetLevelStatus: This function is callback for Application
+ when Generic Level status message is to be provided
+* @param pLevel_status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetLevelStatus(MOBLEUINT8* pLevel_Status, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pLevel_Status = AppliLevelSet[elementIndex].Present_Level16;
+ *(pLevel_Status+1) = AppliLevelSet[elementIndex].Present_Level16 >> 8;
+ *(pLevel_Status+2) = AppliLevelSet[elementIndex].Target_Level16;
+ *(pLevel_Status+3) = AppliLevelSet[elementIndex].Target_Level16 >> 8;
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetPowerOnOffStatus: This function is callback for Application
+* when Generic Get Power status message is to be provided
+* @param pLevel_status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetPowerOnOffStatus(MOBLEUINT8* pPower_Status, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pPower_Status = AppliPowerOnSet[elementIndex].PowerOnState;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetDefaultTransitionStatus: This function is callback for
+* Application when Generic Level status message is to be provided
+* @param pTransition_Status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetDefaultTransitionStatus(MOBLEUINT8* pTransition_Status,MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pTransition_Status = AppliDefaultTransitionSet[elementIndex].DefaultTransitionTime;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.h
new file mode 100644
index 000000000..755e95db5
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic.h
@@ -0,0 +1,158 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_GENERIC_H
+#define __APPLI_GENERIC_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* user configuration for Battery status */
+#define BATTERY_ABSENT 0X00
+#define BATTERY_PRESENT_REMOVABLE 0X01
+#define BATTERY_PRESENT_NON_REMOVABLE 0X02
+#define BATTERY_UNKNOWN 0X03
+#define BATTERY_CRITICAL_LOW_LEVEL 0X00
+#define BATTERY_LOW_LEVEL 0X01
+#define BATTERY_GOOD_LEVEL 0X02
+#define BATTERY_LEVEL_UNKNOWN 0X03
+#define BATTERY_NOT_CHARGEABLE 0X00
+#define BATTERY_NOT_CHARGING 0X01
+#define BATTERY_IS_CHARGING 0X02
+#define BATTERY_CHARGING_UNKNOWN 0X03
+#define BATTERY_SERVICE_RFU 0X00
+#define BATTERY_REQUIRE_NO_SERVICE 0X01
+#define BATTERY_REQUIRE_SERVICE 0X02
+#define BATTERY_SERVICE_UNKNOWN 0X03
+
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+
+#pragma pack(push, 1)
+
+typedef struct
+{
+ MOBLEUINT8 Present_OnOff;
+ MOBLEUINT16 Present_OnOffValue;
+ MOBLEUINT16 TargetValue;
+}Appli_Generic_OnOffSet;
+
+typedef struct
+{
+ MOBLEINT16 Present_Level16;
+ MOBLEINT16 Target_Level16;
+ MOBLEUINT8 RemainingTime;
+ MOBLEUINT8 Last_Level_TID;
+ MOBLEINT16 Last_Present_Level16;
+ MOBLEINT32 Last_delta_level;
+}Appli_Generic_LevelSet;
+
+typedef struct
+{
+ MOBLEINT16 PowerOnState;
+}Appli_Generic_PowerOnOffSet;
+
+typedef struct
+{
+ MOBLEUINT8 DefaultTransitionTime;
+}Appli_Generic_DefaultTransitionSet;
+
+typedef struct
+{
+ MOBLEUINT8 Is_BatteryPresent;
+ MOBLEUINT8 Is_Chargeable;
+ MOBLEUINT8 Is_Serviceable;
+}Appli_BatteryUserflag_param_t;
+
+#pragma pack(pop)
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+MOBLE_RESULT Appli_Generic_OnOff_Set(Generic_OnOffStatus_t*,
+ MOBLEUINT8,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_OnOff_Status(MOBLEUINT8 const *pOnOff_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Level_Set(Generic_LevelStatus_t*,
+ MOBLEUINT8,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Delta_Set(Generic_LevelStatus_t*,
+ MOBLEUINT8,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Move_Set(Generic_LevelStatus_t* pdeltaMoveParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Level_Status(MOBLEUINT8 const *plevel_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_PowerOnOff_Set(Generic_PowerOnOffParam_t* pPowerOnOffParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_PowerOnOff_Status(MOBLEUINT8 const *powerOnOff_status ,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Set(Generic_DefaultTransitionParam_t* pDefaultTimeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Status(MOBLEUINT8 const *pTransition_status ,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Generic_GetOnOffStatus(MOBLEUINT8* pOnOff_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetOnOffValue(MOBLEUINT8* pOnOff_Value,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetLevelStatus(MOBLEUINT8* pLevel_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetPowerOnOffStatus(MOBLEUINT8* pLevel_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Generic_Restore_PowerOn_Value(MOBLEUINT8 restoreValue,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetDefaultTransitionStatus(MOBLEUINT8* pTransition_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+
+
+#endif /* __APPLI_GENERIC_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.c
new file mode 100644
index 000000000..9c9ff6480
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.c
@@ -0,0 +1,345 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "appli_mesh.h"
+#include "generic_client.h"
+#include "appli_generic_client.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief Appli_Generic_OnOff_Status: This function is callback for Application
+* when Generic OnOff message is received
+* @param pOnOff_status: Pointer to the parameters received for message
+* @param plength: length of the data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_OnOff_Status(MOBLEUINT8 const *pOnOff_status, MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_GENERIC,"Generic_OnOff_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8204!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Present OnOff value: %d\n\r", pOnOff_status[i]);
+ else if(i == 1)
+ TRACE_M(TF_SERIAL_CTRL,"Target OnOff value: %d\n\r", pOnOff_status[i]);
+ else if(i == 2)
+ TRACE_M(TF_SERIAL_CTRL,"Remaining Time value: %d\n\r", pOnOff_status[i]);
+ }
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL
+/******************************************************************************/
+
+ /**
+* @brief Appli_Generic_Level_Status: This function is callback for Application
+* when Generic Level Move message is received
+* @param plevel_status: Pointer to the parameters message
+* @param plength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Level_Status(MOBLEUINT8 const *plevel_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT8 i;
+ MOBLEUINT8 level = 0;
+#endif
+
+ TRACE_M(TF_GENERIC,"Generic_Level_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8208! \r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < plength; i++)
+ {
+ if((i == 0) || (i == 2))
+ level = plevel_status[i];
+ else if(i == 1)
+ TRACE_M(TF_SERIAL_CTRL,"Present Level value: %d%\n\r",
+ (((plevel_status[i]<<8)|level)*100/LEVEL_MAX_VALID_RANGE));
+ else if(i == 3)
+ TRACE_M(TF_SERIAL_CTRL,"Target Level value: %d%\n\r",
+ (((plevel_status[i]<<8)|level)*100/LEVEL_MAX_VALID_RANGE));
+ else if(i == 4)
+ TRACE_M(TF_SERIAL_CTRL,"Remaining Time value: %d\n\r", plevel_status[i]);
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL */
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_DefaultTransitionTime_Status: This function is callback for Application
+* when Generic Power on off set message is received
+* @param pTransition_status: Pointer to the parameters message
+* @param plength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Status(MOBLEUINT8 const *pTransition_status , MOBLEUINT32 plength,MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ TRACE_M(TF_GENERIC,"Generic_DefaultTransitionTime_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8210!\r\n");
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Generic_PowerOnOff_Set: This function is callback for Application
+* when Generic Power on off set message is received
+* @param powerOnOff_status: Pointer to the parameters message
+* @param plength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_PowerOnOff_Status(MOBLEUINT8 const *powerOnOff_status,\
+ MOBLEUINT32 plength, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_GENERIC,"Generic_PowerOnOff_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8212!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"On Power up value: %d\n\r",
+ powerOnOff_status[i]);
+ }
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_GenericClient_API: This function is a Wrapper to call Generic Client API depending on opcode received in input
+* @param elementIndex: Index of the element
+* @param msg_opcode: opcode of the desired API
+* @param msg_params: buffer containing the desired API parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_GenericClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ switch(msg_opcode){
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_ONOFF
+/******************************************************************************/
+ case GENERIC_ON_OFF_GET:
+ {
+ result = GenericClient_OnOff_Get(elementIndex);
+ break;
+ }
+ case GENERIC_ON_OFF_SET_ACK:
+ {
+ result = GenericClient_OnOff_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_OnOffParam_t) );
+ break;
+ }
+ case GENERIC_ON_OFF_SET_UNACK:
+ {
+ result = GenericClient_OnOff_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_OnOffParam_t) );
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL
+/******************************************************************************/
+ case GENERIC_LEVEL_GET:
+ {
+ result = GenericClient_Level_Get(elementIndex);
+ break;
+ }
+ case GENERIC_LEVEL_SET_ACK:
+ {
+ result = GenericClient_Level_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Generic_LevelParam_t)-2));
+ break;
+ }
+ case GENERIC_LEVEL_SET_UNACK:
+ {
+ result = GenericClient_Level_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Generic_LevelParam_t)-2));
+ break;
+ }
+ case GENERIC_DELTA_SET:
+ {
+
+ result = GenericClient_Delta_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_DeltaLevelParam_t));
+ break;
+ }
+ case GENERIC_DELTA_SET_UNACK:
+ {
+ result = GenericClient_Delta_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_DeltaLevelParam_t));
+ break;
+ }
+ case GENERIC_MOVE_SET:
+ {
+ result = GenericClient_Move_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_LevelMoveParam_t));
+ break;
+ }
+ case GENERIC_MOVE_SET_UNACK:
+ {
+ result = GenericClient_Move_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_LevelMoveParam_t));
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_POWER_ONOFF
+/******************************************************************************/
+ case GENERIC_POWER_ON_OFF_GET:
+ {
+ GenericClient_PowerOnOff_Get(elementIndex);
+ break;
+ }
+ case GENERIC_POWER_ON_OFF_SET:
+ {
+ result = GenericClient_PowerOnOff_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_PowerOnOffParam_t));
+ break;
+ }
+ case GENERIC_POWER_ON_OFF_SET_UNACK:
+ {
+ result = GenericClient_PowerOnOff_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_PowerOnOffParam_t));
+ break;
+ }
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_POWER_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_DEFAULT_TRANSITION_TIME
+/******************************************************************************/
+ case GENERIC_DEFAULT_TRANSITION_TIME_GET:
+ {
+ result = GenericClient_DefaultTransitionTime_Get(elementIndex);
+ break;
+ }
+
+ case GENERIC_DEFAULT_TRANSITION_TIME_SET:
+ {
+ result = GenericClient_DefaultTransitionTime_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_DefaultTransitionParam_t));
+ break;
+ }
+
+ case GENERIC_DEFAULT_TRANSITION_TIME_SET_UNACK:
+ {
+ result = GenericClient_DefaultTransitionTime_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_DefaultTransitionParam_t));
+ break;
+ }
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_DEFAULT_TRANSITION_TIME */
+/******************************************************************************/
+
+ default:
+ {
+ TRACE_M(TF_GENERIC, "OpCode value invalid %d \r\n", msg_opcode);
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ return result;
+}
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.h
new file mode 100644
index 000000000..d3fa85d31
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_generic_client.h
@@ -0,0 +1,40 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_GENERIC_CLIENT_H
+#define __APPLI_GENERIC_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_ConfigClient_Set(void);
+MOBLE_RESULT Appli_GenericClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params);
+
+#endif /* __APPLI_GENERIC_CLIENT_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.c
new file mode 100644
index 000000000..d7846a4cc
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.c
@@ -0,0 +1,1351 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light.c
+ * @author MCD Application Team
+ * @brief Application interface for Lighting Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h"
+#include "hal_common.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "light.h"
+#include "appli_light.h"
+#include "appli_generic.h"
+#include "common.h"
+#include "mesh_cfg.h"
+#include "PWM_handlers.h"
+#include "PWM_config.h"
+#include "appli_nvm.h"
+#include "math.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+
+/*******************************************************************************
+Following Variables are used for the LIGHTING Lightness MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+Appli_Light_lightnessSet ApplilightnessSet[APPLICATION_NUMBER_OF_ELEMENTS] = {{1,0,0,0,0,0}};
+Appli_Light_lightnessLinearSet ApplilightnessLinearSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Variables are used for the LIGHTING CTL MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#if defined (ENABLE_LIGHT_MODEL_SERVER_CTL) || defined (ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP) \
+ || defined (ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE)
+/******************************************************************************/
+ Appli_Light_CtlSet AppliCtlSet[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_CtlTemperatureRangeSet AppliCtlTemperatureRangeSet[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_CtlDefaultSet AppliCtlDefaultSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Variables are used for the LIGHTING HSL MODEL
+*******************************************************************************/
+
+#if defined (ENABLE_LIGHT_MODEL_SERVER_HSL) || defined (ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP) \
+ || defined (ENABLE_LIGHT_MODEL_SERVER_HSL_HUE) || defined (ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION)
+/******************************************************************************/
+ Appli_Light_HslSet AppliHslSet[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_HslDefaultSet Appli_HslDefaultSet[APPLICATION_NUMBER_OF_ELEMENTS] = {{0x7FFF,0x7FFF,0x7FFF}};
+ Appli_Light_RGBSet Appli_RGBParam[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_HslRangeSet AppliHslRangeSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/*******************************************************************************/
+#endif /*End of the LIGHTING HSL MODEL variables */
+/*******************************************************************************/
+
+/*******************************************************************************
+Following Variables are used for the RGB board.
+*******************************************************************************/
+
+Appli_LightPwmValue_t Appli_LightPwmValue;
+extern MOBLEUINT8 RestoreFlag;
+extern MOBLEUINT8 PowerOnOff_flag;
+extern MOBLEUINT8 IntensityFlag;
+extern MOBLEUINT16 IntensityValue;
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Set: This function is callback for Application
+* when Light Lightness Set message is received
+* @param pLight_LightnessParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT16 duty;
+ static MOBLEUINT16 previousIntensity = 0;
+
+ TRACE_M(TF_SERIAL_CTRL, "#824C!\n\r");
+ TRACE_M(TF_LIGHT, "Element index %d present 0x%.2x last 0x%.2x\r\n",
+ elementIndex,
+ pLight_LightnessParam->LightnessPresentValue16,
+ pLight_LightnessParam->LightnessLastStatus);
+
+ ApplilightnessSet[elementIndex].PresentState16 = pLight_LightnessParam->LightnessPresentValue16;
+ ApplilightnessSet[elementIndex].LastLightness16 = pLight_LightnessParam->LightnessLastStatus;
+
+ if(pLight_LightnessParam->LightnessPresentValue16 != 0x00)
+ {
+ ApplilightnessSet[elementIndex].LastLightness16 = pLight_LightnessParam->LightnessPresentValue16;
+ }
+
+ if(((IntensityValue > previousIntensity) && (IntensityValue <PWM_TIME_PERIOD)) ||
+ IntensityValue == INTENSITY_LEVEL_ZERO)
+ {
+ IntensityFlag = MOBLE_FALSE;
+ }
+ else
+ {
+ IntensityFlag = MOBLE_TRUE;
+ }
+ previousIntensity = IntensityValue;
+
+#if 0
+ /* For demo, if Level is more than 100, switch ON the LED */
+ if(pLight_LightnessParam->LightnessPresentValue16 >= 0x8000)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+#endif
+
+ duty = PwmValueMapping(ApplilightnessSet[elementIndex].PresentState16 , 0xfFFF ,0);
+ Appli_LightPwmValue.IntensityValue = duty;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ /* set the flag value for NVM store */
+ NvmStatePowerFlag_Set(LIGHT_LIGHTNESS_NVM_FLAG, elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Linear_Set: This function is callback for Application
+* when Light Lightness Linear Set message is received
+* @param pLight_LightnessLinearParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Linear_Set(Light_LightnessStatus_t* pLight_LightnessLinearParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ ApplilightnessLinearSet[elementIndex].PresentState16 = pLight_LightnessLinearParam->LinearPresentValue16;
+
+ TRACE_M(TF_LIGHT,"Light_LightnessLinear_Set callback received for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8250!\n\r");
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Default_Set: This function is callback for Application
+* when Light Lightness Default Set message is received
+* @param pLight_LightnessDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Default_Set(Light_LightnessDefaultParam_t* pLight_LightnessDefaultParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ if(pLight_LightnessDefaultParam->LightnessDefaultStatus > 0)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+
+ ApplilightnessSet[elementIndex].LightnessDefault =
+ pLight_LightnessDefaultParam->LightnessDefaultStatus;
+
+ TRACE_M(TF_SERIAL_CTRL,"#8259! \r\n");
+ TRACE_M(TF_LIGHT,"Appli_Light_Lightness_Default_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ NvmStatePowerFlag_Set(LIGHT_LIGHTNESS_NVM_FLAG,elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Last_Set: This function is callback for Application
+* when Light Lightness Default Set message is received
+* @param pLight_LightnessDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Last_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 elementIndex)
+{
+ ApplilightnessSet[elementIndex].LastLightness16 = pLight_LightnessParam->LightnessLastStatus;
+
+ TRACE_M(TF_SERIAL_CTRL,"#8259!\n\r");
+ TRACE_M(TF_LIGHT,
+ "Appli_Light_Lightness_Last_Set Light Last Value 0x%.2x \r\n",
+ ApplilightnessSet[elementIndex].LastLightness16);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP */
+/******************************************************************************/
+
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Range_Set: This function is callback for Application
+* when Light Lightness Range Set message is received
+* @param pLight_LightnessRangeParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Range_Set(Light_LightnessRangeParam_t* pLight_LightnessRangeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ ApplilightnessSet[elementIndex].StatusCode = pLight_LightnessRangeParam->StatusCode;
+ ApplilightnessSet[elementIndex].RangeMin = pLight_LightnessRangeParam->MinRangeStatus;
+ ApplilightnessSet[elementIndex].RangeMax = pLight_LightnessRangeParam->MaxRangeStatus;
+
+ TRACE_M(TF_SERIAL_CTRL,"#825B! \n\r");
+ TRACE_M(TF_LIGHT,"Appli_Light_Lightness_Range_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Ctl_Set: This function is callback for Application
+* when Light Ctl Set message is received
+* @param pLight_CtlParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Ctl_Set(Light_CtlStatus_t* pLight_CtlParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ float colourRatio;
+ float brightRatio;
+
+ TRACE_M(TF_SERIAL_CTRL,"#825E! \n\r");
+
+ AppliCtlSet[elementIndex].PresentLightness16 = pLight_CtlParam->PresentCtlLightness16;
+ AppliCtlSet[elementIndex].PresentTemperature16 = pLight_CtlParam->PresentCtlTemperature16;
+ AppliCtlSet[elementIndex].PresentCtlDelta16 = pLight_CtlParam->PresentCtlDelta16;
+
+ /* Save target parameters if transition is available */
+ AppliCtlSet[elementIndex].TargetLightness16 = pLight_CtlParam->TargetCtlLightness16;
+ AppliCtlSet[elementIndex].TargetTemperature16 = pLight_CtlParam->TargetCtlTemperature16;
+ AppliCtlSet[elementIndex].TargetCtlDelta16 = pLight_CtlParam->TargetCtlDeltaUv16;
+
+ colourRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentTemperature16 ,MAX_CTL_TEMP_RANGE ,MIN_CTL_TEMP_RANGE);
+
+ brightRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentLightness16 ,0XFFFF ,0);
+
+ Appli_LightPwmValue.PwmCoolValue = PWM_CoolValue(colourRatio , brightRatio);
+ Appli_LightPwmValue.PwmWarmValue = PWM_WarmValue(colourRatio , brightRatio);
+
+ Rgb_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_CTL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_Ctl_Set callback received for elementIndex %d \r\n", elementIndex);
+
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_CtlTemperature_Set: This function is callback for Application
+* when Light Ctl Temperature Set message is received
+* @param pLight_CtltempParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Set(Light_CtlStatus_t* pLight_CtltempParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ float colourRatio;
+ float brightRatio;
+ TRACE_M(TF_SERIAL_CTRL,"#8264!\n\r");
+
+ AppliCtlSet[elementIndex].PresentTemperature16 = pLight_CtltempParam->PresentCtlTemperature16;
+ AppliCtlSet[elementIndex].PresentCtlDelta16 = pLight_CtltempParam->PresentCtlDelta16;
+
+ /* Made a copy of target in case of transition values change */
+ AppliCtlSet[elementIndex].TargetTemperature16 = pLight_CtltempParam->TargetCtlTemperature16;
+ AppliCtlSet[elementIndex].TargetCtlDelta16 = pLight_CtltempParam->TargetCtlDeltaUv16;
+
+ colourRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentTemperature16 ,MAX_CTL_TEMP_RANGE ,MIN_CTL_TEMP_RANGE);
+
+ brightRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentLightness16 ,0XFFFF ,0);
+
+ Appli_LightPwmValue.PwmCoolValue = PWM_CoolValue(colourRatio , brightRatio);
+ Appli_LightPwmValue.PwmWarmValue = PWM_WarmValue(colourRatio , brightRatio);
+
+ Rgb_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_CTL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_CtlTemperature_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_CtlTemperature_Range_Set: This function is callback for Application
+* when Light Ctl Temperature range Set message is received
+* @param pLight_CtlTempRangeParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Set(Light_CtlTemperatureRangeParam_t* pLight_CtlTempRangeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ AppliCtlTemperatureRangeSet[elementIndex].RangeMin = pLight_CtlTempRangeParam->MinRangeStatus;
+ AppliCtlTemperatureRangeSet[elementIndex].RangeMax = pLight_CtlTempRangeParam->MaxRangeStatus;
+ AppliCtlTemperatureRangeSet[elementIndex].StatusCode = pLight_CtlTempRangeParam->StatusCode;
+
+ TRACE_M(TF_SERIAL_CTRL,"#826B!\n\r");
+ TRACE_M(TF_LIGHT,"Light_CtlTemperature_Range_Set callback received for elementIndex %d \r\n", elementIndex);
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_CtlDefault_Set: This function is callback for Application
+* when Light Ctl Default Set message is received
+* @param pLight_CtlDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlDefault_Set(Light_CtlDefaultParam_t* pLight_CtlDefaultParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ AppliCtlDefaultSet[elementIndex].CtlDefaultLightness16 = pLight_CtlDefaultParam->CtlDefaultLightness16;
+ AppliCtlDefaultSet[elementIndex].CtlDefaultTemperature16 = pLight_CtlDefaultParam->CtlDefaultTemperature16;
+ AppliCtlDefaultSet[elementIndex].CtlDefaultDeltaUv = pLight_CtlDefaultParam->CtlDefaultDeltaUv;
+
+ TRACE_M(TF_SERIAL_CTRL,"#8269!\n\r");
+ TRACE_M(TF_LIGHT,"Light_CtlDefault_Set callback received for elementIndex %d \r\n", elementIndex);
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Hsl_Set: This function is callback for Application
+* when Light Hsl Set message is received
+* @param pLight_HslParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Hsl_Set(Light_HslStatus_t* pLight_HslParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#8276!\n\r");
+
+ AppliHslSet[elementIndex].HslLightness16 = pLight_HslParam->PresentHslLightness16;
+ AppliHslSet[elementIndex].HslHueLightness16 = pLight_HslParam->PresentHslHueLightness16;
+ AppliHslSet[elementIndex].HslSaturation16 = pLight_HslParam->PresentHslSaturation16;
+
+ /* Save target parameters if transition is available */
+ AppliHslSet[elementIndex].TargetHslLightness16 = pLight_HslParam->TargetHslLightness16;
+ AppliHslSet[elementIndex].TargetHslHueLightness16 = pLight_HslParam->TargetHslHueLightness16;
+ AppliHslSet[elementIndex].TargetHslSaturation16 = pLight_HslParam->TargetHslSaturation16;
+
+ /* Function to convert HSL values in RGB values */
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ TRACE_M(TF_SERIAL_CTRL,"Red Value: %04hx\n\r",Appli_LightPwmValue.PwmRedValue);
+ TRACE_M(TF_SERIAL_CTRL,"Green Value: %04hx\n\r",Appli_LightPwmValue.PwmGreenValue);
+ TRACE_M(TF_SERIAL_CTRL,"Blue Value: %04hx\n\r",Appli_LightPwmValue.PwmBlueValue);
+
+/* when HSL is set, make CTL pwm will bw zero */
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_Hsl_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_HUE
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslHue_Set: This function is callback for Application
+* when Light Hsl Hue Set message is received
+* @param pLight_HslHueParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslHue_Set(Light_HslStatus_t* pLight_HslHueParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL, "#826F! \n\r");
+
+ AppliHslSet[elementIndex].HslHueLightness16 = pLight_HslHueParam->PresentHslHueLightness16;
+
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslHue_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_HUE */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslSaturation_Set: This function is callback for Application
+* when Light Hsl Saturation Set message is received
+* @param pLight_HslSaturationParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslSaturation_Set(Light_HslStatus_t* pLight_HslSaturationParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#8273! \n\r");
+
+ AppliHslSet[elementIndex].HslSaturation16 = pLight_HslSaturationParam->PresentHslSaturation16;
+
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslSaturation_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslDefault_Set: This function is callback for Application
+* when Light Hsl Default Set message is received
+* @param pLight_HslDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslDefault_Set(Light_HslDefaultParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#827F! \n\r");
+
+ Appli_HslDefaultSet[elementIndex].HslDefaultLightness16 = pLight_HslDefaultParam->HslLightnessDefault16;
+ Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16 = pLight_HslDefaultParam->HslHueDefault16;
+ Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16 = pLight_HslDefaultParam->HslSaturationDefault16;
+
+ AppliHslSet[elementIndex].HslLightness16 = Appli_HslDefaultSet[elementIndex].HslDefaultLightness16;
+ AppliHslSet[elementIndex].HslHueLightness16 = Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16;
+ AppliHslSet[elementIndex].HslSaturation16 = Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16;
+
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslDefault_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslRange_Set: This function is callback for Application
+* when Light Hsl Range Set message is received
+* @param pLight_HslRangeParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslRange_Set(Light_HslRangeParam_t* pLight_HslRangeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#8281! \n\r");
+
+ AppliHslRangeSet[elementIndex].HslHueMinRange16 = pLight_HslRangeParam->HslHueMinRange16;
+ AppliHslRangeSet[elementIndex].HslHueMaxRange16 = pLight_HslRangeParam->HslHueMaxRange16;
+ AppliHslRangeSet[elementIndex].HslMinSaturation16 = pLight_HslRangeParam->HslMinSaturation16;
+ AppliHslRangeSet[elementIndex].HslMaxSaturation16 = pLight_HslRangeParam->HslMaxSaturation16;
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslRange_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP */
+/******************************************************************************/
+
+
+/*******************************************************************************
+Following Functions are used for the LIGHTING Lightness MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_GetLightnessStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lLightnessState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessStatus(MOBLEUINT8* lLightnessState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lLightnessState) = ApplilightnessSet[elementIndex].PresentState16;
+ *(lLightnessState+1) = ApplilightnessSet[elementIndex].PresentState16 >> 8;
+ *(lLightnessState+2) = ApplilightnessSet[elementIndex].LastLightness16 ;
+ *(lLightnessState+3) = ApplilightnessSet[elementIndex].LastLightness16 >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetLightnessLinearStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lLightnessState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessLinearStatus(MOBLEUINT8* lLightnessState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lLightnessState) = ApplilightnessLinearSet[elementIndex].PresentState16;
+ *(lLightnessState+1) = ApplilightnessLinearSet[elementIndex].PresentState16 >> 8;
+ *(lLightnessState+2) = ApplilightnessSet[elementIndex].LastLightness16 ;
+ *(lLightnessState+3) = ApplilightnessSet[elementIndex].LastLightness16 >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetLightnessDefaultStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lDefaultState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessDefaultStatus(MOBLEUINT8* lDefaultState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lDefaultState) = ApplilightnessSet[elementIndex].LightnessDefault;
+ *(lDefaultState+1) = ApplilightnessSet[elementIndex].LightnessDefault >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetLightnessLastStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lLastState: Pointer to the status message
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessLastStatus(MOBLEUINT8* lLastState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lLastState) = ApplilightnessSet[elementIndex].LastLightness16;
+ *(lLastState+1) = ApplilightnessSet[elementIndex].LastLightness16 >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetLightnessRangeStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lRangeState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessRangeStatus(MOBLEUINT8* lRangeState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lRangeState) = ApplilightnessSet[elementIndex].StatusCode;
+ *(lRangeState+1) = ApplilightnessSet[elementIndex].RangeMin;
+ *(lRangeState+2) = ApplilightnessSet[elementIndex].RangeMin >> 8;
+ *(lRangeState+3) = ApplilightnessSet[elementIndex].RangeMax;
+ *(lRangeState+4) = ApplilightnessSet[elementIndex].RangeMax >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Functions are used for the LIGHTING CTL MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_GetCtlLightStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlLightState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlLightStatus(MOBLEUINT8* lCtlLightState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlLightState) = AppliCtlSet[elementIndex].PresentLightness16;
+ *(lCtlLightState+1) = AppliCtlSet[elementIndex].PresentLightness16 >> 8;
+ *(lCtlLightState+2) = AppliCtlSet[elementIndex].PresentTemperature16;
+ *(lCtlLightState+3) = AppliCtlSet[elementIndex].PresentTemperature16 >>8;
+ *(lCtlLightState+4) = AppliCtlSet[elementIndex].PresentCtlDelta16;
+ *(lCtlLightState+5) = AppliCtlSet[elementIndex].PresentCtlDelta16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetCtlTargetStatus: This function is callback for Application
+* to get the application values in middleware used for target state.
+* @param lCtlLightState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlTargetStatus(MOBLEUINT8* lCtlLightState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlLightState) = AppliCtlSet[elementIndex].TargetLightness16;
+ *(lCtlLightState+1) = AppliCtlSet[elementIndex].TargetLightness16 >> 8;
+ *(lCtlLightState+2) = AppliCtlSet[elementIndex].TargetTemperature16;
+ *(lCtlLightState+3) = AppliCtlSet[elementIndex].TargetTemperature16 >>8;
+ *(lCtlLightState+4) = AppliCtlSet[elementIndex].TargetCtlDelta16;
+ *(lCtlLightState+5) = AppliCtlSet[elementIndex].TargetCtlDelta16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+/**
+* @brief Appli_Light_GetCtlTeperatureStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlTempState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlTemperatureStatus(MOBLEUINT8* lCtlTempState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlTempState) = AppliCtlSet[elementIndex].PresentTemperature16;
+ *(lCtlTempState+1) = AppliCtlSet[elementIndex].PresentTemperature16 >> 8;
+ *(lCtlTempState+2) = AppliCtlSet[elementIndex].PresentCtlDelta16;
+ *(lCtlTempState+3) = AppliCtlSet[elementIndex].PresentCtlDelta16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetCtlTemperatureRange: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlTempRange: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlTemperatureRange(MOBLEUINT8* lCtlTempRange, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlTempRange) = AppliCtlTemperatureRangeSet[elementIndex].StatusCode;
+ *(lCtlTempRange+1) = AppliCtlTemperatureRangeSet[elementIndex].RangeMin;
+ *(lCtlTempRange+2) = AppliCtlTemperatureRangeSet[elementIndex].RangeMin >> 8;
+ *(lCtlTempRange+3) = AppliCtlTemperatureRangeSet[elementIndex].RangeMax;
+ *(lCtlTempRange+4) = AppliCtlTemperatureRangeSet[elementIndex].RangeMax >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetCtlDefaultStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlDefaultState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlDefaultStatus(MOBLEUINT8* lCtlDefaultState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlDefaultState) = AppliCtlDefaultSet[elementIndex].CtlDefaultLightness16;
+ *(lCtlDefaultState+1) = AppliCtlDefaultSet[elementIndex].CtlDefaultLightness16 >> 8;
+ *(lCtlDefaultState+2) = AppliCtlDefaultSet[elementIndex].CtlDefaultTemperature16;
+ *(lCtlDefaultState+3) = AppliCtlDefaultSet[elementIndex].CtlDefaultTemperature16 >>8;
+ *(lCtlDefaultState+4) = AppliCtlDefaultSet[elementIndex].CtlDefaultDeltaUv;
+ *(lCtlDefaultState+5) = AppliCtlDefaultSet[elementIndex].CtlDefaultDeltaUv >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Functions are used for the LIGHTING HSL MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_GetHslStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslStatus(MOBLEUINT8* lHslState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslState) = AppliHslSet[elementIndex].HslLightness16;
+ *(lHslState+1) = AppliHslSet[elementIndex].HslLightness16 >> 8;
+ *(lHslState+2) = AppliHslSet[elementIndex].HslHueLightness16;
+ *(lHslState+3) = AppliHslSet[elementIndex].HslHueLightness16 >>8;
+ *(lHslState+4) = AppliHslSet[elementIndex].HslSaturation16;
+ *(lHslState+5) = AppliHslSet[elementIndex].HslSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+/**
+* @brief Appli_Light_GetHslTargetStatus: This function is callback for Application
+* to get the application values in middleware used for target state.
+* @param lHslState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslTargetStatus(MOBLEUINT8* lHslState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslState) = AppliHslSet[elementIndex].TargetHslLightness16;
+ *(lHslState+1) = AppliHslSet[elementIndex].TargetHslLightness16 >> 8;
+ *(lHslState+2) = AppliHslSet[elementIndex].TargetHslHueLightness16;
+ *(lHslState+3) = AppliHslSet[elementIndex].TargetHslHueLightness16 >>8;
+ *(lHslState+4) = AppliHslSet[elementIndex].TargetHslSaturation16;
+ *(lHslState+5) = AppliHslSet[elementIndex].TargetHslSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+/**
+* @brief Appli_Light_GetHslHueStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslHueState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslHueStatus(MOBLEUINT8* lHslHueState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslHueState) = AppliHslSet[elementIndex].HslHueLightness16;
+ *(lHslHueState+1) = AppliHslSet[elementIndex].HslHueLightness16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetHslSaturationStatus: This function is callback for Application
+* to get the application values in middleware used for transition change
+* @param lHslSaturationState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslSaturationStatus(MOBLEUINT8* lHslSaturationState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslSaturationState) = AppliHslSet[elementIndex].HslSaturation16;
+ *(lHslSaturationState+1) = AppliHslSet[elementIndex].HslSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetHslDefaultStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslDefaultState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslDefaultStatus(MOBLEUINT8* lHslDefaultState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslDefaultState) = Appli_HslDefaultSet[elementIndex].HslDefaultLightness16;
+ *(lHslDefaultState+1) = Appli_HslDefaultSet[elementIndex].HslDefaultLightness16 >> 8;
+ *(lHslDefaultState+2) = Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16;
+ *(lHslDefaultState+3) = Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16 >>8;
+ *(lHslDefaultState+4) = Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16;
+ *(lHslDefaultState+5) = Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetHslSatRange: This function is callback for Application
+* to get the application values in middleware used for transition change
+* @param lHslSatRange: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslSatRange(MOBLEUINT8* lHslSatRange, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslSatRange) = AppliHslRangeSet[elementIndex].StatusCode;
+ *(lHslSatRange+1) = AppliHslRangeSet[elementIndex].HslMinSaturation16;
+ *(lHslSatRange+2) = AppliHslRangeSet[elementIndex].HslMinSaturation16 >> 8;
+ *(lHslSatRange+3) = AppliHslRangeSet[elementIndex].HslMaxSaturation16;
+ *(lHslSatRange+4) = AppliHslRangeSet[elementIndex].HslMaxSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetHslHueRange: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslHueRange: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslHueRange(MOBLEUINT8* lHslHueRange, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslHueRange) = AppliHslRangeSet[elementIndex].StatusCode;
+ *(lHslHueRange+1) = AppliHslRangeSet[elementIndex].HslHueMinRange16;
+ *(lHslHueRange+2) = AppliHslRangeSet[elementIndex].HslHueMinRange16 >> 8;
+ *(lHslHueRange+3) = AppliHslRangeSet[elementIndex].HslHueMaxRange16;
+ *(lHslHueRange+4) = AppliHslRangeSet[elementIndex].HslHueMaxRange16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* ENABLE_LIGHT_MODEL_SERVER_HSL */
+/******************************************************************************/
+
+/* This Function used to initialise the PWM . This is used for the RGB board */
+void Appli_Light_PwmInit()
+{
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmCoolValue = 0;
+ Appli_LightPwmValue.PwmWarmValue = 0;
+ Appli_LightPwmValue.PwmRedValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmGreenValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmBlueValue = PWM_VALUE_OFF;
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue);
+}
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL
+/******************************************************************************/
+
+/**
+* @brief Function to convert the map the RGB values in real values.
+* @param value1: This value corresponds to red led.
+* @param value2: This value corresponds to green led .
+* @param value3: This value corresponds to blue led .
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval void
+*/
+void RgbF_Create(MOBLEUINT16 value1, MOBLEUINT16 value2, MOBLEUINT16 value3, MOBLEUINT8 elementIndex)
+{
+ Appli_RGBParam[elementIndex].Red_Value = (MOBLEUINT16)(65535 * value1/1000);
+ Appli_RGBParam[elementIndex].Green_Value = (MOBLEUINT16)(65535 * value2/1000);
+ Appli_RGBParam[elementIndex].Blue_Value = (MOBLEUINT16)(65535 * value3/1000);
+}
+
+/**
+* @brief Function to convert the HSL values in RGB values.
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval void
+*/
+void HSL2RGB_Conversion(MOBLEUINT8 elementIndex)
+{
+
+ MOBLEUINT16 hueValue;
+ float lightnessvalue;
+ float saturationValue;
+ MOBLEUINT16 cValue; /* chroma */
+ MOBLEUINT16 mValue; /* intermediate value used for creating the r,g,b baseline */
+ MOBLEUINT16 xValue; /* intermediate value used for computing r,g,b */
+
+ if(AppliHslSet[elementIndex].HslSaturation16 == 0)
+ {
+ Appli_RGBParam[elementIndex].Red_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Green_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Blue_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ }
+ else if((AppliHslSet[elementIndex].HslLightness16 == 0xFFFF) || (AppliHslSet[elementIndex].HslLightness16 == 0x00))
+ {
+ Appli_RGBParam[elementIndex].Red_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Green_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Blue_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ }
+ else
+ {
+ /* Hue is calculated for angular value. so converting in between 0 to 360 degree */
+ hueValue = (MOBLEUINT16)(360 * (float)AppliHslSet[elementIndex].HslHueLightness16/65535);
+ lightnessvalue = (float)AppliHslSet[elementIndex].HslLightness16/65535;
+ saturationValue = (float)AppliHslSet[elementIndex].HslSaturation16/65535;
+
+ /* Formula to get the values used for RGB conversion */
+ cValue = (MOBLEUINT16)(((1- fabs(2 * lightnessvalue-1))*saturationValue) * 1000);
+ mValue = (MOBLEUINT16)((lightnessvalue * 1000) - (cValue/2));
+ xValue = (MOBLEUINT16)(cValue * (1 - fabs(fmod(hueValue / 60.0, 2.0) - 1)));
+
+ /* Conditions applied for the different angle of hue value */
+ if (hueValue > 0 && hueValue < (HUE_UPPER_LIMIT / 6))
+ {
+ RgbF_Create(cValue + mValue, xValue + mValue, mValue, elementIndex);
+ }
+ else if (hueValue >= (HUE_UPPER_LIMIT / 6) && hueValue < (HUE_UPPER_LIMIT / 3))
+ {
+ RgbF_Create(xValue + mValue, cValue + mValue, mValue, elementIndex);
+ }
+ else if (hueValue >= (HUE_UPPER_LIMIT / 3) && hueValue < (HUE_UPPER_LIMIT / 2))
+ {
+ RgbF_Create(mValue, cValue + mValue, xValue + mValue, elementIndex);
+ }
+ else if (hueValue >= (HUE_UPPER_LIMIT / 2)
+ && hueValue < (2 * HUE_UPPER_LIMIT / 3))
+ {
+ RgbF_Create(mValue, xValue + mValue, cValue + mValue, elementIndex);
+ }
+ else if (hueValue >= (2 * HUE_UPPER_LIMIT / 3)
+ && hueValue < (5 * HUE_UPPER_LIMIT / 6))
+ {
+ RgbF_Create(xValue + mValue, mValue, cValue + mValue, elementIndex);
+ }
+ else if ((hueValue >= (5 * HUE_UPPER_LIMIT / 6) && hueValue <= HUE_UPPER_LIMIT) || (hueValue == 0))
+ {
+ RgbF_Create(cValue + mValue, mValue, xValue + mValue, elementIndex);
+ }
+ else
+ {
+ RgbF_Create(mValue, mValue, mValue, elementIndex);
+ }
+ }
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL */
+/******************************************************************************/
+
+/**
+* @brief Rgb_LedOffState: This function is called while using CTL, makes all the RGB
+* PWM off state for Application.
+* @param void:
+* @retval void
+*/
+void Rgb_LedOffState(void)
+{
+ Appli_LightPwmValue.PwmRedValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmGreenValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmBlueValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+}
+
+/**
+* @brief Ctl_LedOffState: This function is called while using HSL, makes all the
+* cool Warm PWM off state for Application.
+* @param void:
+* @retval void
+*/
+void Ctl_LedOffState(void)
+{
+ Appli_LightPwmValue.PwmWarmValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmCoolValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+}
+
+/**
+* @brief Function to set the values for PWM for RGB board.
+* @param state: decided the state of PWM according to the condition.
+* @retval void
+*/
+void Light_UpdateLedValue(MOBLEUINT8 state ,Appli_LightPwmValue_t light_state)
+{
+
+#ifndef USER_BOARD_1LED
+ if(light_state.IntensityValue > 0)
+ {
+#ifdef USER_BOARD_COOL_WHITE_LED
+ if((light_state.PwmCoolValue == 0) && (light_state.PwmWarmValue == 0))
+ light_state.PwmWarmValue = light_state.IntensityValue;
+#endif
+#ifdef USER_BOARD_RGB_LED
+ if((light_state.PwmRedValue == PWM_VALUE_OFF) &&
+ (light_state.PwmGreenValue == PWM_VALUE_OFF) &&
+ (light_state.PwmBlueValue == PWM_VALUE_OFF))
+ light_state.PwmBlueValue = light_state.IntensityValue;
+#endif
+ }
+#endif
+
+ if(state == RESUME_STATE)
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, light_state.IntensityValue);
+#endif
+
+#ifdef USER_BOARD_COOL_WHITE_LED
+
+ Modify_PWM(COOL_LED, light_state.PwmCoolValue);
+ Modify_PWM(WARM_LED, light_state.PwmWarmValue);
+#endif
+
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, light_state.PwmRedValue);
+ Modify_PWM(GREEN_LED, light_state.PwmGreenValue);
+ Modify_PWM(BLUE_LED, light_state.PwmBlueValue);
+#endif
+
+ }
+ else if(state == RESET_STATE)
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, PWM_VALUE_OFF);
+#endif
+#ifdef USER_BOARD_COOL_WHITE_LED
+ Modify_PWM(COOL_LED, 0);
+ Modify_PWM(WARM_LED, 0);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, PWM_VALUE_OFF);
+ Modify_PWM(GREEN_LED, PWM_VALUE_OFF);
+ Modify_PWM(BLUE_LED, PWM_VALUE_OFF);
+#endif
+ }
+ else if(state == LOAD_STATE)
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, light_state.IntensityValue);
+#endif
+
+#ifdef USER_BOARD_COOL_WHITE_LED
+ Modify_PWM(COOL_LED, light_state.PwmCoolValue);
+ Modify_PWM(WARM_LED, light_state.PwmWarmValue);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, light_state.PwmRedValue);
+ Modify_PWM(GREEN_LED, light_state.PwmGreenValue);
+ Modify_PWM(BLUE_LED, light_state.PwmBlueValue);
+#endif
+ }
+ else
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, light_state.IntensityValue);
+#endif
+
+#ifdef USER_BOARD_COOL_WHITE_LED
+ light_state.PwmCoolValue = PWM_DEFAULT_VALUE;
+
+ Modify_PWM(COOL_LED, light_state.PwmCoolValue);
+ Modify_PWM(WARM_LED, light_state.PwmWarmValue);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, light_state.PwmRedValue);
+ Modify_PWM(GREEN_LED, light_state.PwmGreenValue);
+ Modify_PWM(BLUE_LED, light_state.PwmBlueValue);
+#endif
+ }
+}
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h
new file mode 100644
index 000000000..d36af58c0
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h
@@ -0,0 +1,281 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light.h
+ * @author MCD Application Team
+ * @brief Application interface for Light Mesh Model
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_LIGHT_H
+#define __APPLI_LIGHT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "light.h"
+
+/* Exported macro ------------------------------------------------------------*/
+#define HUE_UPPER_LIMIT 360
+/* Exported variables -------------------------------------------------------*/
+
+/* Light Lightness set */
+
+#pragma pack(push, 1)
+
+typedef struct
+{
+ MOBLEUINT16 PresentState16;
+ MOBLEUINT16 LastLightness16;
+ MOBLEUINT16 LightnessDefault;
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 RangeMin;
+ MOBLEUINT16 RangeMax;
+}Appli_Light_lightnessSet;
+
+
+/* Light Lightness Linear set */
+typedef struct
+{
+ MOBLEUINT16 PresentState16;
+}Appli_Light_lightnessLinearSet;
+
+/* Light Ctl Set */
+typedef struct
+{
+ MOBLEUINT16 PresentLightness16;
+ MOBLEUINT16 PresentTemperature16;
+ MOBLEINT16 PresentCtlDelta16;
+ MOBLEUINT16 TargetLightness16;
+ MOBLEUINT16 TargetTemperature16;
+ MOBLEINT16 TargetCtlDelta16;
+}Appli_Light_CtlSet;
+
+/* Light Ctl Temperature Range Set */
+typedef struct
+{
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 RangeMin;
+ MOBLEUINT16 RangeMax;
+}Appli_Light_CtlTemperatureRangeSet;
+
+/* Light Ctl Default set */
+typedef struct
+{
+ MOBLEUINT16 CtlDefaultLightness16;
+ MOBLEUINT16 CtlDefaultTemperature16;
+ MOBLEINT16 CtlDefaultDeltaUv;
+}Appli_Light_CtlDefaultSet;
+
+/* Light Hsl Hue set */
+typedef struct
+{
+ MOBLEUINT16 HslLightness16;
+ MOBLEUINT16 HslHueLightness16;
+ MOBLEUINT16 HslSaturation16;
+ MOBLEUINT16 TargetHslLightness16;
+ MOBLEUINT16 TargetHslHueLightness16;
+ MOBLEUINT16 TargetHslSaturation16;
+}Appli_Light_HslSet;
+
+/* Light Hsl Hue set */
+typedef struct
+{
+ MOBLEUINT16 HslDefaultLightness16;
+ MOBLEUINT16 HslDefaultHueLightness16;
+ MOBLEUINT16 HslDefaultSaturation16;
+}Appli_Light_HslDefaultSet;
+
+typedef struct
+{
+ MOBLEUINT16 Red_Value;
+ MOBLEUINT16 Green_Value;
+ MOBLEUINT16 Blue_Value;
+}Appli_Light_RGBSet;
+
+typedef struct
+{
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 HslHueMinRange16;
+ MOBLEUINT16 HslHueMaxRange16;
+ MOBLEUINT16 HslMinSaturation16;
+ MOBLEUINT16 HslMaxSaturation16;
+}Appli_Light_HslRangeSet;
+
+typedef struct
+{
+ MOBLEUINT16 IntensityValue;
+ MOBLEUINT16 PwmRedValue;
+ MOBLEUINT16 PwmGreenValue;
+ MOBLEUINT16 PwmBlueValue;
+ MOBLEUINT16 PwmWarmValue;
+ MOBLEUINT16 PwmCoolValue;
+}Appli_LightPwmValue_t;
+
+#pragma pack(pop)
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t*,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Linear_Set(Light_LightnessStatus_t* pLight_LightnessLinearParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Default_Set(Light_LightnessDefaultParam_t* pLight_LightnessDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Last_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Range_Set(Light_LightnessRangeParam_t* pLight_LightnessRangeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Ctl_Set(Light_CtlStatus_t* pLight_CtlParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Set(Light_CtlStatus_t* pLight_CtltempParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Set(Light_CtlTemperatureRangeParam_t* pLight_CtlTempRangeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlDefault_Set(Light_CtlDefaultParam_t* pLight_CtlDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Hsl_Set(Light_HslStatus_t* pLight_HslParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslHue_Set(Light_HslStatus_t* pLight_HslHueParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslSaturation_Set(Light_HslStatus_t* pLight_HslSaturationParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslDefault_Set(Light_HslDefaultParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslRange_Set(Light_HslRangeParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessStatus(MOBLEUINT8* lLightnessState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessLinearStatus(MOBLEUINT8* lLightnessState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessDefaultStatus(MOBLEUINT8* lDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessLastStatus(MOBLEUINT8* lLastState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessRangeStatus(MOBLEUINT8* lRangeState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlLightStatus(MOBLEUINT8* lCtlLightState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTargetStatus(MOBLEUINT8* lCtlLightState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTemperatureStatus(MOBLEUINT8* lCtlTempState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTemperatureRange(MOBLEUINT8* lCtlTempRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlDefaultStatus(MOBLEUINT8* lCtlDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslStatus(MOBLEUINT8* lHslState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslTargetStatus(MOBLEUINT8* lHslState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslHueStatus(MOBLEUINT8* lHslHueState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslSaturationStatus(MOBLEUINT8* lHslSaturationState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslHueRange(MOBLEUINT8* lHslHueRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslSatRange(MOBLEUINT8* lHslSatRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslDefaultStatus(MOBLEUINT8* lHslDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+void Appli_Light_PwmInit(void);
+void HSL2RGB_Conversion(MOBLEUINT8 elementIndex);
+void Ctl_LedOffState(void);
+void Rgb_LedOffState(void);
+void RgbF_Create(MOBLEUINT16 value1,
+ MOBLEUINT16 value2,
+ MOBLEUINT16 value3,
+ MOBLEUINT8 elementIndex);
+void Light_UpdateLedValue(MOBLEUINT8 state,
+ Appli_LightPwmValue_t light_state);
+
+/******************************************************************************/
+#endif /* __APPLI_LIGHT_H */
+/******************************************************************************/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.c
new file mode 100644
index 000000000..14b713458
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.c
@@ -0,0 +1,1206 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "appli_light_lc.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "appli_mesh.h"
+#include "generic_client.h"
+#include "appli_light_client.h"
+#include "light_lc.h"
+#include "light_client.h"
+
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+extern MOBLEUINT8 Tid_Client;
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief Appli_LightClient_API: This function is a Wrapper to call Light Client API depending on opcode received in input
+* @param elementIndex: Index of the element
+* @param msg_opcode: opcode of the desired API
+* @param msg_params: buffer containing the desired API parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_LightClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+
+ switch(msg_opcode){
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS
+/******************************************************************************/
+ case LIGHT_LIGHTNESS_GET:
+ {
+ result = LightClient_Lightness_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_SET:
+ {
+ result = LightClient_Lightness_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Linear Lightness params, Transition Time and Delay
+ break;
+ }
+ case LIGHT_LIGHTNESS_SET_UNACK:
+ {
+ result = LightClient_Lightness_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Linear Lightness params, Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_LIGHTNESS_LINEAR_GET:
+ {
+ result = LightClient_Lightness_Linear_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_LINEAR_SET:
+ {
+ result = LightClient_Lightness_Linear_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Lightness params, Transition Time and Delay
+ break;
+ }
+ case LIGHT_LIGHTNESS_LINEAR_SET_UNACK:
+ {
+ result = LightClient_Lightness_Linear_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Lightness params, Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_LIGHTNESS_DEFAULT_GET:
+ {
+ result = LightClient_Lightness_Default_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_DEFAULT_SET:
+ {
+ result = LightClient_Lightness_Default_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessDefaultParam_t));
+ break;
+ }
+ case LIGHT_LIGHTNESS_DEFAULT_SET_UNACK:
+ {
+ result = LightClient_Lightness_Default_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessDefaultParam_t));
+ break;
+ }
+
+
+ case LIGHT_LIGHTNESS_RANGE_GET:
+ {
+ result = LightClient_Lightness_Range_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_RANGE_SET:
+ {
+ result = LightClient_Lightness_Range_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+ case LIGHT_LIGHTNESS_RANGE_SET_UNACK:
+ {
+ result = LightClient_Lightness_Range_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_CTL
+/******************************************************************************/
+ case LIGHT_CTL_GET:
+ {
+ result = LightClient_Ctl_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_SET:
+ {
+ result = LightClient_Ctl_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Light_CtlParam_t)-4) ); //Remove the size of Last_Lightness and Last_Temperature
+ break;
+ }
+ case LIGHT_CTL_SET_UNACK:
+ {
+ result = LightClient_Ctl_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Light_CtlParam_t)-4) ); //Remove the size of Last_Lightness and Last_Temperature
+ break;
+ }
+
+ case LIGHT_CTL_TEMPERATURE_GET:
+ {
+ result = LightClient_Ctl_Temperature_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_SET:
+ {
+ result = LightClient_Ctl_Temperature_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_SET_UNACK:
+ {
+ result = LightClient_Ctl_Temperature_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_CTL_TEMPERATURE_RANGE_GET:
+ {
+ result = LightClient_Ctl_Temperature_Range_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_RANGE_SET:
+ {
+ result = LightClient_Ctl_Temperature_Range_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACK:
+ {
+ result = LightClient_Ctl_Temperature_Range_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+
+ case LIGHT_CTL_DEFAULT_GET:
+ {
+ result = LightClient_Ctl_Default_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_DEFAULT_SET:
+ {
+ result = LightClient_Ctl_Default_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlDefaultParam_t));
+ break;
+ }
+ case LIGHT_CTL_DEFAULT_SET_UNACK:
+ {
+ result = LightClient_Ctl_Default_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlDefaultParam_t));
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_CTL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_HSL
+/******************************************************************************/
+ case LIGHT_HSL_GET:
+ {
+ result = LightClient_Hsl_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_SET:
+ {
+ result = LightClient_Hsl_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslParam_t) );
+ break;
+ }
+ case LIGHT_HSL_SET_UNACK:
+ {
+ result = LightClient_Hsl_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslParam_t) );
+ break;
+ }
+
+ case LIGHT_HSL_DEFAULT_GET:
+ {
+ result = LightClient_Hsl_Default_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_DEFAULT_SET:
+ {
+ result = LightClient_Hsl_Default_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslDefaultParam_t) );
+ break;
+ }
+ case LIGHT_HSL_DEFAULT_SET_UNACK:
+ {
+ result = LightClient_Hsl_Default_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslDefaultParam_t) );
+ break;
+ }
+
+ case LIGHT_HSL_RANGE_GET:
+ {
+ result = LightClient_Hsl_Range_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_RANGE_SET:
+ {
+ result = LightClient_Hsl_Range_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+ case LIGHT_HSL_RANGE_SET_UNACK:
+ {
+ result = LightClient_Hsl_Range_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+
+ case LIGHT_HSL_HUE_GET:
+ {
+ result = LightClient_Hsl_Hue_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_HUE_SET:
+ {
+ result = LightClient_Hsl_Hue_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslHueParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+ case LIGHT_HSL_HUE_SET_UNACK:
+ {
+ result = LightClient_Hsl_Hue_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslHueParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_HSL_SATURATION_GET:
+ {
+ result = LightClient_Hsl_Saturation_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_SATURATION_SET:
+ {
+ result = LightClient_Hsl_Saturation_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslSaturationParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+ case LIGHT_HSL_SATURATION_SET_UNACK:
+ {
+ result = LightClient_Hsl_Saturation_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslSaturationParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_HSL */
+/******************************************************************************/
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_LC
+/******************************************************************************/
+ case LIGHT_LC_MODE_GET:
+ {
+ result = LightClient_LC_Mode_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LC_MODE_SET:
+ {
+ result = LightClient_LC_Mode_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_ModeParam_t));
+ break;
+ }
+ case LIGHT_LC_MODE_SET_UNACK:
+ {
+ result = LightClient_LC_Mode_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_ModeParam_t));
+ break;
+ }
+ case LIGHT_LC_OM_GET:
+ {
+ result = LightClient_LC_OM_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LC_OM_SET:
+ {
+ result = LightClient_LC_OM_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OccupancyModeParam_t));
+ break;
+ }
+ case LIGHT_LC_OM_SET_UNACK:
+ {
+ result = LightClient_LC_OM_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OccupancyModeParam_t));
+ break;
+ }
+ case LIGHT_LC_ON_OFF_GET:
+ {
+ result = LightClient_LC_OnOff_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LC_ON_OFF_SET:
+ {
+ result = LightClient_LC_OnOff_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OnOffParam_t));
+ break;
+ }
+ case LIGHT_LC_ON_OFF_SET_UNACK:
+ {
+ result = LightClient_LC_OnOff_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OnOffParam_t));
+ break;
+ }
+
+ case LIGHT_LC_PROPERTY_GET:
+ {
+ result = LightClient_LC_Property_Get(elementIndex, msg_params);
+ break;
+ }
+ case LIGHT_LC_PROPERTY_SET:
+ {
+
+ result = LightClient_LC_Property_Set_Ack(elementIndex,
+ msg_params,
+ 5);
+ break;
+ }
+ case LIGHT_LC_PROPERTY_SET_UNACK:
+ {
+
+ result = LightClient_LC_Property_Set_Unack(elementIndex,
+ msg_params,
+ 5);
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_LC */
+/******************************************************************************/
+ default:
+ {
+ TRACE_M(TF_LIGHT, "OpCode value invalid %d \r\n", msg_opcode);
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ return result;
+}
+
+/**
+* @brief Appli_Light_Lightness_Status: This function is callback for Application
+* when Light Lightness status message is received
+* @param pLightness_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Status(MOBLEUINT8 const *pLightness_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#824E!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pLightness_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Lightness: 0x%x (%d)\r\n",
+ value | pLightness_status[i] << 8,
+ value | pLightness_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Lightness: 0x%x (%d)\r\n",
+ value | pLightness_status[i] << 8,
+ value | pLightness_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\r\n",
+ pLightness_status[i],
+ pLightness_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Linear_Status: This function is callback for Application
+* when Light Lightness Linear status message is received
+* @param pLightnessLinear_status: Pointer to the parameters received for message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Linear_Status(MOBLEUINT8 const *pLightnessLinear_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Linear_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8252!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pLightnessLinear_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Lightness: 0x%x (%d)\r\n",
+ value | pLightnessLinear_status[i] << 8,
+ value | pLightnessLinear_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Lightness: 0x%x (%d)\r\n",
+ value | pLightnessLinear_status[i] << 8,
+ value | pLightnessLinear_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\r\n",
+ pLightnessLinear_status[i],
+ pLightnessLinear_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Last_Status: This function is callback for Application
+* when Light Lightness Last status message is received
+* @param pLightnessDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Last_Status(MOBLEUINT8 const *pLightnessLast_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Last_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8256!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ value = pLightnessLast_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness Last: 0x%x (%d)\r\n",
+ value | pLightnessLast_status[i] << 8,
+ value | pLightnessLast_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Default_Status: This function is callback for Application
+* when Light Lightness Default status message is received
+* @param pLightnessDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Default_Status(MOBLEUINT8 const *pLightnessDefault_status, MOBLEUINT32 pLength
+ , MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Default_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8256!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ value = pLightnessDefault_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness Default: 0x%x (%d)\r\n",
+ value | pLightnessDefault_status[i] << 8,
+ value | pLightnessDefault_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Range_Status: This function is callback for Application
+* when Light Lightness range ststus message is received
+* @param pLightnessRange_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status, MOBLEUINT32 pLength
+ , MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Range_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8258!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ TRACE_M(TF_LIGHT,"Status Code: 0x%x (%d)\r\n",
+ pLightnessRange_status[i],
+ pLightnessRange_status[i]);
+ }
+ else if((i == 1) || (i == 3))
+ {
+ value = pLightnessRange_status[i];
+ }
+ else if(i == 2)
+ {
+ TRACE_M(TF_LIGHT,"Range Min: 0x%x (%d)\r\n",
+ value | pLightnessRange_status[i] << 8,
+ value | pLightnessRange_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Range Max: 0x%x (%d)\r\n",
+ value | pLightnessRange_status[i] << 8,
+ value | pLightnessRange_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Ctl_Status: This function is callback for Application
+* when Light CTL status message is received
+* @param pLightCtl_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Ctl_Status(MOBLEUINT8 const *pLightCtl_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Ctl_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8260!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4) || (i == 6))
+ {
+ value = pLightCtl_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Lightness: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Lightness: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 7)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 8)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time:0x%x (%d)\r\n",
+ pLightCtl_status[i],
+ pLightCtl_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_CtlTemperature_Status: This function is callback for Application
+* when Light CTL temperature status message is received
+* @param pLightCtlTemp_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Status(MOBLEUINT8 const *pLightCtlTemp_status, MOBLEUINT32 pLength
+ , MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_CtlTemperature_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8266!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4) || (i == 6))
+ {
+ value = pLightCtlTemp_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Delta UV: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 7)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Delta UV: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 8)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\r\n",
+ pLightCtlTemp_status[i],
+ pLightCtlTemp_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_CtlTemperature_Range_Set: This function is callback for Application
+* when Light CTL temperature range status message is received
+* @param pCtlTempRange_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Status(MOBLEUINT8 const *pCtlTempRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_CtlTemperature_Range_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8263!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ TRACE_M(TF_LIGHT,"Status Code: 0x%x (%d)\r\n",
+ pCtlTempRange_status[i],
+ pCtlTempRange_status[i]);
+ }
+ else if((i == 1) || (i == 3))
+ {
+ value = pCtlTempRange_status[i];
+ }
+ else if(i == 2)
+ {
+ TRACE_M(TF_LIGHT,"Range Min: 0x%x (%d)\r\n",
+ value | pCtlTempRange_status[i] << 8,
+ value | pCtlTempRange_status[i] << 8 );
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Range Max: 0x%x (%d)\r\n",
+ value | pCtlTempRange_status[i] << 8,
+ value | pCtlTempRange_status[i] << 8 );
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_CtlDefault_Status: This function is callback for Application
+* when Light CTL Default status message is received
+* @param pCtlDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlDefault_Status(MOBLEUINT8 const *pCtlDefault_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Ctl_DefaultStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8268!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4))
+ {
+ value = pCtlDefault_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness: 0x%x (%d)\n\r",
+ value | pCtlDefault_status[i] << 8,
+ value | pCtlDefault_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Temperature: 0x%x (%d)\n\r",
+ value | pCtlDefault_status[i] << 8,
+ value | pCtlDefault_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Delta UV: 0x%x (%d)\n\r",
+ value | pCtlDefault_status[i] << 8,
+ value | pCtlDefault_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Hsl_Status: This function is callback for Application
+* when Light HSL status message is received
+* @param pHsl_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Hsl_Status(MOBLEUINT8 const *pHsl_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Hsl_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8278!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4))
+ {
+ value = pHsl_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"HSL Lightness: 0x%x (%d)\n\r",
+ value | pHsl_status[i] << 8,
+ value | pHsl_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"HSL Hue: 0x%x (%d)\n\r",
+ value | pHsl_status[i] << 8,
+ value | pHsl_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"HSL Saturation: 0x%x (%d)\n\r",
+ value | pHsl_status[i] << 8,
+ value | pHsl_status[i] << 8);
+ }
+ else if(i == 6)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\n\r",
+ pHsl_status[i],
+ pHsl_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslHue_Status: This function is callback for Application
+* when Light HSL HUE status message is received
+* @param pHslHue_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslHue_Status(MOBLEUINT8 const *pHslHue_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslHue_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8271!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pHslHue_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Hue: 0x%x (%d)\n\r",
+ value | pHslHue_status[i] << 8,
+ value | pHslHue_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Hue: 0x%x (%d)\n\r",
+ value | pHslHue_status[i] << 8,
+ value | pHslHue_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\n\r",
+ pHslHue_status[i],
+ pHslHue_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslSaturation_Status: This function is callback for Application
+* when Light HSL Saturation status message is received
+* @param pHslSaturation_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslSaturation_Status(MOBLEUINT8 const *pHslSaturation_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslSaturation_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8275!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pHslSaturation_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Saturation: 0x%x (%d)\n\r",
+ value | pHslSaturation_status[i] << 8,
+ value | pHslSaturation_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Saturation: 0x%x (%d)\n\r",
+ value | pHslSaturation_status[i] << 8,
+ value | pHslSaturation_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\n\r",
+ pHslSaturation_status[i],
+ pHslSaturation_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslDefault_Status: This function is callback for Application
+* when Light HSL Default status message is received
+* @param pHslDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslDefault_Status(MOBLEUINT8 const *pHslDefault_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslDefault_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#827C!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4))
+ {
+ value = pHslDefault_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness: 0x%x (%d)\n\r",
+ value | pHslDefault_status[i] << 8,
+ value | pHslDefault_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Hue: 0x%x (%d)\n\r",
+ value | pHslDefault_status[i] << 8,
+ value | pHslDefault_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Saturation: 0x%x (%d)\n\r",
+ value | pHslDefault_status[i] << 8,
+ value | pHslDefault_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslRange_Status: This function is callback for Application
+* when Light HSL range status message is received
+* @param pHslRange_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslRange_Status(MOBLEUINT8 const *pHslRange_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslRange_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#827E!\r\n");
+
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ TRACE_M(TF_LIGHT,"Status Code: 0x%x (%d)\n\r",
+ pHslRange_status[i],
+ pHslRange_status[i]);
+ }
+ else if((i == 1) || (i == 3) || (i == 5) || (i == 7))
+ {
+ value = pHslRange_status[i];
+ }
+ else if(i == 2)
+ {
+ TRACE_M(TF_LIGHT,"Hue Range Min: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Hue Range Max: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ else if(i == 6)
+ {
+ TRACE_M(TF_LIGHT,"Saturation Range Min: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ else if(i == 8)
+ {
+ TRACE_M(TF_LIGHT,"Saturation Range Max: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.h
new file mode 100644
index 000000000..2a2dfc254
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_client.h
@@ -0,0 +1,111 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_LIGHT_CLIENT_H
+#define __APPLI_LIGHT_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_Light_Lightness_Status(MOBLEUINT8 const *pLightness_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Linear_Status(MOBLEUINT8 const *pLightnessLinear_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Last_Status(MOBLEUINT8 const *pLightnessLast_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Default_Status(MOBLEUINT8 const *pLightnessDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Ctl_Status(MOBLEUINT8 const *pLightCtl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Status(MOBLEUINT8 const *pLightCtlTemp_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Status(MOBLEUINT8 const *pCtlTempRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlDefault_Status(MOBLEUINT8 const *pCtlDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Hsl_Status(MOBLEUINT8 const *pHsl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslSaturation_Status(MOBLEUINT8 const *pHslSaturation_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslHue_Status(MOBLEUINT8 const *pHslHue_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslRange_Status(MOBLEUINT8 const *pHslRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslDefault_Status(MOBLEUINT8 const *pHslDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_LightClient_API(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 msg_opcode,
+ MOBLEUINT8* msg_params);
+
+#endif /* __APPLI_LIGHT_CLIENT_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.c
new file mode 100644
index 000000000..17bc31377
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.c
@@ -0,0 +1,454 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_lc.c
+ * @author MCD Application Team
+ * @brief Application interface for light LC Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_light_lc.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variable ----------------------------------------------------------*/
+
+__attribute__((aligned(4)))const light_lc_cb_t AppliLightLc_cb =
+{
+ Appli_LightLCs_ModeGet,
+ Appli_LightLCs_ModeSet,
+ Appli_LightLCs_ModeSetUnack,
+ Appli_LightLCs_ModeStatus,
+ Appli_LightLCs_OmGet,
+ Appli_LightLCs_OmSet,
+ Appli_LightLCs_OmSetUnack,
+ Appli_LightLCs_OmStatus,
+ Appli_LightLCs_OnOffGet,
+ Appli_LightLCs_OnOffSet,
+ Appli_LightLCs_OnOffSetUnack,
+ Appli_LightLCs_OnOffStatus,
+ Appli_LightLCs_PropertyGet,
+ Appli_LightLCs_PropertySet,
+ Appli_LightLCs_PropertySetUnack,
+ Appli_LightLCs_PropertyStatus
+};
+
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/**
+ * @brief Callback corresponding to LightLCs_ModeGet_cb
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeGet(MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_ModeSet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeSet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_ModeSetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeSetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_ModeSatus_cb
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeStatus(MOBLEUINT8 const* pLightLCMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_ModeStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8294!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC Mode value: %d\n\r",
+ pLightLCMode_status[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmGet_cb
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmGet(MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmSet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmSet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmSetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmSetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmStatus_cb
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmStatus(MOBLEUINT8 const* pLightLCOccupancyMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_OmStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8298!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC OM value: %d\n\r",
+ pLightLCOccupancyMode_status[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OnOffGet_cb
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OnOffGet(MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLC_OnOffSet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_OnOffSet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OnOffSetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_OnOffSetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OnOffStatus_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_OnOffStatus(MOBLEUINT8 const* pLightLCOnOff_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_OnOffStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#829C!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC OnOff status: %d\n\r",
+ pLightLCOnOff_status[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertyGet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_PropertyGet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertySet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_PropertySet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertySetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_PropertySetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+ {
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+ }
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertyStatus_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_PropertyStatus(MOBLEUINT8 const* pLightLCProperty_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_PropertyStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#64!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC Property status: %d\n\r",
+ pLightLCProperty_status[i]);
+ }
+}
+
+
+/**
+ * @brief
+ * @param
+ * @retval
+ */
+__weak MOBLE_RESULT Appli_Light_LCs_Init(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ MOBLEUINT8 lcsElementIndex = 0;
+
+ /* Extract element index of LC server */
+ result = ExtractLcServerElementIndex(&lcsElementIndex,
+#ifdef APPLICATION_NUMBER_OF_ELEMENTS
+ APPLICATION_NUMBER_OF_ELEMENTS,
+#else
+ 0,
+#endif
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ ENABLE_LIGHT_MODEL_SERVER_LC,
+ ENABLE_LIGHT_MODEL_SERVER_LC_SETUP,
+#else
+ 0,
+ 0,
+#endif
+#ifdef ENABLE_GENERIC_MODEL_SERVER_ONOFF
+ ENABLE_GENERIC_MODEL_SERVER_ONOFF,
+#else
+ 0,
+#endif
+#ifdef ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF
+ ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF,
+#else
+ 0,
+#endif
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS);
+#else
+ 0);
+#endif
+
+ if(MOBLE_SUCCEEDED(result))
+ {
+ result = Light_LCs_Init(&BufferLcServer, lcsElementIndex, &AppliLightLc_cb, SIZE_OF_LC_SERVER_T);
+ }
+
+ if(MOBLE_FAILED(result))
+ {
+ TRACE_M(TF_LIGHT_LC, "Light LC Server init failed\r\n");
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief
+ * @param
+ * @retval
+ */
+__weak MOBLE_RESULT Appli_Light_LC_SensorPropertyUpdate(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 propertyId,
+ MOBLEUINT32 value)
+{
+ return Light_LC_SensorPropertyUpdate(elementIndex,
+ propertyId,
+ value);
+}
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+/**
+ * @brief Handling of serial inputs to LC model
+ * @param serial string
+ * @param serial string size
+ * @retval void
+ */
+void Appli_Light_LC_SerialCmd(char *rcvdStringBuff, uint16_t rcvdStringSize)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_INVALIDARG;
+
+ if (!strncmp(rcvdStringBuff+6, "TR0", 3))
+ {
+ if (rcvdStringSize == 9)
+ {
+ /* call to function corresponding MMDL/SR/LLC/BV-03-C */
+ result = Light_LC_SetTransitionTimeZero(1);
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else if (!strncmp(rcvdStringBuff+6, "OCCUPANCY", 9)) /* occupancy detect */
+ {
+ if (rcvdStringSize == 15)
+ {
+ /* occupancy detected for element index 0 */
+ Appli_Light_LC_SensorPropertyUpdate(0,
+ PRESENCE_DETECTED_PID,
+ 1);
+ result = MOBLE_RESULT_SUCCESS;
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ /* Check the result of command processing */
+ if(result == MOBLE_RESULT_SUCCESS)
+ {
+ BLEMesh_PrintStringCb("Success\r\n");
+ }
+ else if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ BLEMesh_PrintStringCb("Fail Out of memory\r\n");
+ }
+ else if(result == MOBLE_RESULT_INVALIDARG)
+ {
+ BLEMesh_PrintStringCb("Fail Invalid Argument\r\n");
+ }
+ else
+ {
+ BLEMesh_PrintStringCb("Fail\r\n");
+ }
+}
+#endif
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.h
new file mode 100644
index 000000000..e9ce605f2
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light_lc.h
@@ -0,0 +1,81 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_lc.h
+ * @author MCD Application Team
+ * @brief Application interface for Light Control Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_LIGHT_LC_H
+#define __APPLI_LIGHT_LC_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "light_lc.h"
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+/*******************************************************************************
+Following Variables are used for the Light LC Mode MODEL
+*******************************************************************************/
+void Appli_LightLCs_ModeGet(MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_ModeSet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_ModeSetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_ModeStatus(MOBLEUINT8 const* pLightLCMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+void Appli_LightLCs_OmGet(MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OmSet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OmSetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OmStatus(MOBLEUINT8 const* pLightLCOccupancyMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_LightLCs_OnOffGet(MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OnOffSet(MOBLEUINT8 const* pRxData,
+
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OnOffSetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OnOffStatus(MOBLEUINT8 const* pLightLCOnOff_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_LightLCs_PropertyGet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_PropertySet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_PropertySetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_PropertyStatus(MOBLEUINT8 const* pLightLCOccupancyMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Light_LCs_Init(void);
+MOBLE_RESULT Appli_Light_LC_SensorPropertyUpdate(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 propertyId,
+ MOBLEUINT32 value);
+void Appli_Light_LC_SerialCmd(char *rcvdStringBuff,
+ uint16_t rcvdStringSize);
+#endif /* __APPLI_LIGHT_LC_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.c
new file mode 100644
index 000000000..944a926b2
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.c
@@ -0,0 +1,1957 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_mesh.c
+ * @author MCD Application Team
+ * @brief User Application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "ble_common.h"
+#include "app_conf.h"
+#include "hal_common.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "types.h"
+#include "ble_hal_aci.h"
+#include "ble_hci_le.h"
+#include <string.h>
+#include "models_if.h"
+#include "mesh_cfg.h"
+#include "generic.h"
+#include "light.h"
+#include "light_lc.h"
+#include "sensors.h"
+#include "common.h"
+#include "serial_if.h"
+#include "appli_nvm.h"
+#include "pal_nvm.h"
+#include "appli_config_client.h"
+#include "appli_generic_client.h"
+#include "appli_light_client.h"
+#include "appli_sensor.h"
+#include "appli_sensors_client.h"
+
+#include "stm32_seq.h"
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+#include "PWM_config.h"
+#include "PWM_handlers.h"
+#endif
+#include "mesh_cfg_usr.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private define ------------------------------------------------------------*/
+#define APPLI_OPTIM 0
+
+/*********** Macros to be modified according to the requirement *************/
+#define BOUNCE_THRESHOLD 20U
+#define LONG_PRESS_THRESHOLD 1000U
+#define MANUAL_UNPROVISION_TIMER 3000U
+#define FLASH_ERASE_TIME 100U
+//#define DISCOVER_TIMER 10*60*1000 /* 10 minutes */
+#define DISCOVER_TIMER_INTERVAL 10*60*(1000000/CFG_TS_TICK_VAL) /* 10 minutes */
+#if (APPLI_OPTIM == 1)
+#define APPLI_MESH_TIMER_INTERVAL 1*(1000/CFG_TS_TICK_VAL) /* 1 ms */
+#endif
+#define DEFAULT_DELAY_PACKET_FROM 500U
+#define DEFAULT_DELAY_PACKET_RANDOM_TIME 500U
+#define USER_OUTPUT_OOB_APPLI_PROCESS 0U
+#define INPUT_OOB_TIMEOUT 300U /* input Oob30 Sec timeout*/
+#define PBADV_UNPROV_DEV_BEACON_INTERVAL 100U /* 100 ms */
+
+#define DEVICE_KEY_SIZE 16U
+#define APP_KEY_SIZE 16U
+#if (LOW_POWER_FEATURE == 1)
+#define LPN_API_TIMER_INTERVAL 5*(1000000/CFG_TS_TICK_VAL) /* 5 secondes */
+#endif
+/* Private macro -------------------------------------------------------------*/
+#define MAX_APPLI_BUFF_SIZE 8
+#define MAX_PENDING_PACKETS_QUE_SIZE 2
+#define DATA_BUFFER_LENGTH 8
+#define MAX_NUMB_ELEMENTS APPLICATION_NUMBER_OF_ELEMENTS
+#define CUSTOM_BEACON_AD_TYPE 0x00
+#define ENABLE_CUSTOM_BEACON 0
+#define CUSTOM_BEACON_INTERVAL 2000U
+
+/**********************Friendship callbacks macros ****************************/
+#define FN_CLEARED_REPEAT_REQUEST 1
+#define FN_CLEARED_POLL_TIMEOUT 2
+#define FN_CLEARED_FRIEND_CLEAR 3
+#define LPN_CLEARED_NO_RESPONSE 1
+
+/* Private variables ---------------------------------------------------------*/
+
+
+enum ButtonState
+{
+ BS_OFF,
+ BS_DEBOUNCE,
+ BS_SHORT_PRESS,
+ BS_LONG_PRESS
+};
+
+enum ButtonState buttonState = BS_OFF;
+tClockTime tBounce = 0;
+/*Will be an array aligned with number of elements*/
+MOBLEUINT8 Appli_LedState = 0;
+MOBLEUINT16 IntensityValue = INTENSITY_LEVEL_ZERO;
+MOBLEUINT8 IntensityFlag = FALSE;
+MOBLEUINT8 ProxyFlag = 0;
+MOBLEUINT8 ProvisionFlag = 0;
+MOBLEUINT8 UnprovisionInProgress = 0;
+
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+static MOBLEUINT8 PrvngInProcess = 0;
+static MOBLEUINT32 OutputOobData = 0;
+static MOBLEUINT32 OutputOobBlinkCount = 0;
+#endif
+
+#ifdef ENABLE_AUTH_TYPE_INPUT_OOB
+MOBLEUINT8 InputOobData[8] = {0};
+MOBLEUINT8 inputOOBDataReady = 0;
+#endif
+
+/*Number Of Elements selected per Node. Maximum Elements supported = 3*/
+MOBLEUINT8 NumberOfElements = APPLICATION_NUMBER_OF_ELEMENTS;
+
+#ifdef ENABLE_AUTH_TYPE_STATIC_OOB
+/* 16 octets Static OOB information to be input here. Used during provisioning by Library */
+const MOBLEUINT8 StaticOobBuff[SIZE_STATIC_OOB] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01};
+#else
+const MOBLEUINT8 StaticOobBuff[] = {0};
+#endif
+
+#ifdef PUB_KEY_TYPE_OOB
+/* 64 octets Public Key information to be input here. It is only required for Public Key OOB case.
+Used during provisioning by Library */
+const MOBLEUINT8 PubKeyBuff[64] = {0xF4, 0x65, 0xE4, 0x3F, 0xF2, 0x3D, 0x3F, 0x1B, 0x9D, 0xC7,
+0xDF, 0xC0, 0x4D, 0xA8, 0x75, 0x81, 0x84, 0xDB, 0xC9, 0x66, 0x20, 0x47, 0x96, 0xEC, 0xCF,
+0x0D, 0x6C, 0xF5, 0xE1, 0x65, 0x00, 0xCC, 0x02, 0x01, 0xD0, 0x48, 0xBC, 0xBB, 0xD8, 0x99,
+0xEE, 0xEF, 0xC4, 0x24, 0x16, 0x4E, 0x33, 0xC2, 0x01, 0xC2, 0xB0, 0x10, 0xCA, 0x6B, 0x4D,
+0x43, 0xA8, 0xA1, 0x55, 0xCA, 0xD8, 0xEC, 0xB2, 0x79};
+
+/* 32 octets Private Key information to be input here. It is only required for Public Key OOB case.
+Used during provisioning by Library */
+const MOBLEUINT8 PrivKeyBuff[32] = {0x52, 0x9A, 0xA0, 0x67, 0x0D, 0x72, 0xCD, 0x64, 0x97, 0x50,
+0x2E, 0xD4, 0x73, 0x50, 0x2B, 0x03, 0x7E, 0x88, 0x03, 0xB5, 0xC6, 0x08, 0x29, 0xA5, 0xA3,
+0xCA, 0xA2, 0x19, 0x50, 0x55, 0x30, 0xBA};
+#else
+const MOBLEUINT8 PubKeyBuff[] = NULL;
+const MOBLEUINT8 PrivKeyBuff[] = NULL;
+#endif
+
+
+
+/* Select Node as Sniffer, Means able to sniff all the packets
+* 0 - Filters are enabled and packets not targeted to node are filtered
+* 1 - Filters are disabled and packets not targeted to node are not filtered
+*/
+MOBLEUINT8 DisableFilter = 0;
+
+#if LOW_POWER_FEATURE
+MOBLEINT32 BLEMesh_sleepTime;
+MOBLEUINT32 SysRefCount;
+MOBLEBOOL LPN_scan_enabled;
+#endif
+
+MOBLEUINT8 nvm_operation;
+MOBLEUINT8 nvm_flash_page;
+MOBLEUINT8 provisioning_completion;
+
+/* Timer to control unprovisioned device beacons */
+#if PB_ADV_SUPPORTED
+MOBLEUINT8 discoverTimer_Id;
+tClockTime discoverTimerinterval = DISCOVER_TIMER_INTERVAL;
+#endif
+
+#if (APPLI_OPTIM == 1)
+MOBLEUINT8 appliTaskTimer_Id;
+#endif
+#if LOW_POWER_FEATURE
+volatile uint8_t BleProcessInit = 0;
+#endif
+#if (LOW_POWER_FEATURE == 1)
+MOBLEUINT8 lowPowerNodeApiTimer_Id;
+#endif
+
+MOBLEUINT8 pPropertyId[4];
+
+#ifdef ENABLE_PIR_SENSOR
+MOBLEUINT8 pLightLCOnOffParam2[sizeof(Light_LC_OnOffParam_t)];
+#endif
+/********************* Application configuration **************************/
+#if defined(__GNUC__) || defined(__IAR_SYSTEMS_ICC__) || defined(__CC_ARM)
+MOBLEUINT8 bdaddr[8];
+
+#ifdef INTERNAL_UNIQUE_NUMBER_MAC
+static void Appli_GetMACfromUniqueNumber(void);
+#endif /* INTERNAL_UNIQUE_NUMBER_MAC */
+
+const void *mobleNvmBase;
+const void *appNvmBase;
+const void *prvsnr_data;
+#else
+#error "Unknown compiler"
+#endif /* __GNUC__ || defined(__IAR_SYSTEMS_ICC__) || defined(__CC_ARM) */
+
+/* Private function prototypes -----------------------------------------------*/
+static void Appli_LongButtonPress(void);
+static void Appli_ShortButtonPress(void);
+#if USER_OUTPUT_OOB_APPLI_PROCESS
+void Appli_OobAuthenticationProcess(void);
+#endif
+void BLEMesh_UnprovisionCallback(MOBLEUINT8 reason);
+void Appli_LowPowerProcess(void);
+#if (APPLI_OPTIM == 1)
+static void AppliMeshTask(void);
+#endif
+void Appli_GetPublicationParamsCb(model_publicationparams_t* pPubParameters);
+WEAK_FUNCTION (void SerialPrvn_ProvisioningStatusUpdateCb(uint8_t flagPrvningInProcess,
+ MOBLEUINT16 nodeAddress));
+
+/* Private functions ---------------------------------------------------------*/
+
+/************************* Button Control functions ********************/
+/**
+* @brief Function calls when a button is pressed for short duration
+* @param void
+* @retval void
+*/
+static void Appli_ShortButtonPress(void)
+{
+ BLEMesh_ModelsCommand();
+}
+
+
+/**
+* @brief Function calls when a button is pressed for Long duration
+* @param void
+* @retval void
+*/
+static void Appli_LongButtonPress(void)
+{
+ /** GENERIC ONOFF **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API ONOFF GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_ON_OFF_GET, NULL);
+
+ /** GENERIC LEVEL **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API LEVEL GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_LEVEL_GET, NULL);
+
+ /** GENERIC POWER ONOFF **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API POWER ON OFF GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_POWER_ON_OFF_GET, NULL);
+
+ /** GENERIC TRANSITION TIME **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DEFAULT TRANSITION TIME GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_DEFAULT_TRANSITION_TIME_GET, NULL);
+
+ /** LIGHT LIGHTNESS **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_GET, NULL);
+
+ /** LIGHT LIGHTNESS LINEAR **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS LINEAR GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_LINEAR_GET, NULL);
+
+ /** LIGHT LIGHTNESS DEFAULT **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS DEFAULT GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_DEFAULT_GET, NULL);
+
+ /** LIGHT LIGHTNESS RANGE **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS RANGE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_RANGE_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE RANGE **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE RANGE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_RANGE_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL DEFAULT **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL DEFAULT GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_DEFAULT_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL DEFAULT **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL DEFAULT GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_DEFAULT_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL RANGE**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL RANGE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_RANGE_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL HUE**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL HUE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_HUE_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL SATURATION**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SATURATION GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_SATURATION_GET, NULL);
+
+ /** LIGHT LC MODE**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC MODE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_MODE_GET, NULL);
+
+ /** LIGHT LC OM**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC OM GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_OM_GET, NULL);
+
+ /** LIGHT LC ON OFF**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC ON OFF GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_ON_OFF_GET, NULL);
+
+ /** LIGHT LC PROPERTY **/
+//LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B
+ pPropertyId[0]= 0x2B; // Property ID byte 0 : Property ID identifying a Light LC Property.
+ pPropertyId[1]= 0x00; // Property ID byte 1 : Property ID identifying a Light LC Property.
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC PROPERTY GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_PROPERTY_GET, pPropertyId);
+
+
+ /* SENSOR APIs */
+ //PRESENT_AMBIENT_TEMPERATURE_PID : 0x004F
+ pPropertyId[0]= 0x4F; // Property ID byte 0 : Property ID for the sensor
+ pPropertyId[1]= 0x00; // Property ID byte 1 : Property ID for the sensor
+
+ /** SENSOR DESCRIPTOR**/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR DESCRIPTOR GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_DESCRIPTOR_GET, pPropertyId);
+
+ /** SENSOR CADENCE**/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR CADENCE GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_CADENCE_GET, pPropertyId);
+
+ /** SENSOR SETTINGS **/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTINGS GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_SETTINGS_GET, pPropertyId);
+
+ /** SENSOR SETTING **/
+ pPropertyId[2]= 0xAD; // Sensor Setting Property ID byte 0 : Property ID for the sensor setting
+ pPropertyId[3]= 0x00; // Sensor Setting Property ID byte 1 : Property ID for the sensor setting
+
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTING GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_SETTING_GET, pPropertyId);
+
+ /** SENSOR GET **/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_GET, pPropertyId);
+
+ /** SENSOR COLUMN **/
+// pPropertyId[2]= 0x01; // Raw Value X byte 0 : Raw value identifying a column
+// pPropertyId[3]= 0x00; // Raw Value X byte 1 : Raw value identifying a column
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR COLUMN GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_COLUMN_GET, pPropertyId);
+
+ /** SENSOR SERIES **/
+// pPropertyId[2]= 0x01; // Raw Value X1 byte 0 : Raw value identifying a starting column.
+// pPropertyId[3]= 0x02; // Raw Value X2 byte 0 : Raw value identifying an ending column.
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SERIES GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_SERIES_GET, pPropertyId);
+
+ IntensityPublish();
+
+}
+
+/**
+* @brief Updates the button status
+* @param int isPressed
+* @retval void
+*/
+static void Appli_UpdateButtonState(int isPressed)
+{
+ uint32_t t0 = 0,t1 = 1;
+
+ t0 = Clock_Time(); /* SW1 press timing */
+
+ while(BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED);
+ t1 = Clock_Time(); /* SW1 release timing */
+
+ if((t1 - t0) > LONG_PRESS_THRESHOLD)
+ {
+ Appli_LongButtonPress();
+ }
+ else if((t1 - t0) > BOUNCE_THRESHOLD)
+ {
+ /* Button 1 short press action */
+ Appli_ShortButtonPress();
+ }
+}
+
+/**
+* @brief task for the BLE MESH, the MESH Models and the Appli processes
+* @param void
+* @retval void
+*/
+static void Mesh_Task()
+{
+ BLEMesh_Process();
+ BLEMesh_ModelsProcess(); /* Models Processing */
+
+ if((UnprovisionInProgress > 0) &&
+ (!LL_FLASH_IsActiveFlag_OperationSuspended()))
+ {
+ UnprovisionInProgress = 0;
+ AppliNvm_ClearModelState();
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, (NVM_SIZE >> 1));
+ PalNvmErase(APP_NVM_BASE, 0);
+ PalNvmErase(PRVN_NVM_BASE_OFFSET, 0);
+ TRACE_M(TF_PROVISION,"NVM erased\r\n");
+ TRACE_M(TF_PROVISION,"Device is unprovisioned by application \r\n");
+ }
+
+#if (APPLI_OPTIM == 0)
+ /* Set the task in the scheduler for the next execution */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+#endif
+}
+
+/**
+* @brief task for the BLE MESH, the MESH Models and the Appli processes
+* @param void
+* @retval void
+*/
+static void Appli_Task()
+{
+ Appli_Process();
+
+#if (APPLI_OPTIM == 0)
+ /* Set the task in the scheduler for the next execution */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+#endif
+}
+
+/************************* LED Control functions ********************/
+/**
+* @brief Controls the state of on board LED
+* @param void
+* @retval void
+*/
+void Appli_LedCtrl(void)
+{
+ if(Appli_LedState)
+ {
+ BSP_LED_On(LED_BLUE);
+
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+
+ }
+}
+
+/************* BLE-Mesh library callback functions ***************/
+
+/**
+* @brief Blinks the on board LED
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_LedBlink(void)
+{
+ /* Switch On the LED */
+ Appli_LedState = 1;
+ Appli_LedCtrl();
+ Clock_Wait(500);
+
+ /* Switch Off the LED */
+ Appli_LedState = 0;
+ Appli_LedCtrl();
+ Clock_Wait(500);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Callback function Sets the state of the bulb
+* @param MOBLEUINT16 ctrl which sets the lighting state of LED
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_LedStateCtrlCb(MOBLEUINT16 ctrl)
+{
+ /* Switch On the LED */
+ if(ctrl > 0)
+ {
+ Appli_LedState = 1;
+ }
+ /* Switch Off the LED */
+ else
+ {
+ Appli_LedState = 0;
+ }
+
+ Appli_LedCtrl();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief initializes BLE Stack
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleStackInitCb()
+{
+ /* BLE Stack initialization */
+ /* Not Required in BLE */
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Sets transmission power of RF
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleSetTxPowerCb(void)
+{
+ tBleStatus status;
+ /* API to change the Transmission power of BLE Device */
+ /* uint8_t en_high_power, uint8_t pa_level
+ en_high_power Can be only 0 or 1. Set high power bit on or off.
+ pa_level Can be from 0 to 7. Set the PA level value
+ */
+ status = aci_hal_set_tx_power_level(1, CFG_TX_POWER);
+ if (status)
+ return MOBLE_RESULT_FAIL;
+ else
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief SET UUID value
+* @param uuid_prefix_data : Pointer of UUID buffer data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleSetUUIDCb(MOBLEUINT8 *uuid_prefix_data)
+{
+ /* UUID is 128 bits (16 bytes) and can guarantee uniqueness across space and time.
+ It can be “Time-based “ UUID or “truly-random or pseudo-random numbers”
+
+ In this buffer user need to fill 10 bytes of UUID data.
+ Remaining 6 bytes, library fill this data with BDaddress.
+
+ For example :
+ F81D4FAE-7DEC-XBC4-Y12F-17D1AD07A961 (16 bytes)
+ <any number> |_| |_| <BDAddress>
+
+ X = 1 i.e. “Time Base UUID”
+ X = 4 i.e. “Random Number“
+ Y = 4 i.e. Conforming to the current spec
+ For UUID information refer RFC4122
+ */
+
+ /* copy UUID prefix data*/
+ uint8_t uuid_buff[10] = {0xF8,0x1D,0x4F,0xAE,0x7D,0xEC};/*random value by user */
+
+ uuid_buff[6] = 0x4B; /* 0x4B => 4 : Random */
+ uuid_buff[7] = 'S' ; /* User define value */
+ uuid_buff[8] = 0xA1; /* 0xA1 => A : Conforming to the current Spec */
+ uuid_buff[9] = 'T' ; /* User define value */
+
+ memcpy(uuid_prefix_data,uuid_buff,sizeof(uuid_buff));
+ memcpy(&uuid_prefix_data[10],bdaddr,6); /* Copy bdaddr to last 6 bytes of UUID */
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief SET CID , PID and VID values
+* @param company_product_info : vendor fill product information in this buffer
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleSetProductInfoCB(MOBLEUINT8 *company_product_info)
+{
+ /* CID : provide 16-bit company identifier assigned by the Bluetooth SIG */
+ uint16_t company_id = COMPANY_ID;
+
+ /* PID : Provide 16-bit vendor-assigned product identifier */
+ uint16_t product_id = PRODUCT_ID;
+
+ /* VID : Provide 16-bit vendor-assigned product version identifier*/
+ uint16_t product_version_id = PRODUCT_VERSION_ID;
+
+ memcpy(company_product_info + 0,(void *)&company_id,sizeof(company_id));
+ memcpy(company_product_info + 2 ,(void *)&product_id,sizeof(product_id));
+ memcpy(company_product_info + 4 ,(void *)&product_version_id,sizeof(product_version_id));
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Call back function called when GATT Connection Created
+* @param none
+* @retval none
+*/
+void Appli_BleGattConnectionCompleteCb(void)
+{
+ ProvisionFlag = 1;
+ /* Proxy Node, will be called whenever Gatt connection is established */
+ /* Turn ON Red LED*/
+ ProxyFlag = 1;
+ BSP_LED_On(LED_GREEN);
+}
+
+/**
+* @brief Call back function called when GATT Disconnection Complete
+* @param none
+* @retval none
+*/
+void Appli_BleGattDisconnectionCompleteCb(void)
+{
+ ProvisionFlag = 0;
+ /* Proxy Node, will be called whenever Gatt disconnected */
+ /* Turn Off Red LED*/
+ ProxyFlag = 0;
+ BSP_LED_Off(LED_GREEN);
+}
+
+/**
+* @brief Unprovisioned Node Identification
+* @param MOBLEUINT8 data
+* @retval none
+*/
+void Appli_BleUnprovisionedIdentifyCb(MOBLEUINT8 data)
+{
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ PrvngInProcess = 1;
+#endif
+ TRACE_M(TF_PROVISION,"Unprovisioned Node Identifier received: %02x\n\r", data);
+}
+
+/**
+* @brief Set Number of Elements in a Node
+* @param none
+* @retval Sending the value to BLE Mesh Library
+*/
+MOBLEUINT8 Appli_BleSetNumberOfElementsCb(void)
+{
+ if(NumberOfElements > BLEMesh_GetNumberOfElements())
+ {
+ TRACE_M(TF_MISC, "Number of Elements enabled in application exceeding from Library Capability!\r\n");
+ return BLEMesh_GetNumberOfElements();
+ }
+
+ else if(NumberOfElements == 0)
+ {
+ TRACE_M(TF_MISC,"Number Of Elements must be 1 or greater than 1!\r\n");
+ return 1;
+ }
+
+ else
+ {
+ return NumberOfElements;
+ }
+}
+
+/**
+* @brief Sets the Attention Timer Callback function
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleAttentionTimerCb(void)
+{
+/* avoid printf, if low power feature is supported */
+#if (LOW_POWER_FEATURE == 0)
+ TRACE_M(TF_MISC, " \r\n");
+#endif /* LOW_POWER_FEATURE == 0 */
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Call back function to give Output OOB information
+* @param MOBLEUINT8* output_oob
+* @param MOBLEUINT8 size
+* @retval void
+*/
+void Appli_BleOutputOOBAuthCb(MOBLEUINT8* output_oob, MOBLEUINT8 size)
+{
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ uint32_t ooBData = 0;
+ for (MOBLEUINT8 i = 0; i < size; i++)
+ {
+ ooBData |= (output_oob[i] << 8*i);
+ }
+ OutputOobData = ooBData;
+ TRACE_M(TF_PROVISION,"Output OOB information for provisioner: %ld\n\r", ooBData);
+ #endif
+}
+
+
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+/**
+* @brief Process for both output and Input OOB handling
+* @param void
+* @retval void
+*/
+void Appli_OobAuthenticationProcess(void)
+{
+ if(OutputOobBlinkCount < OutputOobData)
+ {
+ OutputOobBlinkCount++;
+ Appli_LedBlink();
+ }
+ else
+ {
+ OutputOobBlinkCount++;
+ Clock_Wait(1000);
+ if(OutputOobBlinkCount > OutputOobData+3)
+ {
+ OutputOobBlinkCount = 0;
+ }
+ }
+}
+#endif
+
+
+/**
+* @brief Call back function to provide Input OOB information
+* @param MOBLEUINT8 size
+* @retval MOBLEUINT8*
+*/
+MOBLEUINT8* Appli_BleInputOOBAuthCb(MOBLEUINT8 size)
+{
+#if defined (ENABLE_AUTH_TYPE_INPUT_OOB) && (ENABLE_SERIAL_INTERFACE)
+ MOBLEUINT16 inputTimer = 0;
+ TRACE_M(TF_PROVISION,"Input OOB information for provisioner-Size: %d\n\r", size);
+ while(1)
+ {
+ Serial_InterfaceProcess();
+ /* Enable Mesh process working in while loop */
+ BTLE_StackTick();
+ /* Check if input is completed or timeout */
+ if((inputOOBDataReady != 0x00) | (inputTimer > INPUT_OOB_TIMEOUT))
+ {
+ inputOOBDataReady = 0;
+ break;
+ }
+ Clock_Wait(100);
+ inputTimer++;
+ }
+ return InputOobData;
+#else
+ return NULL;
+#endif
+}
+
+
+/**
+* @brief Call back function to provide Input OOB information
+* @param rcvdStringBuff: buffer to store input string
+* @param rcvdStringSize: length of the input string
+* @retval void
+*/
+void Appli_BleSerialInputOOBValue(char *rcvdStringBuff, uint16_t rcvdStringSize)
+{
+#ifdef ENABLE_AUTH_TYPE_INPUT_OOB
+ unsigned long long InputOobDatatemp;
+ sscanf(rcvdStringBuff + 5, "%lld", &InputOobDatatemp);
+ memmove(&InputOobData, &InputOobDatatemp, sizeof(InputOobDatatemp));
+ inputOOBDataReady = 1;
+#endif
+}
+
+
+/**
+* @brief Application BLE Disable Filter
+* @param none
+* @retval Status is replied
+*/
+MOBLEUINT8 Appli_BleDisableFilterCb(void)
+{
+ return DisableFilter;
+}
+
+/**
+* @brief Checks and do Manual Unprovision of board
+* @param void
+* @retval void
+*/
+void Appli_CheckForUnprovision(void)
+{
+ /* Checks if the User button is pressed or not at the startup */
+ if (BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED)
+ {
+ BSP_LED_On(LED_BLUE);
+ tClockTime t = Clock_Time();
+ int interrupted = 0;
+
+ /*Wait to check if user is pressing the button persistently*/
+ while ((Clock_Time() - t) < MANUAL_UNPROVISION_TIMER)
+ {
+ if (BSP_PB_GetState(BUTTON_SW1) != BUTTON_PRESSED)
+ {
+ interrupted = 1;
+ break;
+ }
+ }
+ /* Unprovision, show that unprovisioning is completed, and
+ wait until user releases button*/
+ if (!interrupted)
+ {
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, (NVM_SIZE >> 1));
+ PalNvmErase(APP_NVM_BASE, 0);
+ PalNvmErase(PRVN_NVM_BASE_OFFSET, 0);
+ TRACE_M(TF_PROVISION,"NVM erased\r\n");
+
+ BLEMesh_Unprovision();
+ AppliNvm_ClearModelState();
+ TRACE_M(TF_PROVISION,"Device is unprovisioned by application \r\n");
+ t = Clock_Time();
+ while ((Clock_Time() - t) < FLASH_ERASE_TIME)
+ {
+ BLEMesh_Process();
+ }
+
+ while (BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED)
+ {
+ Appli_LedBlink();
+ }
+ }
+ BSP_LED_Off(LED_BLUE);
+ NVIC_SystemReset();
+ }
+
+ /* Register the task for all MESH dedicated processes */
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_REQ_ID, UTIL_SEQ_RFU, Mesh_Task );
+ /* Set the task in the scheduler for the next scheduling */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+#else
+ BleProcessInit = 1;
+#endif
+
+ /* Register the task for all MESH dedicated processes */
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_APPLI_REQ_ID, UTIL_SEQ_RFU, Appli_Task );
+ /* Set the task in the scheduler for the next scheduling */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+
+#if (APPLI_OPTIM == 1)
+ HW_TS_Create(CFG_TIM_PROC_ID_ISR, &appliTaskTimer_Id, hw_ts_Repeated, AppliMeshTask);
+
+ HW_TS_Start(appliTaskTimer_Id, APPLI_MESH_TIMER_INTERVAL);
+#endif
+}
+
+void Appli_Unprovision(void)
+{
+ if(!ProxyFlag)
+ {
+ /* No GATT connection */
+ BLEMesh_StopAdvScan();
+
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, (NVM_SIZE >> 1));
+ PalNvmErase(APP_NVM_BASE, 0);
+ PalNvmErase(PRVN_NVM_BASE_OFFSET, 0);
+ TRACE_M(TF_PROVISION,"NVM erased\r\n");
+
+ BLEMesh_Unprovision();
+ AppliNvm_ClearModelState();
+ TRACE_M(TF_PROVISION,"Device is unprovisioned by application \r\n");
+
+ BLEMesh_Process();
+
+ NVIC_SystemReset();
+ }
+}
+
+
+/**
+* @brief Checks and updates Mac address to generate MAC Address
+* @param void
+* @retval MOBLEUINT8 sum return the sum calculated mac
+*/
+int Appli_CheckBdMacAddr(void)
+{
+ MOBLEUINT8 sum = 239;
+ MOBLEUINT8 result = 0;
+ tBleStatus status = BLE_STATUS_SUCCESS;
+
+#ifdef EXTERNAL_MAC_ADDR_MGMT
+ memcpy(bdaddr, (MOBLEUINT8 *)CFG_ADV_BD_ADDRESS, 7);
+ bdaddr[7] = (EXTERNAL_MAC_ADDR_MGMT | EXTERNAL_MAC_TYPE);
+#endif
+
+#ifdef INTERNAL_UNIQUE_NUMBER_MAC
+ status = aci_hal_read_config_data(CONFIG_DATA_PUBADDR_OFFSET,
+ &bdaddr[7],
+ bdaddr);
+ if(status != BLE_STATUS_SUCCESS)
+ {
+ TRACE_M(TF_PROVISION, "Failed to read Public Address %d", status);
+ }
+
+ Appli_GetMACfromUniqueNumber();
+ bdaddr[7] = INTERNAL_UNIQUE_NUMBER_MAC;
+#endif
+
+ for (int i = 0; i < 6; ++i)
+ {
+ sum = (sum << 1) + bdaddr[i];
+ }
+
+ if (sum == bdaddr[6])
+ {
+ result = 1;
+ }
+
+#if defined(EXTERNAL_MAC_ADDR_MGMT) && defined(EXTERNAL_MAC_IS_PUBLIC_ADDR)
+ /* Do nothing for modification of 2 MSb */
+#else
+ bdaddr[5] |= 0xC0; /* 2 Msb bits shall be 11b for Static Random Address */
+#endif
+
+#ifdef GENERATE_STATIC_RANDOM_MAC
+ /* 6bytes of MAC will be filled, baddr_tmp[7] will contain the length */
+ status = aci_hal_read_config_data(CONFIG_DATA_RANDOM_ADDRESS_OFFSET,
+ &bdaddr[7],
+ bdaddr);
+ if(status != BLE_STATUS_SUCCESS)
+ {
+ TRACE_M(TF_PROVISION, "Failed to read Random Address %d", status);
+ }
+
+ bdaddr[7] = GENERATE_STATIC_RANDOM_MAC;
+ /* Do nothing for bdaddr, just pass the identification */
+ result = 1; /* This will overwrite the above for loop result,
+ which is redundant for this case */
+#endif
+
+ return result;
+}
+
+
+/**
+* @brief Reads the unique serial number of the device
+* @param void
+* @retval void
+*/
+#ifdef INTERNAL_UNIQUE_NUMBER_MAC
+static void Appli_GetMACfromUniqueNumber(void)
+{
+#ifdef STM32L152xE
+ /************************STM32L152RE 96 bit Unique ID addresses***************/
+#define DEVICE_ID_REG0 (0x1FF800D0)
+#define DEVICE_ID_REG1 (0x1FF800D4)
+#define DEVICE_ID_REG2 (0x1FF800E4)
+#endif
+
+ /*
+ The unique serial number is a six bytes value generated from STM32 UID
+ stored at DEVICE_ID_REG0, DEVICE_ID_REG1 and DEVICE_ID_REG2. It is generated
+ cancating 4bytes from DEVICE_ID_REG2 and first bytes of DEVICE_ID_REG0 and
+ DEVICE_ID_REG1. Since the UID at DEVICE_ID_REG0 and
+ DEVICE_ID_REG1 could be identical for same batch samples,
+ 4 bytes have been taken from DEVICE_ID_REG2
+ */
+
+ uint8_t i;
+ uint8_t sum = 239;
+#if 0
+ uint8_t *ls_addr;
+
+ ls_addr = (uint8_t*)DEVICE_ID_REG2;
+
+ for(i = 0; i < 4; i += 1)
+ {
+ bdaddr[i] = *ls_addr;
+ ls_addr++;
+ }
+
+ bdaddr[4] = *(uint8_t*)(DEVICE_ID_REG0);
+ bdaddr[5] = (*(uint8_t*)(DEVICE_ID_REG1)) | 0xC0;
+#endif
+ /* Static Device Address:
+ The two most significant bits
+ of the address shall be equal to 1,
+ hence ORed with 0xC0)*/
+
+ for (i = 0; i < 6; ++i)
+ {
+ sum = (sum << 1) + bdaddr[i];
+ }
+ bdaddr[6] = sum;
+}
+#endif
+
+
+#if 0
+/**
+* @brief provides the information of the power saving mode
+* @param sleepMode curently unused, to be used in future
+* @retval SleepModes returns the mode of the controller
+*/
+SleepModes App_SleepMode_Check(SleepModes sleepMode)
+{
+ if (buttonState == BS_OFF)
+ {
+ return SLEEPMODE_WAKETIMER;
+ }
+ else
+ {
+ return SLEEPMODE_RUNNING;
+ }
+}
+#endif
+
+/**
+* @brief callback for unprovision the node by provisioner.
+* @param status reserved for future
+* @retval void
+*/
+void BLEMesh_UnprovisionCallback(MOBLEUINT8 reason)
+{
+ ProvisionFlag = 0;
+
+ TRACE_I(TF_PROVISION,"Device is unprovisioned by provisioner \n\r");
+#if PB_ADV_SUPPORTED
+ BLEMesh_SetUnprovisionedDevBeaconInterval(PBADV_UNPROV_DEV_BEACON_INTERVAL);
+#endif
+ AppliNvm_ClearModelState();
+}
+
+/**
+* @brief This function scans and prints unprovisioned devices
+* @param unprovDeviceArray: Pointer of an array for filling unprovisioned device UUIDs
+* @param noOfUnprovDevices: Pointer to take total count of nearby unprovisioned devices
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT BLEMesh_ScanDevices(neighbor_params_t *unprovDeviceArray, MOBLEUINT8 *noOfUnprovDevices)
+{
+ MOBLE_RESULT result;
+
+ result = BLEMesh_GetNeighborState(unprovDeviceArray,noOfUnprovDevices);
+ /* Array print for testing */
+ /* Check if any unprovisioned device is available */
+ if(!(*noOfUnprovDevices))
+ {
+ TRACE_I(TF_PROVISION,"No Unprovisioned Device Nearby\r\n");
+ }
+ else
+ {
+ for(MOBLEINT8 count=0; count < *noOfUnprovDevices; count++)
+ {
+ BLEMesh_PrintStringCb("");
+ TRACE_I(TF_PROVISION,"Device-%d -> ", count);
+ BLEMesh_PrintDataCb(unprovDeviceArray[count].uuid, 16);
+ }
+ }
+ return result;
+}
+/**
+* @brief This function returns starts the provisioning of one of the devices
+* @param unprovDeviceArray: Pointer of an array having unprovisioned device UUIDs
+* @param index: Index of the device to be provisioned
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT BLEMesh_ProvisionDevice(neighbor_params_t *unprovDeviceArray, MOBLEUINT16 index)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ result = BLEMesh_ProvisionRemote((unprovDeviceArray+index)->uuid);
+
+ return result;
+}
+
+/* Customized implementation for provisioning a device from mesh node - End */
+
+/**
+* @brief Call back function called when PB-ADV link Opened
+* @param none
+* @retval none
+*/
+void BLEMesh_PbAdvLinkOpenCb(void)
+{
+ ProvisionFlag = 0;
+ TRACE_M(TF_PROVISION,"PB-ADV Link opened successfully \n\r");
+ /* Turn ON Red LED*/
+#if LOW_POWER_FEATURE
+ /* do nothing */
+#else
+ BSP_LED_On(LED_RED);
+#endif
+}
+
+
+/**
+* @brief Call back function called when PB-ADV link Closed
+* @param none
+* @retval none
+*/
+void BLEMesh_PbAdvLinkCloseCb(void)
+{
+ TRACE_M(TF_PROVISION,"PB-ADV Link Closed successfully \n\r");
+ /* Turn Off Red LED*/
+#if LOW_POWER_FEATURE
+ /* do nothing */
+#else
+ BSP_LED_Off(LED_RED);
+#endif
+}
+
+
+/**
+* @brief callback for provision the node by provisioner.
+* @param void
+* @retval void
+*/
+void BLEMesh_ProvisionCallback(void)
+{
+ ProvisionFlag = 1;
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ PrvngInProcess = 0;
+#endif
+ TRACE_I(TF_PROVISION,"Device is provisioned by provisioner \r\n");
+
+#if (LOW_POWER_FEATURE == 1)
+ /* Call API LPN_API_TIMER_INTERVAL after LPN provisioning */
+// HW_TS_Start(lowPowerNodeApiTimer_Id, LPN_API_TIMER_INTERVAL);
+#endif
+}
+
+
+/**
+* @brief callback for configuration the node by provisioner.
+* @param void
+* @retval void
+*/
+void BLEMesh_ConfigurationCallback(void)
+{
+#if (LOW_POWER_FEATURE == 1)
+// /* Set the task in the scheduler for the next execution */
+// UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_LPN_REQ_ID, CFG_SCH_PRIO_0);
+ /* Call API LPN_API_TIMER_INTERVAL after LPN provisioning */
+ if(LPN_scan_enabled == MOBLE_FALSE)
+ {
+ HW_TS_Start(lowPowerNodeApiTimer_Id, LPN_API_TIMER_INTERVAL);
+ LPN_scan_enabled = MOBLE_TRUE;
+ }
+#endif
+}
+
+
+/**
+* @brief callback for friendship established by friend node
+* @param address of corresponding low power node
+* @param receive delay of low power node (unit ms)
+* @param poll timeout of low power node (unit 100ms)
+* @param number of elements of low power node
+* @param previous friend address of low power node (can be invalid address)
+* @retval void
+*/
+void BLEMesh_FnFriendshipEstablishedCallback(MOBLE_ADDRESS lpnAddress,
+ MOBLEUINT8 lpnReceiveDelay,
+ MOBLEUINT32 lpnPollTimeout,
+ MOBLEUINT8 lpnNumElements,
+ MOBLE_ADDRESS lpnPrevFriendAddress)
+{
+ TRACE_M(TF_LPN_FRND,"Friendship established. Low power node address 0x%.4X \r\n", lpnAddress);
+ TRACE_M(TF_LPN_FRND,"Low power node receive delay %dms \r\n", lpnReceiveDelay);
+ TRACE_M(TF_LPN_FRND,"Low power node poll timeout %ldms \r\n", lpnPollTimeout*100);
+ TRACE_M(TF_LPN_FRND,"Low power node number of elements %d \r\n", lpnNumElements);
+ if (lpnPrevFriendAddress != MOBLE_ADDRESS_UNASSIGNED)
+ {
+ TRACE_M(TF_LPN_FRND,"Low power node previous friend address 0x%.4X \r\n", lpnPrevFriendAddress);
+ }
+}
+
+/**
+* @brief callback for friendship clear by friend node
+* @param reason of friendship clear
+* 0: reserved,
+* 1: friend request received from existing low power node (friend)
+* 2: low power node poll timeout occurred
+* 3: friend clear received
+* @param previous friend address of low power node (can be invalid address)
+* @retval void
+*/
+void BLEMesh_FnFriendshipClearedCallback(MOBLEUINT8 reason, MOBLE_ADDRESS lpnAddress)
+{
+ TRACE_M(TF_LPN_FRND,"Friendship cleared. Low power node address 0x%.4X \r\n", lpnAddress);
+
+ switch(reason)
+ {
+ case FN_CLEARED_REPEAT_REQUEST:
+ TRACE_M(TF_LPN_FRND,"Reason: New friend request received from existing low power node \r\n");
+ break;
+ case FN_CLEARED_POLL_TIMEOUT:
+ TRACE_M(TF_LPN_FRND,"Reason: Low power node poll timeout occurred \r\n");
+ break;
+ case FN_CLEARED_FRIEND_CLEAR:
+ TRACE_M(TF_LPN_FRND,"Reason: Friend clear received \r\n");
+ break;
+ default:
+ TRACE_M(TF_LPN_FRND,"Reason: Invalid \r\n");
+ break;
+ }
+}
+
+/**
+* @brief callback for friendship established by low power node
+* @param address of corresponding friend node
+* @retval void
+*/
+void BLEMesh_LpnFriendshipEstablishedCallback(MOBLE_ADDRESS fnAddress)
+{
+ /* Friendship established */
+ TRACE_M(TF_LPN_FRND,"Friend node responding, friendship established.\r\n");
+}
+
+/**
+* @brief callback for friendship cleare by low power node
+* @param reason of friendship clear.
+* 0: reserved
+* 1: No response received from friend node
+* @retval void
+*/
+void BLEMesh_LpnFriendshipClearedCallback(MOBLEUINT8 reason, MOBLE_ADDRESS fnAddress)
+{
+ TRACE_M(TF_LPN_FRND,"Friendship cleared. Friend node address 0x%.4x \r\n", fnAddress);
+
+ if (reason == LPN_CLEARED_NO_RESPONSE)
+ {
+ TRACE_M(TF_LPN_FRND,"Reason: Friend node not responding \r\n");
+ }
+ else
+ {
+ TRACE_M(TF_LPN_FRND,"Reason: Invalid \r\n");
+ }
+}
+
+/**
+* @brief New neighbor appeared callback in neighbor table.
+ If MAC address of neighbor changes it appears as new neighbor.
+* @param MAC address of neighbor.
+* is neighbor provisioned or unprovisioned device.
+* uuid of neighbor. NULL if not available
+* network address of neighbor. MOBLE_ADDRESS_UNASSIGNED if not available
+* last updated rssi value.
+* @retval void
+*/
+void BLEMesh_NeighborAppearedCallback(const MOBLEUINT8* bdAddr,
+ MOBLEBOOL provisioned,
+ const MOBLEUINT8* uuid,
+ MOBLE_ADDRESS networkAddress,
+ MOBLEINT8 rssi)
+{
+ TRACE_M(TF_NEIGHBOUR,"New neighbor appeared. Neighbor MAC address:");
+
+ for (MOBLEUINT8 count=0 ; count<6; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", bdAddr[count]);
+ }
+
+ if (provisioned == MOBLE_TRUE)
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Provisioned node. \n\r");
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Unprovisioned device. \n\r");
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"rssi: %d. ", rssi);
+
+ if (networkAddress != MOBLE_ADDRESS_UNASSIGNED)
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address: 0x%.4x\n\r", networkAddress);
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address not available\n\r");
+ }
+
+ for (MOBLEUINT8 i=0; i<16; i++)
+ {
+ if (uuid[i] == 0x00)
+ {
+ continue;
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"UUID: ");
+
+ for (MOBLEUINT8 count=0 ; count<16; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", uuid[count]);
+ }
+
+ break;
+ }
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"\n\r");
+}
+
+/**
+* @brief Existing neighbor refreshed callback in neighbor table.
+ If MAC address of neighbor changes it appears as new neighbor.
+* @param MAC address of neighbor.
+* is neighbor provisioned or unprovisioned device.
+* uuid of neighbor. NULL if not available
+* network address of neighbor. MOBLE_ADDRESS_UNASSIGNED if not available
+* last updated rssi value.
+* @retval void
+*/
+void BLEMesh_NeighborRefreshedCallback(const MOBLEUINT8* bdAddr,
+ MOBLEBOOL provisioned,
+ const MOBLEUINT8* uuid,
+ MOBLE_ADDRESS networkAddress,
+ MOBLEINT8 rssi)
+{
+ TRACE_M(TF_NEIGHBOUR,"Existing neighbor refreshed. Neighbor MAC address:");
+
+ for (MOBLEUINT8 count=0 ; count<6; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", bdAddr[count]);
+ }
+
+ if (provisioned == MOBLE_TRUE)
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Provisioned node. \n\r");
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Unprovisioned device. \n\r");
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"rssi: %d. ", rssi);
+
+ if (networkAddress != MOBLE_ADDRESS_UNASSIGNED)
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address: 0x%.4x\n\r", networkAddress);
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address not available\n\r");
+ }
+
+ for (MOBLEUINT8 i=0; i<16; i++)
+ {
+ if (uuid[i] == 0x00)
+ {
+ continue;
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"UUID: ");
+
+ for (MOBLEUINT8 count=0 ; count<16; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", uuid[count]);
+ }
+
+ break;
+ }
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"\n\r");
+}
+
+/**
+* @brief Beacon received callback
+* Beacons are received only if received beacon ad type is not
+* Mesh Message, Mesh Beacon or PB-ADV
+* @param MAC address
+* data
+* length of beacon
+* rssi value of beacon
+* @retval void
+*/
+#if (ENABLE_CUSTOM_BEACON == 1)
+/* BLEMesh_CustomBeaconReceivedCallback high frequency callback */
+void BLEMesh_CustomBeaconReceivedCallback(const MOBLEUINT8* bdAddr,
+ const MOBLEUINT8* data,
+ MOBLEUINT8 length,
+ MOBLEINT8 rssi)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ if (length < 2)
+ {
+ result = MOBLE_RESULT_FAIL;
+ TRACE_M(TF_BEACON, "Message is too small \r\n");
+ }
+
+ if (result == MOBLE_RESULT_SUCCESS)
+ {
+ if (data[1] == CUSTOM_BEACON_AD_TYPE)
+ {
+ TRACE_M(TF_BEACON, "Message length(%d), rssi(%d) \r\n", length, rssi);
+
+ if (TF_BEACON == 1)
+ {
+ TRACE_I(TF_BEACON, "Data: ");
+ for (MOBLEUINT8 count=0; count<length; count++)
+ {
+ TRACE_I(TF_BEACON, "%.2x ", data[count]);
+ }
+ TRACE_I(TF_BEACON, " \r\n");
+ }
+ }
+ }
+}
+#endif /* BLEMesh_CustomBeaconReceivedCallback high frequency callback */
+
+/**
+* @brief Custom beacon generator
+* If size set to > 31 bytes, beacon is rejected
+* BLEMesh_SetCustomBeaconInterval should be set to get this callback
+* @param beacon data buffer. It includes length and AD type fields
+* buffer size
+* @retval void
+*/
+void BLEMesh_CustomBeaconGeneratorCallback(void* buffer, MOBLEUINT8* size)
+{
+ MOBLEUINT8 adType = CUSTOM_BEACON_AD_TYPE;
+ MOBLEUINT8 dataLength = 5;
+ MOBLEUINT8 data[5] = {0x00,0x01,0x02,0x03,0x04};
+ MOBLEUINT8* buf = (MOBLEUINT8*)buffer;
+
+ buf[0] = dataLength+1;
+ buf[1] = adType;
+ memcpy(buf+2, data, dataLength);
+
+ *size = dataLength+2;
+}
+
+/**
+* @brief Low Power mode process
+* If low power feature is supported, device enables low power mode
+* @param void
+* @retval void
+*/
+void Appli_LowPowerProcess(void)
+{
+#if 0
+#if LOW_POWER_FEATURE
+ BluenrgMesh_sleepTime = (MOBLEINT32)BluenrgMesh_GetSleepDuration();
+
+ if (BluenrgMesh_sleepTime > 0)
+ {
+ /* Timer 0 used for low power */
+ HAL_VTimerStart_ms(0, BluenrgMesh_sleepTime);
+
+ /* To start virtual timer */
+ BTLE_StackTick();
+
+ /* save virtual timer current count */
+ SysRefCount = HAL_VTimerGetCurrentTime_sysT32();
+
+ /* wakeup either from io or virtual timer */
+ BlueNRG_Sleep(SLEEPMODE_WAKETIMER, WAKEUP_IO13, WAKEUP_IOx_LOW);
+
+ /* update systick count based on updated virtual timer count */
+ Set_Clock_Time(Clock_Time() +
+ HAL_VTimerDiff_ms_sysT32(HAL_VTimerGetCurrentTime_sysT32(), SysRefCount));
+
+ /* Stop Timer 0 */
+ HAL_VTimer_Stop(0);
+ }
+#endif /* LOW_POWER_FEATURE */
+#endif
+}
+
+/**
+* @brief Appli_IntensityControlPublishing:Function is used to set the intensity value.
+* Publishing the value.
+* @param void
+* @retval void
+*/
+void Appli_IntensityControlPublishing(MOBLEUINT8* value)
+{
+
+ if(IntensityFlag == FALSE)
+ {
+
+ IntensityValue = IntensityValue + (INTENSITY_LEVEL_FULL/5);
+ value[0] = (MOBLEUINT8)IntensityValue;
+ value[1] = (MOBLEUINT8)(IntensityValue >> 8) ;
+
+ if(IntensityValue >= INTENSITY_LEVEL_FULL)
+ {
+ IntensityFlag = TRUE;
+ }
+
+ }
+ else
+ {
+
+ IntensityValue = IntensityValue - (INTENSITY_LEVEL_FULL/5);
+ value[0] = (MOBLEUINT8)IntensityValue;
+ value[1] = (MOBLEUINT8)(IntensityValue >> 8) ;
+
+ if(IntensityValue <= INTENSITY_LEVEL_ZERO)
+ {
+ IntensityFlag = FALSE;
+ }
+
+ }
+}
+
+
+/**
+* @brief Publish the intensity value for generic level or light lightness
+* This function should be called in main loop
+* @param void
+* @retval void
+*/
+void IntensityPublish(void)
+{
+
+#ifdef LIGHT_CLIENT_MODEL_PUBLISH
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS
+ MOBLEUINT8 elementIndex = 0;
+ MOBLEUINT8 pLightnessParam[3];
+ Appli_IntensityControlPublishing(pLightnessParam);
+ Appli_LightClient_API(elementIndex, LIGHT_LIGHTNESS_SET, pLightnessParam);
+#endif
+
+#else
+#ifdef GENERIC_CLIENT_MODEL_PUBLISH
+ MOBLEUINT8 elementIndex = 0;
+ MOBLEUINT8 pGeneric_LevelParam[3];
+
+ Appli_IntensityControlPublishing(pGeneric_LevelParam);
+ Appli_GenericClient_API(elementIndex, GENERIC_LEVEL_SET_ACK, pGeneric_LevelParam);
+#endif
+#endif
+}
+
+/**
+* @brief Application processing
+* This function should be called in main loop
+* @param void
+* @retval void
+*/
+void Appli_Process(void)
+{
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+ AppliNvm_Process();
+#endif
+
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ if(PrvngInProcess)
+ {
+#if USER_OUTPUT_OOB_APPLI_PROCESS
+ Appli_OobAuthenticationProcess();
+#endif
+ }
+#endif
+
+#ifdef TPT_LAYER_BUSY_TEST
+ if(BLEMesh_TrsptIsBusyState())
+ {
+ //SdkEvalLedOn(LED1);
+ }
+ else
+ {
+ //SdkEvalLedOff(LED1);
+ }
+#endif
+}
+
+#if PB_ADV_SUPPORTED
+static void UnprovisionedDeviceBeaconApp(void)
+{
+ BLEMesh_SetUnprovisionedDevBeaconInterval(0);
+}
+
+static void UnprovisionedDeviceBeaconTask(void)
+{
+ /**
+ * The code shall be executed in the background as aci command may be sent
+ * The background is the only place where the application can make sure a new aci command
+ * is not sent if there is a pending one
+ */
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_BEACON_REQ_ID, CFG_SCH_PRIO_0);
+
+ return;
+}
+#endif
+
+#if (APPLI_OPTIM == 1)
+static void AppliMeshTask(void)
+{
+ /* Set the task in the scheduler for the next execution */
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+
+ return;
+}
+#endif
+
+static void AppliMeshSW1Task(void)
+{
+ Appli_UpdateButtonState(BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED);
+
+ return;
+}
+
+#if (ENABLE_SENSOR_MODEL_SERVER != 0)
+static void AppliMeshSW3Task(void)
+{
+ Sensor_UpdatePublishState(0, 1);
+
+ Appli_Sensor_Update(0, 1);
+
+ return;
+}
+#ifdef ENABLE_PIR_SENSOR
+static void AppliMeshPIRTask(void)
+{
+ TRACE_M(TF_SENSOR_M, " PIR Sensor: Presence detected \r\n");
+ Sensor_Send(0, 0, PRESENCE_DETECTED_PID);
+
+ Appli_Sensor_Update(0, 1);
+
+ return;
+}
+#endif
+#endif
+
+#if (LOW_POWER_FEATURE == 1)
+static void LowPowerNodeApiApp(void)
+{
+ TRACE_I(TF_PROVISION,"Scan disabled \r\n");
+ BLEMesh_LpnDisableScan();
+
+ return;
+}
+
+static void LowPowerNodeApiTask(void)
+{
+ /* Set the task in the scheduler for the next execution */
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_LPN_REQ_ID, CFG_SCH_PRIO_0);
+
+ return;
+}
+#endif
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+/**
+* @brief function to inintiallise the GPIO interrupt fot Power down
+* @param void
+* @retval void
+*/
+static void GPIO_InitNVICPowerOff(void)
+{
+ GPIO_InitTypeDef gpioinitstruct = {0};
+
+ /* Enable the PowerOff GPIO Clock */
+ POWEROFF_GPIO_CLK_ENABLE();
+
+ /* Configure PowerOff pin as input with External interrupt */
+ gpioinitstruct.Pin = POWEROFF_PIN;
+ gpioinitstruct.Pull = GPIO_PULLUP;
+ gpioinitstruct.Mode = GPIO_MODE_IT_FALLING;
+ HAL_GPIO_Init(POWEROFF_GPIO_PORT, &gpioinitstruct);
+
+ /* Enable and set PowerOff EXTI Interrupt to the lowest priority */
+ HAL_NVIC_SetPriority((IRQn_Type)(POWEROFF_EXTI_IRQn), 0x0F, 0x00);
+ HAL_NVIC_EnableIRQ((IRQn_Type)(POWEROFF_EXTI_IRQn));
+}
+#endif
+
+#ifdef ENABLE_PIR_SENSOR
+static void GPIO_InitNVICPir(void)
+{
+ /* GPIOs pins must be configured by the application before using the API
+ * the code hereunder is sample code for the WB55 nucleo
+ */
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+
+ /**GPIO Configuration
+ * PC1 ------> PIR Sensor output
+ */
+ PIRSENSOR_GPIO_CLK_ENABLE();
+
+ GPIO_InitStruct.Pin = PIRSENSOR_PIN;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ HAL_GPIO_Init(PIRSENSOR_GPIO_PORT, &GPIO_InitStruct);
+
+ /* Enable and set PowerOff EXTI Interrupt to the lowest priority */
+ HAL_NVIC_SetPriority((IRQn_Type)(PIRSENSOR_EXTI_IRQn), 0x0F, 0x00);
+ HAL_NVIC_EnableIRQ((IRQn_Type)(PIRSENSOR_EXTI_IRQn));
+
+
+ return;
+}
+#endif
+
+/**
+* @brief Initializes the Application
+* @param void
+* @retval void
+*/
+void Appli_Init(MOBLEUINT8 *flag)
+{
+#if 0
+#ifdef ENABLE_UNPROVISIONING_BY_POWER_ONOFF_CYCLE
+/* Hardware Factory Restore implementation */
+ AppliNvm_FactorySettingReset();
+#endif
+#endif
+
+#if PB_ADV_SUPPORTED
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_BEACON_REQ_ID, UTIL_SEQ_RFU, UnprovisionedDeviceBeaconApp );
+ /**
+ * Create Timer to control unprovisioned device beacons
+ */
+ HW_TS_Create(CFG_TIM_PROC_ID_ISR, &discoverTimer_Id, hw_ts_SingleShot, UnprovisionedDeviceBeaconTask);
+
+ HW_TS_Start(discoverTimer_Id, DISCOVER_TIMER_INTERVAL);
+#endif
+
+#if ENABLE_SERIAL_INTERFACE
+ Serial_Init();
+#endif
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+ GPIO_InitNVICPowerOff();
+#endif
+
+#ifdef ENABLE_PIR_SENSOR
+ GPIO_InitNVICPir();
+#endif
+
+#if 0
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+ __HAL_RCC_TIM1_CLK_ENABLE();
+ __HAL_RCC_TIM2_CLK_ENABLE();
+ PWM_Init();
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, 1);
+#endif
+#ifdef USER_BOARD_COOL_WHITE_LED
+ Modify_PWM(COOL_LED, 0);
+ Modify_PWM(WARM_LED, 0);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, 1);
+ Modify_PWM(GREEN_LED, 1);
+ Modify_PWM(BLUE_LED, 1);
+#endif
+#endif
+#endif
+
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_SW1_REQ_ID, UTIL_SEQ_RFU, AppliMeshSW1Task );
+
+#if (ENABLE_CUSTOM_BEACON == 1)
+ BLEMesh_SetCustomBeaconInterval(CUSTOM_BEACON_INTERVAL);
+#endif
+
+#if (LOW_POWER_FEATURE == 1) /**
+ * Create Timer to control unprovisioned device beacons
+ */
+ HW_TS_Create(CFG_TIM_PROC_ID_ISR, &lowPowerNodeApiTimer_Id, hw_ts_SingleShot, LowPowerNodeApiTask);
+
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_LPN_REQ_ID, UTIL_SEQ_RFU, LowPowerNodeApiApp );
+ LPN_scan_enabled = MOBLE_FALSE;
+#endif
+#if (ENABLE_SENSOR_MODEL_SERVER != 0)
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_SW3_REQ_ID, UTIL_SEQ_RFU, AppliMeshSW3Task );
+#ifdef ENABLE_PIR_SENSOR
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_PIR_REQ_ID, UTIL_SEQ_RFU, AppliMeshPIRTask );
+#endif
+#endif
+}
+
+/*****************************Config Model Callbacks***************************/
+/**
+* @brief Callback from Config Model to receive the Publication Parameters
+* @param Structure Pointer having parameters - modelID, elementAddress,
+* Publish Address, PublishPeriod, PublishTTL, Credential Flag,
+* Publish AppKeyIndex, Retransmit Count & Restransmit Interval Steps
+* @retval none
+*/
+void Appli_GetPublicationParamsCb(model_publicationparams_t* pPubParameters)
+{
+ if(pPubParameters->modelID == SENSOR_SERVER_MODEL_ID)
+ {
+ Sensor_ModelPublishSet(pPubParameters);
+ }
+}
+
+
+/**
+* @brief PWM_CoolValue: This function is used to calculate the value for the
+ cool temperature for the light.
+* @param colourValue: Temperature value ratio
+* @param brightValue: Lightness value ratio.
+* @retval duty: duty fot the PWM
+*/
+MOBLEUINT16 PWM_CoolValue(float colourValue ,float brightValue)
+{
+ float colourDuty;
+ MOBLEUINT16 duty;
+
+ colourDuty = colourValue * brightValue;
+ duty = (MOBLEUINT16)(colourDuty * PWM_TIME_PERIOD);
+
+ return duty;
+}
+
+
+/**
+* @brief PWM_WarmValue: This function is used to calculate the value for the
+ warm temperature for the light.
+* @param colourValue: Temperature value ratio
+* @param brightValue: Lightness value ratio.
+* @retval duty: duty fot the PWM
+*/
+MOBLEUINT16 PWM_WarmValue(float colourValue ,float brightValue)
+{
+ float warmDuty;
+ MOBLEUINT16 duty;
+
+ warmDuty = (1-colourValue)* brightValue;
+ duty = (MOBLEUINT16)(warmDuty * PWM_TIME_PERIOD);
+
+ return duty;
+}
+
+/**
+* @brief PwmValueMapping: This function takes the value as parameter from the
+* model and return the value according to .
+* @param setValue: value to be set from model
+* @param maxRange: Max range of the parameter
+* @param minRange: Min range of the parameter
+* @retval MOBLEUINT8
+*/
+MOBLEUINT16 PwmValueMapping(MOBLEUINT16 setValue , MOBLEUINT16 maxRange , MOBLEINT16 minRange)
+{
+ MOBLEUINT16 percentValue;
+ MOBLEUINT16 duty;
+
+#ifdef SMART_PLUG
+ percentValue = (setValue * 100)/ (maxRange - minRange);
+
+ if(percentValue < 2)
+ {
+ duty = 0;
+ }
+ else if((percentValue > 2) && (percentValue <= 10))
+ {
+ duty = 1;
+ }
+ else if((percentValue > 10) && (percentValue <= 20))
+ {
+ duty = 2;
+ }
+ else if((percentValue > 20) && (percentValue <= 30))
+ {
+ duty = 3;
+ }
+ else if((percentValue > 30) && (percentValue <= 40))
+ {
+ duty = 4;
+ }
+ else if((percentValue > 40) && (percentValue <= 50))
+ {
+ duty = 5;
+ }
+ else if((percentValue > 50) && (percentValue <= 60))
+ {
+ duty = 6;
+ }
+ else if((percentValue > 60) && (percentValue <= 70))
+ {
+ duty = 7;
+ }
+ else if((percentValue > 70) && (percentValue <= 80))
+ {
+ duty = 8;
+ }
+ else if((percentValue > 80) && (percentValue <= 90))
+ {
+ duty = 9;
+ }
+ else if(percentValue > 90)
+ {
+ duty = 10;
+ }
+#else
+ if(minRange > 0x00)
+ {
+ percentValue = (setValue - 800)/ (maxRange - minRange);
+ percentValue = (percentValue*100);
+ }
+ else
+ {
+ percentValue = (setValue * 100)/ (maxRange - minRange);
+ }
+
+ duty = percentValue*320 ;
+
+ if(duty >= 32000)
+ {
+ duty = 31999;
+ }
+ if(duty == 0)
+ {
+ duty = 1;
+ }
+#endif
+
+ return duty;
+}
+
+
+/************************************ Weak linking ***********************************
+If implemented in application, linker would replace weak linking in library */
+WEAK_FUNCTION (void SerialPrvn_ProvisioningStatusUpdateCb(uint8_t flagPrvningInProcess, MOBLEUINT16 nodeAddress))
+{
+
+}
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.h
new file mode 100644
index 000000000..202075e10
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_mesh.h
@@ -0,0 +1,144 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_mesh.h
+ * @author MCD Application Team
+ * @brief Header file for the user application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_MESH_H
+#define __APPLI_MESH_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "mesh_cfg_usr.h"
+#include "mesh_cfg.h"
+
+/* Exported macro ------------------------------------------------------------*/
+/* MACROS for Power Level definitions */
+#define POWER_LEVEL_LOW 0
+#define TX_POWER_LEVEL_MINUS_18DBM 0 /* = -18 dBm, */
+#define TX_POWER_LEVEL_MINUS_15DBM 1 /* = -15 dBm, */
+#define TX_POWER_LEVEL_MINUS_12DBM 2 /* = -12 dBm, */
+#define TX_POWER_LEVEL_MINUS_9DBM 3 /* = -9 dBm, */
+#define TX_POWER_LEVEL_MINUS_6DBM 4 /* = -6 dBm, */
+#define TX_POWER_LEVEL_MINUS_2DBM 5 /* = -2 dBm, */
+#define TX_POWER_LEVEL_0DBM 6 /* = 0 dBm, */
+#define TX_POWER_LEVEL_PLUS_5DBM 7 /* = 5 dBm. */
+#define POWER_LEVEL_HIGH 1
+#define TX_POWER_LEVEL_MINUS_14DBM 0 /* = -14 dBm, */
+#define TX_POWER_LEVEL_MINUS_11DBM 1 /* = -11 dBm, */
+#define TX_POWER_LEVEL_MINUS_8DBM 2 /* = -8 dBm, */
+#define TX_POWER_LEVEL_MINUS_5DBM 3 /* = -5 dBm, */
+#define TX_POWER_LEVEL_PLUS_2DBM 5 /* = 2 dBm, */
+#define TX_POWER_LEVEL_PLUS_4DBM 6 /* = 4 dBm, */
+#define TX_POWER_LEVEL_PLUS_8DBM 7 /* = 8 dBm */
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+#define POWEROFF_PIN GPIO_PIN_12
+#define POWEROFF_GPIO_PORT GPIOB
+#define POWEROFF_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
+#define POWEROFF_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
+#define POWEROFF_EXTI_LINE GPIO_PIN_12
+#define POWEROFF_EXTI_IRQn EXTI15_10_IRQn
+#endif
+
+#ifdef ENABLE_PIR_SENSOR
+#define PIRSENSOR_PIN GPIO_PIN_5
+#define PIRSENSOR_GPIO_PORT GPIOC
+#define PIRSENSOR_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
+#define PIRSENSOR_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE()
+#define PIRSENSOR_EXTI_LINE GPIO_PIN_5
+#define PIRSENSOR_EXTI_IRQn EXTI9_5_IRQn
+#endif
+
+typedef enum _prvn_nvm_state
+{
+ NVM_INIT = 0,
+ NVM_SAVE_PENDING,
+} prvn_nvm_state;
+
+/* Exported variables ------------------------------------------------------- */
+
+extern MOBLEUINT8 bdaddr[];
+
+typedef struct
+{
+ MOBLEUINT16 nodeAddress;
+ MOBLEUINT8 numOfElements;
+ MOBLEUINT8 Reserved1; /* For Alignment by 4*/
+ MOBLEUINT16 newNodeAddress;
+ MOBLEUINT8 newNodeElements;
+ prvn_nvm_state saveToNVM;
+ MOBLEUINT8 NewProvNodeDevKey[DEVICE_KEY_SIZE];
+ MOBLEUINT8 NewProvNodeAppKey[APP_KEY_SIZE];
+ MOBLEUINT8 NewProvNodeUUID[UUID_SIZE];
+} NodeUnderProvisionParam_t;
+
+extern NodeUnderProvisionParam_t NodeUnderProvisionParam;
+extern MOBLEUINT16 Appli_SIG_Models[APPLICATION_NUMBER_OF_ELEMENTS][APPLICATION_SIG_MODELS_MAX_COUNT];
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+extern MOBLEUINT32 Appli_Vendor_Models[APPLICATION_NUMBER_OF_ELEMENTS][APPLICATION_VENDOR_MODELS_MAX_COUNT];
+#endif
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_BleStackInitCb(void);
+MOBLE_RESULT Appli_BleSetTxPowerCb(void);
+MOBLE_RESULT Appli_BleSetUUIDCb(MOBLEUINT8 *uuid_prefix_data);
+MOBLE_RESULT Appli_BleSetProductInfoCB(MOBLEUINT8 *company_product_info);
+void Appli_BleUnprovisionedIdentifyCb(MOBLEUINT8 data);
+void Appli_BleGattConnectionCompleteCb(void);
+void Appli_BleGattDisconnectionCompleteCb(void);
+MOBLEUINT8 Appli_BleSetNumberOfElementsCb(void);
+MOBLE_RESULT Appli_BleAttentionTimerCb(void);
+void Appli_BleOutputOOBAuthCb(MOBLEUINT8* output_oob, MOBLEUINT8 size);
+MOBLEUINT8* Appli_BleInputOOBAuthCb(MOBLEUINT8 size);
+void Appli_BleSerialInputOOBValue(char *rcvdStringBuff, uint16_t rcvdStringSize);
+MOBLEUINT8 Appli_BleDisableFilterCb(void);
+void BLEMesh_PbAdvLinkCloseCb(void);
+void Appli_IntensityControlPublishing(MOBLEUINT8* value);
+
+int Appli_CheckBdMacAddr(void);
+MOBLE_RESULT Appli_LedBlink(void);
+MOBLE_RESULT Appli_LedStateCtrlCb(MOBLEUINT16 ctrl);
+
+void Appli_CheckForUnprovision(void);
+void Appli_Unprovision(void);
+void Appli_Process(void);
+void Appli_LedCtrl(void);
+void Appli_Init(MOBLEUINT8 *flag);
+
+MOBLE_ADDRESS GetAddressToConfigure(void);
+MOBLE_ADDRESS GetNewAddressToProvision(void);
+void SaveProvisionedNodeAddress(void);
+MOBLEUINT8* GetNewProvNodeDevKey(void);
+MOBLEUINT8* GetNewProvNodeAppKey(void);
+void IntensityPublish(void);
+void Start_SelfConfiguration (void);
+void Appli_ProvisionerInit(void);
+void Appli_StartProvisionerMode(MOBLEUINT8 mode);
+
+void Appli_GetPublicationParamsCb(model_publicationparams_t*);
+
+MOBLEUINT16 PWM_CoolValue(float colourValue ,float brightValue);
+MOBLEUINT16 PWM_WarmValue(float colourValue ,float brightValue);
+MOBLEUINT16 PwmValueMapping(MOBLEUINT16 setValue , MOBLEUINT16 maxRange , MOBLEINT16 minRange);
+
+MOBLE_RESULT BLEMesh_ScanDevices(neighbor_params_t *unprovDeviceArray, MOBLEUINT8 *noOfUnprovDevices);
+MOBLE_RESULT BLEMesh_ProvisionDevice(neighbor_params_t *unprovDeviceArray, MOBLEUINT16 index);
+
+#endif /* __APPLI_MESH_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.c
new file mode 100644
index 000000000..c75c3ede2
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.c
@@ -0,0 +1,751 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_nvm.c
+ * @author MCD Application Team
+ * @brief User Application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include <string.h>
+#include "hal_common.h"
+#include "ble_mesh.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "mesh_cfg.h"
+#include "pal_nvm.h"
+#include "appli_mesh.h"
+#ifdef SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+#include "common.h"
+#endif
+#if (LOW_POWER_FEATURE == 1)
+#include "app_conf.h"
+#include "stm32_seq.h"
+#endif
+#include "config_client.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+/* Private define ------------------------------------------------------------*/
+
+extern const MOBLEUINT8* _bdaddr[];
+
+#ifdef SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+extern MOBLEUINT8 PowerOnOff_flag;
+#endif
+
+extern const void* appNvmBase;
+
+
+/*
+* Page of size 4k, STM32WB, reserved for application is divided into 16 subpages of each 256 bytes
+* First subpage is reserved (for e.g. External MAC is present in this area)
+* Rest 15 subpages are used on rolling basis for application states.
+* First byte of each subpage indicates if page is valid or not
+*/
+
+#define APP_NVM_RESERVED_SIZE 256U
+#define APP_NVM_SUBPAGE_SIZE 256U
+#define APP_NVM_MAX_SUBPAGE 15U
+#define APP_NVM_SUBPAGE_OFFSET(i) (unsigned int)(APP_NVM_RESERVED_SIZE + APP_NVM_SUBPAGE_SIZE*(i))
+
+/* offsets defined wrt start of subpage */
+#define APP_NVM_VALID_FLAG_OFFSET 0U
+#define APP_NVM_VALID_FLAG_SIZE 4U
+#define APP_NVM_RESET_COUNT_OFFSET (unsigned int)APP_NVM_VALID_FLAG_SIZE
+#define APP_NVM_RESET_COUNT_SIZE 12U /* 12 bytes reserved for write cycle optimization */
+#define APP_NVM_GENERIC_MODEL_OFFSET (unsigned int)(APP_NVM_VALID_FLAG_SIZE+APP_NVM_RESET_COUNT_SIZE)
+//#define APP_NVM_GENERIC_MODEL_SIZE 16U
+#define APP_NVM_LIGHT_MODEL_OFFSET (unsigned int)(APP_NVM_VALID_FLAG_SIZE+APP_NVM_RESET_COUNT_SIZE+APP_NVM_GENERIC_MODEL_SIZE)
+//#define APP_NVM_LIGHT_MODEL_SIZE 16U
+
+#define FLASH_EMPTY_SIGNATURE 0xFFFFFFFF
+
+#define RADIO_OFF_DELAY 1000
+
+/* Private variables ---------------------------------------------------------*/
+
+typedef struct
+{
+ MOBLEUINT8 modelData[APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE];
+ MOBLEBOOL erasePageReq;
+ MOBLEBOOL writeReq;
+} APPLI_NVM_REQS;
+
+/* ALIGN(4) */
+__attribute__((aligned(4))) APPLI_NVM_REQS AppliNvm_Reqs;
+MOBLEUINT16 StopRadioInProgress;
+
+MOBLE_RESULT AppliNvm_EraseRestoreResvNvm(void);
+MOBLE_RESULT AppliNvm_FindFirstEmptyPage(MOBLEINT16* subPageIndex,
+ MOBLEUINT32 SubPageSize,
+ MOBLEUINT32 totalSubPage,
+ MOBLEUINT32 nvmBaseOffset);
+MOBLE_RESULT AppliNvm_MarkSubpageInvalid(void);
+MOBLE_RESULT AppliNvm_FlashProgram(MOBLEUINT32 offset,
+ void const *buf, MOBLEUINT32 size);
+
+#if 0 //#ifdef ENABLE_NVM_TEST
+/**
+* @brief This function erases a specified flash page
+* @param Page Number
+* @retval MOBLE_RESULT_INVALIDARG if PageNumber overflow
+* MOBLE_RESULT_FALSE if flash operation is very close to next radio event
+* MOBLE_RESULT_FAIL if flash command error is set
+* MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FlashErase(uint16_t PageNumber)
+{
+ MOBLE_RESULT result;
+
+ if (PageNumber < FLASH_PAGE_NB)
+ {
+ BLEMesh_StopAdvScan();
+ ATOMIC_SECTION_BEGIN();
+ result = PalNvmErase(APP_NVM_BASE, 0);
+ ATOMIC_SECTION_END();
+ }
+ else /* Invalid page no */
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+
+ return result;
+}
+#endif
+
+/**
+* @brief Program word (32-bit) at a APP_NVM_BASE + APP_NVM_RESERVED_SIZE
+* @param TypeProgram Indicate the way to program at a specified address
+* @param Address: address to write
+* @param Data: word to write
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FlashProgram(MOBLEUINT32 offset,
+ void const *buf,
+ MOBLEUINT32 size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ if (offset > PAGE_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > (APP_NVM_BASE + PAGE_SIZE))
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ result = PalNvmWrite(APP_NVM_BASE,
+ offset,
+ buf,
+ size);
+ }
+
+ return result;
+}
+
+
+/**
+* @brief Mark first valid subpage as invalid.
+* @param void
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_MarkSubpageInvalid(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+#if 0
+ MOBLEUINT32 valid = 0;
+ MOBLEINT16 currSubPageIdx;
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+
+ /* find valid subpage */
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+
+ if (result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+ }
+ else
+ {
+ /* mark valid subpage as invalid */
+ memcpy((void*)subPageTemp,
+ (void*)(PRVN_NVM_BASE_OFFSET + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else if (result == MOBLE_RESULT_FALSE)
+ {
+ /* radio busy, try again later */
+ }
+ else
+ {
+ /* do nothing */
+ }
+ }
+#endif
+ return result;
+}
+
+
+/**
+* @brief This function writes Reset count value in flash at APP_NVM_BASE + APP_NVM_RESERVED_SIZE
+* if device has been turned ON 5 times consecutively with each ON duration < 2s, reset to factory settings
+* LED blinks 2 times to indicate device startup without reset
+* LED blinks 5 times to indicate reset at device startup
+* @param void
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FactorySettingReset(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+#if 0
+ MOBLEINT16 currSubPageIdx = 0;
+ MOBLEUINT32 resetCount;
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,APP_NVM_SUBPAGE_SIZE,APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ if(currSubPageIdx > 0)
+ {
+ /* Not the first reset */
+ /* read the previous subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx-1)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ else
+ {
+ /* read the current subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+
+ /* read reset count from the subpage */
+ memcpy((void*)&resetCount,
+ (void*)&(subPageTemp[APP_NVM_RESET_COUNT_OFFSET]),
+ 4);
+ resetCount = resetCount << 1; /* Shifting for making Bits 0 from LSB */
+ memcpy((void*)&(subPageTemp[APP_NVM_RESET_COUNT_OFFSET]), (void*)&resetCount, 4);
+
+ /* Check for "POWER_ON_OFF_CYCLES_FOR_UNPROVISIONING" times, that many bits shall be zero */
+ if (resetCount > MASK_BITS_FOR_POWER_ON_OFF_CYCLES)
+ {
+ /* MASK_BITS_FOR_POWER_ON_OFF_CYCLES = 0xFFFFFFE0 */
+
+ /* update reset count */
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+
+ if (!memcmp((void*)&subPageTemp[APP_NVM_RESET_COUNT_OFFSET],
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)+APP_NVM_RESET_COUNT_OFFSET),
+ 4))
+ {
+ /* updated value of reset count in flash */
+ }
+
+ /* Blink twice to indicate device startup
+ 1 second to blink once and 2 seconds to blink twice */
+ for (MOBLEUINT8 i=0; i< ON_TIME_IN_SECONDS_FOR_POWER_CYCLING; i++)
+ {
+ Appli_LedBlink();
+ }
+
+ /* Load model data copy from nvm */
+ memcpy((void*)AppliNvm_Reqs.modelData,
+ (void*)(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)+APP_NVM_GENERIC_MODEL_OFFSET),
+ APP_NVM_MODELDATA_PER_ELEMENT_SIZE);
+
+ result = AppliNvm_MarkSubpageInvalid();
+
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ else /* Device is forced to factory reset, 5 LSBs are zero */
+ {
+ /* Unprovision node */
+ BLEMesh_Unprovision();
+
+ /* Clear lib data, primary and backup nvm used by BLE-Mesh lib */
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, 0x1000);
+
+ AppliNvm_ClearModelState();
+
+ BLEMesh_SetUnprovisionedDevBeaconInterval(100);
+
+ /* Blink 5 times to indicate factory setting reset */
+ for (MOBLEUINT8 i=0; i<BLINK_TIMES_FOR_FACTORY_RESET; i++)
+ {
+ Appli_LedBlink();
+ }
+
+ TRACE_M(TF_MISC, "Reset to factory settings \r\n");
+ }
+
+ result = MOBLE_RESULT_SUCCESS;
+ }
+#endif
+ return result;
+}
+
+
+/**
+* @brief Save model states in nvm
+* @param model state buff
+* @param model state buff size
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_SaveModelState(uint8_t* state,
+ uint16_t size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS; /* if save model state not defined, return MOBLE_RESULT_FAIL */
+
+#if (SAVE_MODEL_STATE_NVM == 1)
+
+ if (size > APP_NVM_MODEL_SIZE)
+ {
+ /* incorrect size */
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ memcpy(AppliNvm_Reqs.modelData,
+ state,
+ size);
+
+ AppliNvm_Reqs.writeReq = MOBLE_TRUE;
+ AppliNvm_Reqs.erasePageReq = MOBLE_FALSE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ }
+#endif /* SAVE_MODEL_STATE_NVM */
+ return result;
+}
+
+
+/**
+* @brief Clear model states in nvm
+* @param none
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_ClearModelState(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL; /* if save model state not defined, return MOBLE_RESULT_FAIL */
+
+#if (SAVE_MODEL_STATE_NVM == 1)
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+ MOBLEINT16 subPageIdx;
+ MOBLEUINT8 clearBuff[APP_NVM_MODELDATA_PER_ELEMENT_SIZE] = {0};
+ MOBLEUINT32 valid = 0;
+
+ result = AppliNvm_FindFirstEmptyPage(&subPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ if(subPageIdx > 0)
+ { /* Not the first subpage */
+ /* clear models states */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx-1)),
+ APP_NVM_SUBPAGE_SIZE);
+ memcpy((void*)&subPageTemp[APP_NVM_GENERIC_MODEL_OFFSET],
+ (void*)(clearBuff),
+ APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE);
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ else
+ { /* First subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ memcpy((void*)&subPageTemp[APP_NVM_GENERIC_MODEL_OFFSET],
+ (void*)(clearBuff),
+ APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE);
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ }
+#endif /* SAVE_MODEL_STATE_NVM */
+ return result;
+}
+
+
+/**
+* @brief Load Model states from nvm
+* @param model state buff
+* @param model state buff size
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_LoadModelState(uint8_t state[],
+ uint16_t* size)
+{
+#if (SAVE_MODEL_STATE_NVM == 1)
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEINT16 currSubPageIdx = 0;
+
+ *size = 0;
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ APP_NVM_BASE + APP_NVM_RESERVED_SIZE);
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ if(currSubPageIdx > 0)
+ {
+ /* Not the first reset */
+ /* Load model data copy from nvm */
+ memcpy((void*)AppliNvm_Reqs.modelData,
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx-1) + APP_NVM_GENERIC_MODEL_OFFSET),
+ APP_NVM_GENERIC_MODEL_SIZE + APP_NVM_LIGHT_MODEL_SIZE);
+ memcpy((void*)state,
+ (void*)(AppliNvm_Reqs.modelData),
+ APP_NVM_MODEL_SIZE);
+ *size = APP_NVM_MODEL_SIZE;
+ }
+ }
+ return result;
+#else /* SAVE_MODEL_STATE_NVM */
+ *size = 0;
+ return MOBLE_RESULT_SUCCESS;
+#endif /* SAVE_MODEL_STATE_NVM */
+}
+
+
+/**
+* @brief Process NVM erase and write requests
+* @param void
+* @retval void
+*/
+void AppliNvm_Process(void)
+{
+ MOBLE_RESULT result;
+ MOBLEINT16 subPageIdx;
+ uint8_t reserveAreaCopy[APP_NVM_RESERVED_SIZE];
+
+ /* Erase if required */
+ if ((AppliNvm_Reqs.erasePageReq == MOBLE_TRUE) &&
+ (!LL_FLASH_IsActiveFlag_OperationSuspended()))
+ {
+ if(StopRadioInProgress == 0)
+ {
+ /* save reserve flash area */
+ memcpy((void*)reserveAreaCopy,
+ (void*)APP_NVM_BASE,
+ APP_NVM_RESERVED_SIZE);
+
+ TRACE_M(TF_PROVISION,"Erase flash page\r\n");
+ result = PalNvmErase(APP_NVM_BASE, 0);
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ }
+ else
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_FALSE;
+ AppliNvm_Reqs.writeReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ /* restore reserve area */
+/* FLASH_ProgramWordBurst(APP_NVM_BASE, (uint32_t*)reserveAreaCopy); */
+ result = AppliNvm_FlashProgram(0,
+ (uint32_t*)&reserveAreaCopy,
+ APP_NVM_RESERVED_SIZE);
+ BLEMesh_ResumeAdvScan();
+ }
+ }
+ else
+ StopRadioInProgress--;
+ }
+
+ if (AppliNvm_Reqs.erasePageReq == MOBLE_FALSE &&
+ AppliNvm_Reqs.writeReq == MOBLE_TRUE)
+ {
+ result = AppliNvm_FindFirstEmptyPage(&subPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ BLEMesh_SuspendAdvScan();
+ StopRadioInProgress = RADIO_OFF_DELAY;
+
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ result = MOBLE_RESULT_SUCCESS;
+ }
+ else
+ {
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+ MOBLEUINT32 valid = 0;
+
+ if(subPageIdx > 0)
+ {
+ /* Not the first reset */
+ /* read the previous subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx-1)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ else
+ {
+ /* read the current subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+
+ memcpy((void*)&(subPageTemp[APP_NVM_GENERIC_MODEL_OFFSET]),
+ (void*)&(AppliNvm_Reqs.modelData),
+ APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE);
+
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx),
+ (uint8_t*)subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+
+ if (result == MOBLE_RESULT_SUCCESS)
+ {
+ AppliNvm_Reqs.writeReq = MOBLE_FALSE;
+ }
+ }
+ }
+}
+
+
+/**
+* @brief Function used to set the flag which is responsible for storing the
+ states in flash.
+* @param void
+* @retval void
+*/
+void AppliNvm_SaveMessageParam (void)
+{
+#ifdef SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+ PowerOnOff_flag = FLAG_SET;
+#endif
+}
+
+
+/**
+* @brief Find first valid subpage available.
+* If no valid subpage found, erase page appli nvm to reset it
+* @param pointer to variable to update first valid subpage index
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FindFirstEmptyPage(MOBLEINT16* subPageIndex,
+ MOBLEUINT32 SubPageSize,
+ MOBLEUINT32 totalSubPage,
+ MOBLEUINT32 nvmBaseOffset)
+{
+ MOBLEUINT32 valid[2];
+ MOBLEINT8 subPageIdx = -1;
+ MOBLEUINT32 *subPageOffset;
+ MOBLEUINT32 addressValidPage;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ for (MOBLEUINT16 count=0; count<totalSubPage; count++)
+ {
+ addressValidPage = nvmBaseOffset + SubPageSize*count;
+ subPageOffset = &addressValidPage;
+
+ /* Read 8 bytes and check if it's Empty */
+ memcpy((void*)&valid, (void*)(*subPageOffset), 8);
+
+ if ((valid[0] == FLASH_EMPTY_SIGNATURE) /*&& (valid[1] == FLASH_EMPTY_SIGNATURE)*/)
+ {
+ subPageIdx = count;
+ break;
+ }
+ }
+
+ if (subPageIdx < 0)
+ {
+ TRACE_M(TF_PROVISION,"Out of Memory, Flash page is full \r\n");
+ result = MOBLE_RESULT_OUTOFMEMORY;
+ }
+ else
+ {
+ result = MOBLE_RESULT_SUCCESS;
+ }
+
+ *subPageIndex = subPageIdx;
+
+ return result;
+}
+
+#if 0 //#ifdef ENABLE_NVM_TEST
+MOBLE_RESULT AppliNVM_Save_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ uint8_t reserveAreaCopy[APP_NVM_RESERVED_SIZE];
+ MOBLEINT16 subPageIdx;
+
+ for(MOBLEUINT8 count = 0;count <= buffer_size;count++)
+ {
+ buffer[count] = count;
+ }
+
+ /* save reserve flash area */
+ memcpy((void*)reserveAreaCopy,
+ (void*)APP_NVM_BASE,
+ APP_NVM_RESERVED_SIZE);
+
+ result = AppliNvm_FlashErase((uint16_t)((APP_NVM_BASE - RESET_MANAGER_FLASH_BASE_ADDRESS) / PAGE_SIZE));
+
+ if (result == MOBLE_RESULT_SUCCESS)
+ {
+ /* restore reserve area */
+// FLASH_ProgramWordBurst(APP_NVM_BASE, (uint32_t*)reserveAreaCopy);
+ result = AppliNvm_FlashProgram(0,
+ (uint32_t*)&reserveAreaCopy,
+ APP_NVM_RESERVED_SIZE);
+ }
+
+ result = AppliNvm_FindFirstEmptyPage(&subPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ TRACE_M(TF_PROVISION, "Flash sub page is full, preparing new subpage\r\n");
+ }
+ else
+ {
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx)+APP_NVM_GENERIC_MODEL_OFFSET,
+ buffer,
+ buffer_size);
+ }
+ return result;
+}
+
+MOBLE_RESULT AppliNVM_Retrieve_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size)
+{
+ MOBLEINT16 currSubPageIdx;
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ TRACE_M(TF_PROVISION," Can not find the empty page for testing flash \r\n");
+ }
+ else
+ {
+ memcpy((void*)buffer,
+ (void*)(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)+APP_NVM_GENERIC_MODEL_OFFSET),
+ buffer_size);
+
+ result = AppliNvm_MarkSubpageInvalid();
+
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+
+ return result;
+}
+#endif
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.h
new file mode 100644
index 000000000..f57757f25
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_nvm.h
@@ -0,0 +1,107 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_nvm.h
+ * @author MCD Application Team
+ * @brief Header file for the NVM application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_NVM_H
+#define __APPLI_NVM_H
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "mesh_cfg.h"
+
+/* Exported macro ------------------------------------------------------------*/
+
+extern const void *prvsnr_data;
+
+/* offset defined for the embedded provisioner node */
+#if defined(STM32WB55xx)
+#define PRVN_NVM_PAGE_SIZE 4096U
+#elif defined(STM32WB15xx)
+#define PRVN_NVM_PAGE_SIZE 2048U
+#endif
+#define PRVN_NVM_BASE_OFFSET ((unsigned int)prvsnr_data)
+#define PRVN_NVM_CHUNK_SIZE (sizeof(NvmPerNode_t)) /* Number of bytes saved per Element */
+#define PRVN_NVM_SUBPAGE_SIZE (sizeof(NvmPerNode_t)) /* Number of bytes saved per Element */
+#define PRVN_NVM_MAX_SUBPAGE (unsigned int)(PRVN_NVM_PAGE_SIZE/PRVN_NVM_CHUNK_SIZE)
+#define PRVN_NVM_SUBPAGE_OFFSET(i) (unsigned int)(PRVN_NVM_SUBPAGE_SIZE*(i))
+
+#define APP_NVM_BASE ((unsigned int)appNvmBase)
+#if defined(STM32WB55xx)
+#define APP_NVM_SIZE 4096U
+#elif defined(STM32WB15xx)
+#define APP_NVM_SIZE 2048U
+#endif
+
+/* Exported variables ------------------------------------------------------- */
+typedef struct
+{
+ MOBLEUINT8 devKey[4+DEVICE_KEY_SIZE];
+
+#if ENABLE_SAVE_UUID_PER_NODE
+ MOBLEUINT8 node_UUID[UUID_SIZE];
+#endif
+
+} NvmPerNode_t;
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT AppliNvm_FlashProgram(MOBLEUINT32 offset, void const *buf, MOBLEUINT32 size);
+MOBLE_RESULT AppliNvm_FactorySettingReset(void);
+#if 0 //#ifdef ENABLE_NVM_TEST
+MOBLE_RESULT AppliNvm_FlashErase(uint16_t PageNumber);
+#endif
+MOBLE_RESULT AppliNvm_SaveModelState(uint8_t* state, uint16_t size);
+MOBLE_RESULT AppliNvm_ClearModelState(void);
+MOBLE_RESULT AppliNvm_LoadModelState(uint8_t state[], uint16_t* size);
+void AppliNvm_Process(void);
+void AppliNvm_SaveMessageParam (void);
+MOBLE_RESULT AppliNvm_FindFirstEmptyPage(MOBLEINT16* subPageIndex,
+ MOBLEUINT32 SubPageSize,
+ MOBLEUINT32 totalSubPage,
+ MOBLEUINT32 nvmBaseOffset);
+MOBLE_RESULT AppliPrvnNvm_LoadData(uint8_t state[], uint8_t* size);
+
+MOBLE_RESULT AppliPrvnNvm_SaveData(uint8_t* data,
+ MOBLE_ADDRESS address,
+ uint8_t* pUUID,
+ uint8_t numElements);
+
+MOBLEUINT32* AppliPrvnNvm_GetNodeDevKey(MOBLE_ADDRESS addrss);
+void AppliPrvnNvm_Process(void);
+
+MOBLE_RESULT AppliPrvnNvm_FactorySettingReset(MOBLEUINT8*flag);
+
+MOBLE_RESULT AppliPrvnNvm_CopyData(uint8_t state[], uint8_t* size);
+
+void AppliPrvnNvm_SaveProvisionerDevKey(MOBLEUINT8 *data ,
+ MOBLE_ADDRESS address,
+ MOBLEUINT8 *prvnFlag,
+ MOBLEUINT8 numOfElements);
+
+void AppliPrvnNvm_SaveKeys (MOBLEUINT8 status);
+
+MOBLE_RESULT AppliNVM_Save_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size);
+MOBLE_RESULT AppliNVM_Retrieve_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size);
+
+
+#endif /* __APPLI_NVM_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.c
new file mode 100644
index 000000000..e4624ead8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.c
@@ -0,0 +1,765 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensor.c
+ * @author MCD Application Team
+ * @brief Application interface for Sensor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "hal_common.h"
+#include "types.h"
+#include "sensor_cfg_usr.h"
+#include "sensors.h"
+#include "appli_sensor.h"
+#include "appli_light_lc.h"
+#include "mesh_cfg.h"
+//#include "LPS25HB.h"
+#include "string.h"
+#include "common.h"
+//#include "math.h"
+
+/** @addtogroup ST_BLE_Mesh
+ * @{
+ */
+
+/** @addtogroup Application_Mesh_Models
+ * @{
+ */
+
+MOBLE_RESULT Appli_Sensor_ValueSet(MOBLEUINT8 sensorOffset,
+ MOBLEUINT32 value);
+
+/* Private variables ---------------------------------------------------------*/
+
+/* ALIGN(4) */
+__attribute__((aligned(4)))const sensor_server_init_params_t SensorServerInitParams = SENSOR_SERVER_INIT_PARAMS;
+
+/* ALIGN(4) */
+__attribute__((aligned(4)))const sensor_server_cb_t AppliSensor_cb =
+{
+ /* Sensor Model callbacks */
+ Appli_Sensor_CadenceGet,
+ Appli_Sensor_CadenceSet,
+ Appli_Sensor_CadenceSetUnack,
+ Appli_Sensor_SettingsGet,
+ Appli_Sensor_SettingGet,
+ Appli_Sensor_SettingSet,
+ Appli_Sensor_SettingSetUnack,
+ Appli_Sensor_DescriptorGet,
+ Appli_Sensor_Get,
+ Appli_Sensor_ColumnGet,
+ Appli_Sensor_SeriesGet,
+ Appli_Sensor_ReadDescriptor,
+ Appli_Sensor_ReadValue,
+ Appli_Sensor_ReadColumn,
+ Appli_Sensor_ReadSeries,
+ Appli_Sensor_IsFastCadence,
+ Appli_Sensor_IsStatusTrigger
+};
+
+#if 0
+/**
+ * @brief Pressure sensor init
+ */
+__attribute__((aligned(4)))const PRESSURE_InitTypeDef Lps25InitParams =
+{
+ LPS25HB_ODR_1Hz,
+ LPS25HB_BDU_READ,
+ LPS25HB_DIFF_ENABLE,
+ LPS25HB_SPI_SIM_3W,
+ LPS25HB_P_RES_AVG_32,
+ LPS25HB_T_RES_AVG_16
+};
+#endif
+
+/**
+ * @brief Variables for people
+ */
+MOBLEUINT8 AppliSensorReadFromSensor = 0; /* Used for PTS testing */
+MOBLEUINT8 PresentTemperatureValue = 0;
+MOBLEUINT8 PreviousTemperatureValue = 0;
+MOBLEUINT8 Occupancy_Flag = MOBLE_FALSE;
+extern MOBLEUINT8 NumberOfElements;
+extern MOBLEUINT8 ProvisionFlag;
+MOBLEUINT8 Sensor_Setting_Access = 0x01 ;
+MOBLEUINT32 PresentPeopleCount = 0;
+MOBLEUINT32 PreviousPeopleCount = 0;
+
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+#ifdef ENABLE_SENSOR_MODEL_SERVER
+/******************************************************************************/
+
+
+/**
+ * @brief Callback corresponding to Sensor_CadenceGet_cb
+ * @param Cadence parameters
+* @retval None
+*/
+void Appli_Sensor_CadenceGet(sensor_CadenceCbParam_t* pCadenceParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pCadenceParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_CadenceSet_cb
+ * @param Cadence parameters
+* @retval None
+*/
+void Appli_Sensor_CadenceSet(sensor_CadenceCbParam_t* pCadenceParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pCadenceParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_CadenceSetUnack_cb
+ * @param Cadence parameters
+* @retval None
+*/
+void Appli_Sensor_CadenceSetUnack(sensor_CadenceCbParam_t* pCadenceParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pCadenceParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SettingsGet_cb
+ * @param Setting parameters
+* @retval None
+*/
+void Appli_Sensor_SettingsGet(sensor_SettingsCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->propertyId, elementIndex, peerAddr, dstPeer);
+}
+
+/**
+ * @brief Callback corresponding to Sensor_SettingGet_cb
+ * @param Setting parameters
+* @retval None
+ */
+void Appli_Sensor_SettingGet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SettingSet_cb
+ * @param Setting parameters
+* @retval None
+*/
+void Appli_Sensor_SettingSet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SettingSetUnack_cb
+ * @param Setting parameters
+* @retval None
+*/
+void Appli_Sensor_SettingSetUnack(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_DescriptorGet_cb
+ * @param Descriptor parameters
+* @retval None
+*/
+void Appli_Sensor_DescriptorGet(MOBLEUINT8 prop_ID,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ if(length == 0)
+ {
+ TRACE_M(TF_SENSOR, "Sensor Descriptor data for all sensors on element index %X peer addr %X, dst peer %X\r\n",
+ elementIndex, peerAddr, dstPeer);
+ }
+ else
+ {
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X, dst peer %X\r\n",
+ prop_ID, elementIndex, peerAddr, dstPeer);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_Get_cb
+ * @param Get parameters
+* @retval None
+*/
+void Appli_Sensor_Get(MOBLEUINT16 prop_ID,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ if(length == 0)
+ {
+ TRACE_M(TF_SENSOR, "Sensor Data for all sensors on element index %X peer addr %X dst peer %X\r\n",
+ elementIndex, peerAddr, dstPeer);
+ }
+ else
+ {
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X \r\n",
+ prop_ID, elementIndex, peerAddr, dstPeer);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ColumnGet_cb
+ * @param Column parameters
+* @retval None
+*/
+void Appli_Sensor_ColumnGet(sensor_ColumnCbParams_t* pColumnParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pColumnParam->propertyId, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SeriesGet_cb
+ * @param Series parameters
+* @retval None
+*/
+void Appli_Sensor_SeriesGet(sensor_SeriesCbParams_t* pSeriesParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X Raw Value X1 %d Raw Value X2 %d\r\n",
+ pSeriesParam->propertyId,
+ pSeriesParam->rawValueX1,
+ pSeriesParam->rawValueX2);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadDescriptor_cb
+ * Update SENSORX descriptor identified by sensorOffset
+ * Read from application to optimize RAM
+ * @param Sensor offset in sensor init structure
+ * @param descriptor parameters
+ * @retval Fail if sensor doesn't exist or property ID mismatch occurs
+ * else Success
+ */
+MOBLE_RESULT Appli_Sensor_ReadDescriptor(MOBLEUINT8 sensorOffset,
+ sensor_DescriptorCbParams_t* pDescriptorParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ const sensor_init_params_t* pSensorInitParams = NULL;
+
+ if (sensorOffset < SensorServerInitParams.sensorsCount)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ if (pSensorInitParams->propertyId != pDescriptorParams->propertyId)
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ /* */
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ if (pSensorInitParams != NULL &&
+ pDescriptorParams != NULL)
+ {
+ pDescriptorParams->positiveTolerance = pSensorInitParams->positiveTolerance;
+ pDescriptorParams->negativeTolerance = pSensorInitParams->negativeTolerance;
+ pDescriptorParams->samplingFunction = pSensorInitParams->samplingFunction;
+ pDescriptorParams->measurementPeriod = pSensorInitParams->measurementPeriod;
+ pDescriptorParams->updateInterval = pSensorInitParams->updateInterval;
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadValue_cb
+ * Read sensor value and update buffer
+ * data length <= 128
+ * PreviousTemperatureValue, PresentTemperatureValue to be updated
+ * every time sensor value is changed and call to Sensor_UpdateCadence
+ * @param Sensor offset in sensor init structure
+ * @param Value parameters
+ * @retval Fail if sensor doesn't exist
+ * else Success
+ */
+MOBLE_RESULT Appli_Sensor_ReadValue(MOBLEUINT8 sensorOffset,
+ sensor_ValueCbParams_t* pValueParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ TRACE_M(TF_SENSOR_M, ">>> \r\n");
+
+ switch(SensorServerInitParams.sensorInitParams[sensorOffset].propertyId)
+ {
+ case PRESENCE_DETECTED_PID:
+ {
+ pValueParams->data[0] = Occupancy_Flag;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return result;
+}
+
+#endif
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadColumn_cb
+ * Fill column width and raw valye Y in data buffer
+ * data length <= 8
+ * @param Sensor offset in sensor init structure
+ * @param Series column parameters
+ * @retval Fail if sensor doesn't exist
+ * else Success
+*/
+MOBLE_RESULT Appli_Sensor_ReadColumn(MOBLEUINT8 sensorOffset,
+ MOBLEUINT8 columnOffset,
+ sensor_ColumnCbParams_t* pColumnParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ const sensor_init_params_t* pSensorInitParams = NULL;
+ MOBLEUINT8 dataLength = 0;
+ MOBLEUINT8* data = pColumnParams->data;
+
+ if (sensorOffset < SensorServerInitParams.sensorsCount)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ /* fill sensor column data */
+ memcpy(data+dataLength,
+ &(pSensorInitParams->seriesColumn[columnOffset].columnWidth),
+ pSensorInitParams->dataLength);
+ dataLength = pSensorInitParams->dataLength;
+
+ memset(data+dataLength, 0xAA, pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+
+ pColumnParams->dataLength = dataLength;
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadSeries_cb
+ * Fill sensor series state for all columns between and including X1 and X2
+ * Series data to be concatenated in triplet of raw value X, column width and raw value Y
+ * X[n] CW[n] Y[n] X[n+1] CW[n+1] Y[n+1] ...
+ * data length should be less than minimum of 379 or max application packet length supported
+ * @param Sensor offset in sensor init structure
+ * @param Series parameters
+ * @retval Fail if sensor doesn't exist
+ * else Success
+ */
+MOBLE_RESULT Appli_Sensor_ReadSeries(MOBLEUINT8 sensorOffset,
+ sensor_SeriesCbParams_t* pSeriesParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ const sensor_init_params_t* pSensorInitParams = NULL;
+ MOBLEUINT16 dataLength = 0;
+ MOBLEUINT8* data = pSeriesParams->data;
+
+ if (sensorOffset < SensorServerInitParams.sensorsCount)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ for (MOBLEUINT8 count=0; count<pSensorInitParams->seriesCount; count++)
+ {
+ /* fill sensor series data */
+ if (pSensorInitParams->seriesColumn[count].rawX >= pSeriesParams->rawValueX1 &&
+ pSensorInitParams->seriesColumn[count].rawX <= pSeriesParams->rawValueX2)
+ {
+ memcpy(data+dataLength,
+ &(pSensorInitParams->seriesColumn[count].rawX),
+ pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+ memcpy(data+dataLength,
+ &(pSensorInitParams->seriesColumn[count].columnWidth),
+ pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+ memset(data+dataLength, 0xAA, pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+
+ pSeriesParams->dataLength = dataLength;
+ }
+ else
+ {
+ /* */
+ }
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_IsFastCadence_cb
+ * To check if fast cadence to be used for current sensor state
+ * @param Sensor offset in sensor init structure
+ * @param Fast Cadence Low
+ * @param Fast Cadence High
+ * @retval Trigger status
+ */
+MOBLEUINT8 Appli_Sensor_IsFastCadence(MOBLEUINT8 sensorOffset,
+ void* pFastCadenceLow,
+ void* pFastCadenceHigh)
+{
+ MOBLEUINT8 fastCadenceStatus = 0;
+ MOBLEUINT32 fastCadenceLow = *((MOBLEUINT32*)pFastCadenceLow);
+ MOBLEUINT32 fastCadenceHigh = *((MOBLEUINT32*)pFastCadenceHigh);
+ MOBLEUINT32 sensorValue = PresentTemperatureValue;
+
+ if (sensorOffset == 0)
+ {
+ if (fastCadenceLow <= fastCadenceHigh)
+ {
+ fastCadenceStatus = sensorValue >= fastCadenceLow &&
+ sensorValue <= fastCadenceHigh;
+ }
+ else
+ {
+ fastCadenceStatus = sensorValue > fastCadenceLow ||
+ sensorValue < fastCadenceHigh;
+ }
+}
+ else
+ {
+ /* Implemented only for sensor at offset 0 */
+ }
+
+ return fastCadenceStatus;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_IsStatusTrigger_cb
+ * To check if sensor change in sensor state (delta) is more than
+ * given trigger state value
+ * delta up values
+ * @param Sensor offset in sensor init structure
+ * @param Trigger type -> value or percent change
+ * @param Status trigger delta down
+ * @param Status trigger delta up
+ * @retval Trigger status
+*/
+MOBLEUINT8 Appli_Sensor_IsStatusTrigger(MOBLEUINT8 sensorOffset,
+ status_trigger_type_e triggerType,
+ void* pDeltaDown,
+ void* pDeltaUp)
+{
+ const sensor_init_params_t* pSensorInitParams = NULL;
+ MOBLEUINT8 triggerStatus = 0;
+ MOBLEUINT32 deltaDown = *((MOBLEUINT32*)pDeltaDown);
+ MOBLEUINT32 deltaUp = *((MOBLEUINT32*)pDeltaUp);
+ status_trigger_delta_e statusTriggerDelta;
+ MOBLEUINT32 delta;
+
+ if (sensorOffset == 0)
+ {
+ if (PresentTemperatureValue < PreviousTemperatureValue)
+ {
+ /* status trigger delta down */
+ statusTriggerDelta = STATUS_TRIGGER_DELTA_DOWN;
+ delta = PreviousTemperatureValue - PresentTemperatureValue;
+
+ TRACE_M(TF_SENSOR, "Delta down value %ld\r\n", delta);
+ }
+ else
+ {
+ /* status trigger delta up */
+ statusTriggerDelta = STATUS_TRIGGER_DELTA_UP;
+ delta = PresentTemperatureValue - PreviousTemperatureValue;
+
+ TRACE_M(TF_SENSOR, "Delta up value %ld\r\n", delta);
+ }
+
+ if (triggerType == STATUS_TRIGGER_TYPE_PC)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ if (pSensorInitParams->valuesRange != 0)
+ {
+ /* change delta to percentage change (of 0.01 % steps) */
+ delta = (MOBLEUINT32)((delta*10000)/pSensorInitParams->valuesRange);
+ }
+ else
+ {
+ triggerStatus = 0;
+ }
+ }
+
+ if ((statusTriggerDelta == STATUS_TRIGGER_DELTA_DOWN && delta >= deltaDown) ||
+ (statusTriggerDelta == STATUS_TRIGGER_DELTA_UP && delta >= deltaUp))
+ {
+ triggerStatus = 1;
+ }
+ else
+ {
+ triggerStatus = 0;
+ }
+ }
+
+ return triggerStatus;
+}
+
+
+/**
+* @brief Initialize hardware interfaces for sensors and mesh sensor model structures
+* Sensor init parameters to be defined in sensor_cfg_usr.h
+* Sensors are initialized in the order as defined in sensor_cfg_usr.h
+ * LPS25HB supports pressure and temperature sensor
+* @param void
+ * @retval
+ */
+MOBLE_RESULT Appli_Sensor_Init(void)
+ {
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+// PRESSURE_StatusTypeDef lps25Status;
+
+ /* Hardware interface initialization */
+#ifndef CUSTOM_BOARD_PWM_SELECTION
+// PRESSURE_StatusTypeDef tempStatus;
+// PRESSURE_StatusTypeDef pressStatus;
+// int16_t temperature;
+// int32_t pressure;
+
+#if 0
+ /* Initiallization of sensors */
+ lps25Status = LPS25HB_Init((PRESSURE_InitTypeDef*)(&Lps25InitParams));
+
+ if (lps25Status != PRESSURE_OK)
+ {
+ TRACE_M(TF_SENSOR, "Error initializing LPS25HB. status (%d)\r\n", lps25Status);
+ }
+
+ tempStatus = LPS25HB_I2C_ReadRawTemperature(&temperature);
+ pressStatus = LPS25HB_I2C_ReadRawPressure(&pressure);
+
+ if (tempStatus == PRESSURE_OK &&
+ pressStatus == PRESSURE_OK)
+ {
+ /* TRACE_M(TF_SENSOR, "Raw temperature (%d) and raw pressure (%d)\r\n",
+ temperature, pressure); */
+ }
+ else
+ {
+ TRACE_M(TF_SENSOR, "Error reading LPS25HB at init\r\n");
+ }
+#endif
+
+#else
+ TRACE_M(TF_SENSOR, "LPS25HB not initialized\r\n");
+#endif
+
+ /* initialize sensor server model */
+ result = SensorServer_Init(&BufferSensorServer,
+ &AppliSensor_cb,
+ TOTAL_SENSOR_SERVER_BUFF_SIZE,
+ &SensorServerInitParams);
+
+ if(MOBLE_FAILED(result))
+ {
+ TRACE_M(TF_SENSOR, "Sensor Server init failed\r\n");
+ }
+
+ return result;
+ }
+
+
+/**
+ * @brief Handling of serial inputs to sensor model
+ * @param Sensor offset in sensor init structure
+ * @param Sensor value
+ * @retval void
+ */
+MOBLE_RESULT Appli_Sensor_Update(MOBLEUINT8 sensorOffset, MOBLEUINT32 value)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ TRACE_M(TF_SENSOR_M, ">>> \r\n");
+ Occupancy_Flag = (MOBLEUINT8)value;
+ return result;
+}
+
+
+/**
+ * @brief Handling of serial inputs to sensor model
+ * Appli_Sensor_SerialCmd can be used for testing periodic publishing and
+ * triggered publishing with PTS
+ * @param serial string
+ * @param serial string size
+ * @retval void
+ */
+void Appli_Sensor_SerialCmd(char *rcvdStringBuff, uint16_t rcvdStringSize)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_INVALIDARG;
+ MOBLEUINT16 value = 0;
+ MOBLEUINT8 sensorOffset = 0;
+
+ if (!strncmp(rcvdStringBuff+6, "SETV", 4))
+ {
+ if (rcvdStringSize == 15)
+ {
+ sscanf(rcvdStringBuff+11, "%4hx", &value);
+
+ /* Set SENSOR1 value at offset 0 */
+ result = Appli_Sensor_Update(sensorOffset, value);
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else if (!strncmp(rcvdStringBuff+6, "PUBLISH", 7))
+ {
+ if (rcvdStringSize == 17)
+ {
+ sscanf(rcvdStringBuff+14, "%1hx", &value);
+
+ sensorOffset = value;
+
+ sscanf(rcvdStringBuff+16, "%1hx", &value);
+
+ /* Enable / Disable publishing of sensor as identified by sensor offset */
+ if(value == 0) /* Disable */
+ {
+ result = Sensor_UpdatePublishState(sensorOffset, 0);
+ }
+ else /* Enable */
+ {
+ result = Sensor_UpdatePublishState(sensorOffset, 1);
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ /* Check the result of command processing */
+ if(result == MOBLE_RESULT_SUCCESS)
+ {
+ BLEMesh_PrintStringCb("Success\r\n");
+ }
+ else if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ BLEMesh_PrintStringCb("Fail Out of memory\r\n");
+ }
+ else if(result == MOBLE_RESULT_INVALIDARG)
+ {
+ BLEMesh_PrintStringCb("Fail Invalid Argument\r\n");
+ }
+ else
+ {
+ BLEMesh_PrintStringCb("Fail\r\n");
+ }
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.h
new file mode 100644
index 000000000..4f6cefe6b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensor.h
@@ -0,0 +1,111 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensor.h
+ * @author MCD Application Team
+ * @brief Application interface for Light Mesh Model
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_SENSOR_H
+#define __APPLI_SENSOR_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "sensors.h"
+#include "mesh_cfg.h"
+
+/* Exported functions ------------------------------------------------------- */
+void Appli_Sensor_CadenceGet(sensor_CadenceCbParam_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_CadenceSet(sensor_CadenceCbParam_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_CadenceSetUnack(sensor_CadenceCbParam_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingsGet(sensor_SettingsCbParams_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingGet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingSet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingSetUnack(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_DescriptorGet(MOBLEUINT8 pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Get (MOBLEUINT16 prop_ID,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_ColumnGet(sensor_ColumnCbParams_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SeriesGet(sensor_SeriesCbParams_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Sensor_ReadDescriptor(MOBLEUINT8 sensorOffset,
+ sensor_DescriptorCbParams_t* pDescriptorParams);
+MOBLE_RESULT Appli_Sensor_ReadValue(MOBLEUINT8 sensorOffset,
+ sensor_ValueCbParams_t* pValueParams);
+MOBLE_RESULT Appli_Sensor_ReadColumn(MOBLEUINT8 sensorOffset,
+ MOBLEUINT8 columnOffset,
+ sensor_ColumnCbParams_t* pColumnParams);
+MOBLE_RESULT Appli_Sensor_ReadSeries(MOBLEUINT8 sensorOffset,
+ sensor_SeriesCbParams_t* pSeriesParams);
+MOBLEUINT8 Appli_Sensor_IsFastCadence(MOBLEUINT8 sensorOffset,
+ void* pFastCadenceLow,
+ void* pFastCadenceHigh);
+MOBLEUINT8 Appli_Sensor_IsStatusTrigger(MOBLEUINT8 sensorOffset,
+ status_trigger_type_e triggerType,
+ void* pDeltaDown,
+ void* pDeltaUp);
+MOBLE_RESULT Appli_Sensor_Init(void);
+MOBLE_RESULT Appli_Sensor_Update(MOBLEUINT8 sensorOffset, MOBLEUINT32 value);
+
+MOBLE_RESULT Appli_Sensor_Update(MOBLEUINT8 sensorOffset,
+ MOBLEUINT32 value);
+void Appli_Sensor_SerialCmd(char *rcvdStringBuff,
+ uint16_t rcvdStringSize);
+#endif /* __APPLI_SENSOR_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.c
new file mode 100644
index 000000000..cdf66e0f9
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.c
@@ -0,0 +1,332 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensors_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_sensor.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "appli_mesh.h"
+#include "sensors_client.h"
+#include "appli_sensors_client.h"
+#include "appli_light_lc.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+
+
+/* Private functions ---------------------------------------------------------*/
+/**
+* @brief Appli_SensorsClient_API: This function is a Wrapper to call Sensors Client API depending on opcode received in input
+* @param elementIndex: Index of the element
+* @param msg_opcode: opcode of the desired API
+* @param msg_params: buffer containing the desired API parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_SensorsClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ switch(msg_opcode){
+/******************************************************************************/
+#ifdef ENABLE_SENSOR_MODEL_CLIENT
+/******************************************************************************/
+ case SENSOR_DESCRIPTOR_GET:
+ {
+ result = SensorsClient_Descriptor_Get(elementIndex, msg_params);
+ break;
+ }
+ case SENSOR_CADENCE_GET:
+ {
+ result = SensorsClient_Cadence_Get(elementIndex, msg_params);
+ break;
+ }
+ case SENSOR_CADENCE_SET:
+ {
+ result = SensorsClient_Cadence_Set(elementIndex,
+ msg_params,
+ 10); //(sizeof(sensor_CadenceCbParam_t)-3));
+ break;
+ }
+ case SENSOR_CADENCE_SET_UNACK:
+ {
+ result = SensorsClient_Cadence_Set_Unack(elementIndex,
+ msg_params,
+ 10); //(sizeof(sensor_CadenceCbParam_t)-3));
+ break;
+ }
+ case SENSOR_SETTINGS_GET:
+ {
+ result = SensorsClient_Settings_Get(elementIndex, msg_params);
+ break;
+ }
+
+ case SENSOR_SETTING_GET:
+ {
+ result = SensorsClient_Setting_Get(elementIndex, msg_params, sizeof(sensor_SettingsCbParams_t));
+ break;
+ }
+ case SENSOR_SETTING_SET:
+ {
+
+ result = SensorsClient_Setting_Set(elementIndex,
+ msg_params,
+ 6);
+ break;
+ }
+ case SENSOR_SETTING_SET_UNACK:
+ {
+
+ result = SensorsClient_Setting_Set_Unack(elementIndex,
+ msg_params,
+ 6);
+ break;
+ }
+ case SENSOR_GET:
+ {
+ result = SensorsClient_Get(elementIndex, msg_params);
+ break;
+ }
+ case SENSOR_COLUMN_GET:
+ {
+ result = SensorsClient_Column_Get(elementIndex, msg_params, 4);
+ break;
+ }
+ case SENSOR_SERIES_GET:
+ {
+ result = SensorsClient_Series_Get(elementIndex, msg_params, 4);
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_SENSOR_MODEL_CLIENT */
+/******************************************************************************/
+
+
+ default:
+ {
+ TRACE_M(TF_SENSOR, "OpCode value invalid %d \r\n", msg_opcode);
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ return result;
+}
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Cadence_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Cadence_Status(const MOBLEUINT8 *pCadence,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Cadence_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_CADENCE_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Cadence value: %d\n\r", pCadence[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Settings_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Settings_Status(const MOBLEUINT8 *pSettings,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Settings_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_SETTINGS_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Settings value: %d\n\r", pSettings[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Setting_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Setting_Status(const MOBLEUINT8 *pSetting,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Setting_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_SETTING_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Setting value: %d\n\r", pSetting[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Descriptor_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Descriptor_Status(const MOBLEUINT8 *pDescriptor,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Descriptor_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_DESCRIPTOR_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Descriptor value: %d\n\r", pDescriptor[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Status(const MOBLEUINT8 *pStatus,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Status value: %d\n\r", pStatus[i]);
+ }
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ Appli_Light_LC_SensorPropertyUpdate(elementIndex,
+ PRESENCE_DETECTED_PID,
+ (MOBLEUINT32) pStatus[length-1]);
+#endif
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Column_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Column_Status(const MOBLEUINT8 *pColumn,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Column_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_COLUMN_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Column Status value: %d\n\r", pColumn[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Series_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Series_Status(const MOBLEUINT8 *pSeries,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Series_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_SERIES_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Series Status value: %d\n\r", pSeries[i]);
+ }
+}
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.h
new file mode 100644
index 000000000..b5c605d15
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_sensors_client.h
@@ -0,0 +1,72 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensor_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Sensor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_SENSOR_CLIENT_H
+#define __APPLI_SENSOR_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "sensors.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_ConfigClient_Set(void);
+MOBLE_RESULT Appli_SensorsClient_API(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 msg_opcode,
+ MOBLEUINT8 *msg_params);
+void Appli_Sensor_Descriptor_Status(const MOBLEUINT8 *pDescriptor,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Cadence_Status(const MOBLEUINT8 *pCadence,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Settings_Status(const MOBLEUINT8 *pSettings,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Setting_Status(const MOBLEUINT8 *pSetting,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Status(const MOBLEUINT8 *pStatus,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Column_Status(const MOBLEUINT8 *pColumn,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Series_Status(const MOBLEUINT8 *pSeries,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+
+
+
+
+#endif /* __APPLI_SENSOR_CLIENT_H */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.c
new file mode 100644
index 000000000..06a5730fe
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.c
@@ -0,0 +1,565 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_vendor.c
+ * @author MCD Application Team
+ * @brief Application interface for Vendor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h"
+#include "hal_common.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "vendor.h"
+#include "appli_vendor.h"
+#include "common.h"
+#include "appli_light.h"
+#include "models_if.h"
+#include "mesh_cfg.h"
+#include <string.h>
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+typedef struct
+{
+ MOBLE_ADDRESS dst;
+ MOBLEUINT8 data[VENDOR_DATA_BUFFER_SIZE];
+ MOBLEUINT32 length;
+ MOBLEUINT8 elementIndex;
+} APPLI_SEND_BIG_DATA_PACKET;
+
+/* Private variables ---------------------------------------------------------*/
+
+MOBLEUINT8 ResponseBuffer[VENDOR_DATA_BUFFER_SIZE];
+MOBLEUINT16 BuffLength;
+APPLI_SEND_BIG_DATA_PACKET Appli_VendorBigData;
+
+/*Variable to enable OTA for received vendor command*/
+extern MOBLEUINT8 Appli_LedState;
+#ifdef USER_BOARD_1LED
+extern uint16_t DUTY;
+#endif
+extern MOBLEUINT8 NumberOfElements;
+MOBLEUINT32 TestHitCounter = 0;
+extern Appli_LightPwmValue_t Appli_LightPwmValue;
+
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief Process the Vendor Device Info Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_DeviceInfo(MOBLEUINT8 const *data, MOBLEUINT32 length)
+{
+ MOBLEUINT8 tempBuffer[10];
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+
+ MOBLEUINT8 subCmd = data[0];
+ char *libVersion;
+ char *subLibVersion;
+ MOBLEUINT8 inc = 0;
+ /*First Byte is sending the Sub Command*/
+ ResponseBuffer[0] = subCmd;
+ TRACE_M(TF_VENDOR,"#02-%02hx! \n\r",data[0]);
+
+ switch(subCmd)
+ {
+ case IC_TYPE:
+ {
+#ifdef BLUENRG1_DEVICE
+ ResponseBuffer[1] = BLUENRG1_BRD;
+#endif
+
+#ifdef BLUENRG2_DEVICE
+ ResponseBuffer[1] = BLUENRG2_BRD;
+#endif
+
+#ifdef BLUENRG_MS
+ ResponseBuffer[1] = BLUENRG_MS_BRD;
+#endif
+
+#ifdef STM32WB55xx
+ ResponseBuffer[1] = STM32WB55XX_BRD;
+#endif
+
+ BuffLength = 2;
+ break;
+ }
+ case LIB_VER:
+ {
+ libVersion = BLEMesh_GetLibraryVersion();
+ while(*libVersion != '\0')
+ {
+ tempBuffer[inc] = *libVersion;
+ if(tempBuffer[inc] != 0x2E)
+ {
+ tempBuffer[inc] = BLEMesh_ModelsASCII_To_Char(tempBuffer[inc]);
+ TRACE_M(TF_VENDOR,"Lib version is %x\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ else
+ {
+ TRACE_M(TF_VENDOR,"Lib version is %c\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ libVersion++;
+
+ inc++;
+ }
+ ResponseBuffer[1]= tempBuffer[0];
+ ResponseBuffer[2]= tempBuffer[1];
+ ResponseBuffer[3]= tempBuffer[3];
+ ResponseBuffer[4]= tempBuffer[4];
+ ResponseBuffer[5]= tempBuffer[6];
+ ResponseBuffer[6]= tempBuffer[7];
+ ResponseBuffer[7]= tempBuffer[8];
+ BuffLength = 8;
+ break;
+ }
+ case LIB_SUB_VER:
+ {
+ subLibVersion = BLEMesh_GetLibrarySubVersion();
+ while(*subLibVersion != '\0')
+ {
+ tempBuffer[inc] = * subLibVersion;
+ if((tempBuffer[inc] != 0x2E) && (tempBuffer[inc] != 0x52))
+ {
+ tempBuffer[inc] = BLEMesh_ModelsASCII_To_Char(tempBuffer[inc]);
+ TRACE_M(TF_VENDOR,"Sub Lib version is %x\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ else
+ {
+ TRACE_M(TF_VENDOR,"Sub Lib version is %c\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ subLibVersion++;
+ inc++;
+ }
+ ResponseBuffer[1]= tempBuffer[0];
+ ResponseBuffer[2]= tempBuffer[1];
+ ResponseBuffer[3]= tempBuffer[3];
+ ResponseBuffer[4]= tempBuffer[5];
+ ResponseBuffer[5]= tempBuffer[7];
+ ResponseBuffer[6]= tempBuffer[9];
+
+ BuffLength = 7;
+
+ break;
+ }
+ case APPLICATION_VER:
+ {
+ /*Insert Command to check Application Version*/
+ break;
+ }
+
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+
+ }
+
+ return status;
+}
+
+
+/**
+* @brief Process the Vendor Test Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_Test(MOBLEUINT8 const *data, MOBLEUINT32 length)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 subCmd = data[0];
+ /*First Byte is sending the Sub Command*/
+ ResponseBuffer[0]=subCmd;
+ TRACE_M(TF_VENDOR,"#01-%02hx! \n\r",data[0]);
+ switch(subCmd)
+ {
+ case APPLI_TEST_ECHO:
+ {
+ if(length > sizeof(ResponseBuffer))
+ {
+ length = sizeof(ResponseBuffer);
+ TRACE_M(TF_VENDOR,"Length received greater than size of response buffer \r\n");
+ }
+ memcpy (&(ResponseBuffer[1]),&(data[1]),(length-1));
+ BuffLength = length;
+ break;
+ }
+ case APPLI_TEST_RANDOMIZATION_RANGE:
+ {
+ /*Insert Test related Commands here*/
+ break;
+ }
+ case APPLI_TEST_COUNTER:
+ {
+#ifdef USER_BOARD_1LED
+ if((DUTY <= PWM_TIME_PERIOD) && (DUTY > 1))
+ {
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+ else
+ {
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+ TRACE_M(TF_VENDOR,"Test Counter is running \r\n");
+ ResponseBuffer[0] = subCmd;
+ ResponseBuffer[1] = Appli_LedState ;
+ BuffLength = 2;
+ /*Insert Test related Commands here*/
+#endif
+ break;
+ }
+ case APPLI_TEST_INC_COUNTER:
+ {
+#ifdef USER_BOARD_1LED
+ if((DUTY <= PWM_TIME_PERIOD) && (DUTY > 1))
+ {
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+ else
+ {
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+
+ TestHitCounter++;
+ TRACE_M(TF_VENDOR,"Command received Count %.2lx \r\n",TestHitCounter);
+ ResponseBuffer[0] = subCmd;
+ ResponseBuffer[1] = Appli_LedState ;
+ BuffLength = 2;
+#endif
+ /*Insert Test related Commands here*/
+ break;
+ }
+ case APPLI_MODEL_PUBLISH_SELECT:
+ {
+ for (MOBLEUINT8 idx=0; idx<length; idx++)
+ {
+ TRACE_I(TF_VENDOR,"data[%d]= %d",idx,data[idx]);
+ TRACE_I(TF_VENDOR,"\n\r");
+ }
+ break;
+ }
+
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+ }
+
+ return status;
+}
+
+
+/**
+* @brief Process the Vendor LED Control Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @param elementIndex : selected element where '0' is first element
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_LEDControl( MOBLEUINT8 const *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementIndex , MOBLE_ADDRESS dst_peer)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 subCommand;
+ subCommand = data[0];
+ MOBLEUINT16 duty;
+ MOBLEUINT16 intensityValue = 0;
+
+ TRACE_M(TF_VENDOR,"#03-%02hx!\n\r",data[0]);
+ switch(subCommand)
+ {
+ /*
+ Message Received B0 B1 B2 B3 B4 B5 B6 B7
+ B0 - Sub-Cmd LED
+ B1-B7 - Data Bytes
+ */
+ case APPLI_CMD_LED_BULB:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_Control callback received for elementIndex %d \r\n", elementIndex);
+ Appli_LedState = *(data+1); /* Toggle the state of the Blue LED */
+ if( Appli_LedState == 1)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+ break;
+ }
+
+ /* Toggle Command */
+ case APPLI_CMD_TOGGLE:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_Toggle callback received for elementIndex %d \r\n", elementIndex);
+ if(Appli_LedState == 1)
+ {
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+
+#ifndef CUSTOM_BOARD_PWM_SELECTION
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#else
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#endif
+ Appli_LedState = 0;
+ BSP_LED_Off(LED_BLUE);
+ }
+ else
+ {
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ Appli_LedState = 1;
+ BSP_LED_On(LED_BLUE);
+ }
+
+ break;
+ }
+ /* On Command */
+ case APPLI_CMD_ON:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_ON callback received for elementIndex %d \r\n", elementIndex);
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+ BSP_LED_On(LED_BLUE);
+ Appli_LedState = 1;
+
+ break;
+ }
+ /* Off Command */
+ case APPLI_CMD_OFF:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_OFF callback received for elementIndex %d \r\n", elementIndex);
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+
+#ifndef CUSTOM_BOARD_PWM_SELECTION
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#else
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#endif
+ Appli_LedState = 0;
+ BSP_LED_Off(LED_BLUE);
+
+ break;
+ }
+ /* intensity command */
+ case APPLI_CMD_LED_INTENSITY:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_Intensity callback received for elementIndex %d \r\n", elementIndex);
+ intensityValue = data[2] << 8;
+ intensityValue |= data[1];
+
+ duty = PwmValueMapping(intensityValue , 0x7FFF ,0);
+ Appli_LightPwmValue.IntensityValue = duty;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ if(duty > 16000)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+ break;
+ }
+ /* Default case - Not valid command */
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+ }
+ /*Buffer will be sent for Reliable Response*/
+ /*First Byte is Sub Command and 2nd Byte is LED Status*/
+ ResponseBuffer[0] = subCommand;
+ if(subCommand == APPLI_CMD_LED_INTENSITY)
+ {
+ ResponseBuffer[1] = intensityValue >> 8 ;
+ ResponseBuffer[2] = intensityValue ;
+ BuffLength = 3;
+ }
+ else
+ {
+ ResponseBuffer[1] = Appli_LedState ;
+ BuffLength = 2;
+ }
+
+ return status;
+}
+
+/**
+* @brief Process the Vendor Data write Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_Data_write(MOBLEUINT8 const *data, MOBLEUINT32 length)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 subCmd = data[0];
+ /*First Byte is sending the Sub Command*/
+ ResponseBuffer[0]=subCmd;
+
+ TRACE_M(TF_VENDOR, "#0E-%02hx %02lx! \n\r",data[0], length);
+ for(MOBLEUINT16 i=0; i<length; i++)
+ {
+ TRACE_I(TF_VENDOR,"%02hx ",data[i]);
+ }
+ TRACE_I(TF_VENDOR,"\n\r");
+ switch(subCmd)
+ {
+ case APPLI_STRING_WRITE:
+ {
+ memcpy(&ResponseBuffer,data,length);
+ BuffLength = length;
+ break;
+ }
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+ }
+ return status;
+}
+
+/**
+* @brief Appli_GetTestValue: This function is callback for Application
+* when Vensor application test command received then status message is to be provided
+* @param responseValue: Pointer to the status message
+* @retval void
+*/
+void Appli_GetTestValue (MOBLEUINT8 *responseValue)
+{
+ *responseValue = TestHitCounter;
+ *(responseValue+1) = TestHitCounter >> 8;
+ *(responseValue+2) = TestHitCounter >> 16;
+ *(responseValue+3) = TestHitCounter >> 24;
+ TestHitCounter = 0;
+}
+/**
+* @brief Process the Vendor LED Control Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @param elementIndex : selected element where '0' is first element
+* @param dst_peer : Destination address
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_SetBigDataPacket(MOBLEUINT8 *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementIndex , MOBLE_ADDRESS dst_peer)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+
+ if (length > VENDOR_DATA_BUFFER_SIZE)
+ {
+ status = MOBLE_RESULT_INVALIDARG;
+ }
+ memmove(Appli_VendorBigData.data, data, length);
+ Appli_VendorBigData.dst = dst_peer;
+ Appli_VendorBigData.length = length;
+ Appli_VendorBigData.elementIndex = elementIndex;
+ return status;
+}
+/**
+* @brief Send Vendor big data packet
+* @param void
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_SendBigDataPacket(void)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+
+ if(BLEMesh_TrsptIsBusyState())
+ {
+ BSP_LED_On(LED_BLUE);
+ status = MOBLE_RESULT_FALSE;
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ status = BLEMesh_SetRemoteData(Appli_VendorBigData.dst,
+ Appli_VendorBigData.elementIndex,
+ 0x000E,
+ Appli_VendorBigData.data,
+ Appli_VendorBigData.length,
+ MOBLE_FALSE,
+ MOBLE_TRUE);
+
+ }
+ return status;
+}
+
+/**
+* @brief Publish Command for Vendor Model
+* @param srcAddress: Source Address of Node
+* @retval void
+*/
+void Appli_Vendor_Publish(MOBLE_ADDRESS srcAddress)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 AppliBuff[1];
+ /* changes the LED status on other nodes in the network */
+
+ AppliBuff[0] = APPLI_CMD_TOGGLE;
+
+ result = BLEMesh_SetRemotePublication(VENDORMODEL_STMICRO_ID1, srcAddress,
+ APPLI_LED_CONTROL_STATUS_CMD,
+ AppliBuff, sizeof(AppliBuff),
+ MOBLE_FALSE, MOBLE_TRUE);
+
+ if(result)
+ {
+ TRACE_I(TF_VENDOR_M, "Publication Error \r\n");
+ }
+}
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.h
new file mode 100644
index 000000000..a1b98db75
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_vendor.h
@@ -0,0 +1,46 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_vendor.h
+ * @author MCD Application Team
+ * @brief Application interface for Vendor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_VENDOR_H
+#define __APPLI_VENDOR_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "ble_mesh.h"
+
+/* Exported macro ------------------------------------------------------------*/
+#define LED_OFF_VALUE 1U
+#define LED_ON_VALUE 32000U
+/* Private define ------------------------------------------------------------*/
+
+MOBLE_RESULT Appli_Vendor_LEDControl( MOBLEUINT8 const *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementNumber, MOBLE_ADDRESS dst_peer);
+MOBLE_RESULT Appli_Vendor_DeviceInfo(MOBLEUINT8 const *data, MOBLEUINT32 length);
+MOBLE_RESULT Appli_Vendor_Test(MOBLEUINT8 const *data, MOBLEUINT32 length);
+MOBLE_RESULT Appli_Vendor_Data_write(MOBLEUINT8 const *data, MOBLEUINT32 length);
+void Appli_GetTestValue (MOBLEUINT8 *responseValue);
+MOBLE_RESULT Appli_Vendor_SendBigDataPacket(void);
+MOBLE_RESULT Appli_Vendor_SetBigDataPacket(MOBLEUINT8 *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementIndex , MOBLE_ADDRESS dst_peer);
+void Appli_Vendor_Publish(MOBLE_ADDRESS srcAddress);
+#endif /* __APPLI_VENDOR_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_conf.h
new file mode 100644
index 000000000..dfad3c5fa
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_conf.h
@@ -0,0 +1,72 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef BLE_CONF_H
+#define BLE_CONF_H
+
+#include "app_conf.h"
+
+/******************************************************************************
+ *
+ * BLE SERVICES CONFIGURATION
+ * blesvc
+ *
+ ******************************************************************************/
+#define BLE_CFG_MESH 1
+
+/**
+ * This setting shall be set to '1' if the device needs to support the Peripheral Role
+ * In the MS configuration, both BLE_CFG_PERIPHERAL and BLE_CFG_CENTRAL shall be set to '1'
+ */
+#define BLE_CFG_PERIPHERAL 1
+
+/**
+ * This setting shall be set to '1' if the device needs to support the Central Role
+ * In the MS configuration, both BLE_CFG_PERIPHERAL and BLE_CFG_CENTRAL shall be set to '1'
+ */
+#define BLE_CFG_CENTRAL 1
+
+#define BLE_CFG_BROADCASTER 1
+
+#define BLE_CFG_OBSERVER 1
+
+#define BLE_CFG_DATA_ROLE_MODE 4
+
+
+/**
+ * There is one handler per service enabled
+ * Note: There is no handler for the Device Information Service
+ *
+ * This shall take into account all registered handlers
+ * (from either the provided services or the custom services)
+ */
+#define BLE_CFG_SVC_MAX_NBR_CB 7
+
+#define BLE_CFG_CLT_MAX_NBR_CB 5
+
+/******************************************************************************
+ * GAP Service - Appearance
+ ******************************************************************************/
+#define BLE_CFG_UNKNOWN_APPEARANCE (0)
+#define BLE_CFG_HR_SENSOR_APPEARANCE (832)
+#define BLE_CFG_GAP_APPEARANCE (BLE_CFG_UNKNOWN_APPEARANCE)
+
+#endif /*BLE_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_dbg_conf.h
new file mode 100644
index 000000000..132a0d68c
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/ble_dbg_conf.h
@@ -0,0 +1,199 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __BLE_DBG_CONF_H
+#define __BLE_DBG_CONF_H
+
+/**
+ * Enable or Disable traces from BLE
+ */
+
+#define BLE_DBG_DIS_EN 0
+#define BLE_DBG_HRS_EN 0
+#define BLE_DBG_EDS_STM_EN 0
+#define BLE_DBG_LBS_STM_EN 0
+#define BLE_DBG_SVCCTL_EN 1
+#define BLE_DBG_BLS_EN 0
+#define BLE_DBG_HTS_EN 0
+#define BLE_DBG_P2P_STM_EN 0
+
+/**
+ * Macro definition
+ */
+#if ( BLE_DBG_APP_EN != 0 )
+#define BLE_DBG_APP_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_APP_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_DIS_EN != 0 )
+#define BLE_DBG_DIS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_DIS_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_HRS_EN != 0 )
+#define BLE_DBG_HRS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HRS_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_P2P_STM_EN != 0 )
+#define BLE_DBG_P2P_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_P2P_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_TEMPLATE_STM_EN != 0 )
+#define BLE_DBG_TEMPLATE_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_TEMPLATE_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_EDS_STM_EN != 0 )
+#define BLE_DBG_EDS_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_EDS_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_LBS_STM_EN != 0 )
+#define BLE_DBG_LBS_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_LBS_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_SVCCTL_EN != 0 )
+#define BLE_DBG_SVCCTL_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_SVCCTL_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_CTS_EN != 0)
+#define BLE_DBG_CTS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_CTS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_HIDS_EN != 0)
+#define BLE_DBG_HIDS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HIDS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_PASS_EN != 0)
+#define BLE_DBG_PASS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_PASS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_BLS_EN != 0)
+#define BLE_DBG_BLS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_BLS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_HTS_EN != 0)
+#define BLE_DBG_HTS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HTS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_ANS_EN != 0)
+#define BLE_DBG_ANS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_ANS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_ESS_EN != 0)
+#define BLE_DBG_ESS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_ESS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_GLS_EN != 0)
+#define BLE_DBG_GLS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_GLS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_BAS_EN != 0)
+#define BLE_DBG_BAS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_BAS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_RTUS_EN != 0)
+#define BLE_DBG_RTUS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_RTUS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_HPS_EN != 0)
+#define BLE_DBG_HPS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HPS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_TPS_EN != 0)
+#define BLE_DBG_TPS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_TPS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_LLS_EN != 0)
+#define BLE_DBG_LLS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_LLS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_IAS_EN != 0)
+#define BLE_DBG_IAS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_IAS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_WSS_EN != 0)
+#define BLE_DBG_WSS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_WSS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_LNS_EN != 0)
+#define BLE_DBG_LNS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_LNS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_SCPS_EN != 0)
+#define BLE_DBG_SCPS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_SCPS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_DTS_EN != 0)
+#define BLE_DBG_DTS_MSG PRINT_MESG_DBG
+#define BLE_DBG_DTS_BUF PRINT_LOG_BUFF_DBG
+#else
+#define BLE_DBG_DTS_MSG PRINT_NO_MESG
+#define BLE_DBG_DTS_BUF PRINT_NO_MESG
+#endif
+
+#endif /*__BLE_DBG_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/cube_hal.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/cube_hal.h
new file mode 100644
index 000000000..c00aae92d
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/cube_hal.h
@@ -0,0 +1,48 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file cube_hal.h
+ * @author MCD Application Team
+ * @brief
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#ifndef _CUBE_HAL_H_
+#define _CUBE_HAL_H_
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "stm32wbxx_hal.h"
+#include "stm32wbxx_hal_conf.h"
+
+#define B1_Pin GPIO_PIN_13
+#define B1_GPIO_Port GPIOC
+#define USART_TX_Pin GPIO_PIN_2
+#define USART_TX_GPIO_Port GPIOA
+#define USART_RX_Pin GPIO_PIN_3
+#define USART_RX_GPIO_Port GPIOA
+#define LD2_Pin GPIO_PIN_5
+#define LD2_GPIO_Port GPIOA
+
+#define UART_TX_TIMEOUT 5
+
+#define Uart_Irq_Handler USART2_IRQHandler
+
+
+void SystemClock_Config(void);
+void Init_Device(void);
+void MX_USART2_UART_Init(void);
+
+
+#endif /* _CUBE_HAL_H_ */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/data.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/data.s
new file mode 100644
index 000000000..782844084
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/data.s
@@ -0,0 +1,28 @@
+;/**
+;******************************************************************************
+;* @file data.s
+;* @author BLE Mesh Team
+;* @version V1.07.000
+;* @date 15-June-2018
+;* @brief Memory management
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+;*/
+_bdaddr EQU 0x0807E000
+ EXPORT _bdaddr
+
+ AREA CONFIG, READONLY
+_mobleNvmBase_data
+ EXPORT _mobleNvmBase_data
+ FILL 4096, 0x00
+
+ END
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/hal_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/hal_common.h
new file mode 100644
index 000000000..d580f16a7
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/hal_common.h
@@ -0,0 +1,53 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hal_common.h
+ * @author MCD Application Team
+ * @brief Common functions of HAL file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef _HAL_H_
+#define _HAL_H_
+
+/* Includes ------------------------------------------------------------------*/
+
+#if defined(NUCLEO_L152RE) || defined(USE_STM32WBXX_NUCLEO) || USE_STM32WBXX_USB_DONGLE /* NUCLEO_L152RE */
+#include "user_if.h"
+#else /* not NUCLEO_L152RE */
+#if defined(BLUENRG1) || defined(BLUENRG2) /* BLUENRG1 or BLUENRG2 */
+#include "hal.h"
+#else /* not BLUENRG1 or BLUENRG2 */
+#error "Unsupported board"
+#endif /* BLUENRG1 or BLUENRG2 */
+#endif /* NUCLEO_L152RE */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "types.h"
+
+void SetLed(int state);
+BUTTON_STATE GetButtonState(void);
+BUTTON_STATE GetButton2State(void);
+void InitDevice(void);
+
+void ShouldSleepFunc(void);
+
+#endif /* _HAL_H_ */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/mesh_cfg_usr.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/mesh_cfg_usr.h
new file mode 100644
index 000000000..010a0aa90
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/mesh_cfg_usr.h
@@ -0,0 +1,583 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file mesh_cfg_usr.h
+ * @author MCD Application Team
+ * @brief user configurable settings
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MESH_CFG_USR_H
+#define __MESH_CFG_USR_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "ble_mesh.h"
+
+/* Exported macro ------------------------------------------------------------*/
+
+/*
+* Different features supported by BLE-Mesh. Uncomment according to application.
+* Low power feature enabled node do not support other features.
+* Do not define any other feature if Low Power feature is defined
+*/
+#define ENABLE_LOW_POWER_FEATURE
+
+/*
+* Different provision bearer supported by BLE-Mesh.
+* Define according to application.
+* At least one of PB-ADV and PB-GATT should be defined
+*/
+
+#define ENABLE_PB_ADV
+#define ENABLE_PB_GATT
+//#define ENABLE_PUB_KEY_TYPE_OOB
+#define ENABLE_AUTH_TYPE_NO_OOB
+//#define ENABLE_AUTH_TYPE_STATIC_OOB
+//#define ENABLE_AUTH_TYPE_OUTPUT_OOB
+//#define ENABLE_AUTH_TYPE_INPUT_OOB
+
+/* Static OOB Configurations */
+#define STATIC_OOB_SIZE 16U
+
+/* Output OOB Configurations */
+#define OUTPUT_OOB_SIZE 1U
+#define OUTPUT_OOB_ACTION OUTPUT_OOB_ACTION_BIT_BLINK
+
+/* Input OOB Configurations */
+#define INPUT_OOB_SIZE 1U
+#define INPUT_OOB_ACTION INPUT_OOB_ACTION_BIT_PUSH
+
+/******************************************************************************/
+/* Note: Please use Full Library configuration in project options to use the full
+ configuration of the C/C++ runtime library
+ for printf and scanf functionality */
+
+/* Enables the serial interface using Uart */
+#define ENABLE_SERIAL_INTERFACE 0
+#define ENABLE_SIG_MODELS_AT_COMMANDS 0
+#define ENABLE_VENDOR_MODELS_AT_COMMANDS 0
+#define ENABLE_UT 0
+
+/* Macros Used for user defined serial print data for models.
+Either use 0 to disable or 1 to enable
+@ TF_GENERIC -> Generic server
+@ TF_GENERIC_CLIENT -> Generic client
+@ TF_SENSOR -> Sensor server
+@ TF_LIGHT -> Lighting server
+@ TF_LIGHT_CLIENT -> Lighting client
+@ TF_LIGHT_LC -> Light LC server
+@ TF_VENDOR -> vendor model
+@ TF_CONFIG_CLIENT -> config client
+@ TF_LPN_FRND -> Friendship, Friend and Low Power
+@ TF_PROVISION -> Provisioning related
+@ TF_HANDLER -> interrupt handler
+@ TF_INIT -> main function
+@ TF_MISC -> others
+@ TF_COMMON -> common (middleware)
+@ TF_GENERIC_M -> Generic server (middleware)
+@ TF_GENERIC_CLIENT_M -> Config client (middleware)
+@ TF_SENSOR_M -> Sensor server (middleware)
+@ TF_LIGHT_M -> Lighting server (middleware)
+@ TF_LIGHT_CLIENT_M -> Lighting client (middleware)
+@ TF_LIGHT_LC_M -> Light LC server (middleware)
+@ TF_VENDOR_M -> vendor model (middleware)
+@ TF_CONFIG_CLIENT_M -> Config client (middleware)
+@ TF_NEIGHBOUR -> neighbour table
+@ TF_MEMORY
+@ TF_BEACON -> Beacons
+@ TF_SERIAL_CTRL
+*/
+/* Enabled by default */
+#define TF_GENERIC 1
+#define TF_GENERIC_CLIENT 1
+#define TF_SENSOR 1
+#define TF_LIGHT 1
+#define TF_LIGHT_CLIENT 1
+#define TF_LIGHT_LC 1
+#define TF_VENDOR 1
+#define TF_CONFIG_CLIENT 1
+#define TF_CONFIG_SERVER 1
+#define TF_LPN_FRND 1
+#define TF_PROVISION 1
+#define TF_HANDLER 1
+#define TF_INIT 1
+#define TF_MISC 1
+/* Disabled by default */
+#define TF_COMMON 0
+#define TF_GENERIC_M 0
+#define TF_GENERIC_CLIENT_M 0
+#define TF_SENSOR_M 0
+#define TF_SENSOR_CLIENT_M 0
+#define TF_LIGHT_M 0
+#define TF_LIGHT_CLIENT_M 0
+#define TF_LIGHT_LC_M 0
+#define TF_VENDOR_M 0
+#define TF_CONFIG_CLIENT_M 0
+#define TF_NEIGHBOUR 0
+#define TF_MEMORY 0
+#define TF_BEACON 0
+#define TF_SERIAL_CTRL 0
+#define TF_VENDOR_APPLI_TEST 0 /* Vendor commands testing */
+#define TF_NVM 0
+
+/*******************************************************************************
+*** Following section helps to define Device Name during Provisioning *********
+*******************************************************************************/
+
+#define DEVICE_NAME_SIZE 11
+#define DEVICE_NAME 'S','T',' ','B','L','E',' ','M','e','s','h'
+
+/*******************************************************************************
+*** Following section helps to select right configuration of Models ***********
+*******************************************************************************/
+/******************************************************************************/
+/* Define the following Macros to enable the usage of the */
+/* Server Generic Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+/* Define the following Macros to enable the usage of the Server Generic Models */
+#define ENABLE_GENERIC_MODEL_SERVER_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_LEVEL (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF_SETUP (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME (1)
+
+//#define ENABLE_GENERIC_MODEL_CLIENT_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_CLIENT_LEVEL (1)
+//#define ENABLE_GENERIC_MODEL_CLIENT_POWER_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_CLIENT_DEFAULT_TRANSITION_TIME (1)
+
+/* The Following Models are not available in this version, will be developed in
+ next version.
+*/
+/*
+#define ENABLE_GENERIC_MODEL_SERVER_POWER_LEVEL
+#define ENABLE_GENERIC_MODEL_SERVER_POWER_LEVEL_SETUP
+#define ENABLE_GENERIC_MODEL_SERVER_BATTERY
+#define ENABLE_GENERIC_MODEL_SERVER_LOCATION
+#define ENABLE_GENERIC_MODEL_SERVER_LOCATION_SETUP
+#define ENABLE_GENERIC_MODEL_SERVER_ADMIN_PROPERTY
+#define ENABLE_GENERIC_MODEL_SERVER_MANUFACTURER_PROPERTY
+#define ENABLE_GENERIC_MODEL_SERVER_USER_PROPERTY
+#define ENABLE_GENERIC_MODEL_SERVER_CLIENT_PROPERTY
+
+*/
+
+/******************************************************************************/
+/******* Define the following Macros to enable the usage of the Light Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+//#define ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_CTL (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL_HUE (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION (1)
+
+//#define ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS (1)
+//#define ENABLE_LIGHT_MODEL_CLIENT_CTL (1)
+//#define ENABLE_LIGHT_MODEL_CLIENT_HSL (1)
+
+/*
+ The following Models are managed in different file light_lc.c in middleware
+*/
+//#define ENABLE_LIGHT_MODEL_SERVER_LC (1)
+
+//#define ENABLE_LIGHT_MODEL_CLIENT_LC (1)
+
+/******************************************************************************/
+/* Define the following Macros to enable the usage of the Sensor Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+//#define ENABLE_SENSOR_MODEL_SERVER (1)
+
+//#define ENABLE_SENSOR_MODEL_CLIENT (1)
+
+/******************************************************************************/
+/* Define the following Macros to enable the usage of the time and */
+/* scene Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+//#define ENABLE_TIME_MODEL_SERVER
+//#define ENABLE_TIME_MODEL_SERVER_SETUP
+//#define ENABLE_SCENE_MODEL_SERVER
+//#define ENABLE_SCENE_MODEL_SERVER_SETUP
+
+/*
+ The Following Models are not available in this version
+*/
+//#define ENABLE_LIGHT_MODEL_SERVER_XYL
+//#define ENABLE_LIGHT_MODEL_SERVER_XYL_SETUP
+
+/******* Define the following Macros to enable the vendor model ******/
+#define ENABLE_VENDOR_MODEL_SERVER (1)
+#define GENERIC_SERVER_MODEL_PUBLISH
+
+/******************************************************************************/
+/*
+Define the Macro for enabling/disabling the Publishing with Generic on off
+or by Vendor Model.
+@ define Macro for Vendor Publishing
+@ Undefine or comment Macro for Generic On Off Publishing
+*/
+//#define VENDOR_CLIENT_MODEL_PUBLISH
+//#define GENERIC_CLIENT_MODEL_PUBLISH
+//#define LIGHT_CLIENT_MODEL_PUBLISH
+
+
+/* Define the macros for the numbers of sensor present.*/
+//#define NUMBER_OF_SENSOR 1
+//#define ENABLE_OCCUPANCY_SENSOR
+//#define ENABLE_PIR_SENSOR
+/*
+Macro is responsible for enabling and desabling the sensor publication.
+Comment this macro to disable the publication
+*/
+//#define ENABLE_SENSOR_PUBLICATION
+
+/******************************************************************************/
+
+
+/* Maximum Time period value of PWM */
+#define PWM_TIME_PERIOD 31990U
+
+/******************************************************************************/
+/***** MACROS for POWER ON-OFF CYCLE BASED UNPROVISIONING *********************/
+/******************************************************************************/
+
+/*
+Define the following Macro to check the Power-OnOff Cycles
+5 Continuous cycles of OnOff with Ontime <2 sec will cause unprovisioning
+*/
+//#define ENABLE_UNPROVISIONING_BY_POWER_ONOFF_CYCLE
+
+#define POWER_ON_OFF_CYCLES_FOR_UNPROVISIONING 5
+#define MASK_BITS_FOR_POWER_ON_OFF_CYCLES (0xFFFFFFFF << POWER_ON_OFF_CYCLES_FOR_UNPROVISIONING)
+ /* 0xFFFFFFE0 */
+#define ON_TIME_IN_SECONDS_FOR_POWER_CYCLING 2
+#define BLINK_TIMES_FOR_FACTORY_RESET 5
+
+/*
+Define the following Macro to save Generic and Light Model states in NVM
+This may result into excessive flash erase operations,
+this should be avoided to ensure flash longevity
+*/
+#define ENABLE_SAVE_MODEL_STATE_NVM
+
+/* Only one Macro will be enable at one time */
+//#define SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+//#define SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+
+
+/* Macros defined for the number of bytes saved, number of bytes dedicated for ganeric
+ model and light model.
+*/
+#define APP_NVM_GENERIC_MODEL_SIZE 16U
+#define APP_NVM_LIGHT_MODEL_SIZE 48U/*32U*/
+#define APP_NVM_MODELDATA_PER_ELEMENT_SIZE (APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE)
+//#define APP_NVM_MODEL_SIZE 50U
+#define APP_NVM_MODEL_SIZE (APP_NVM_MODELDATA_PER_ELEMENT_SIZE * APPLICATION_NUMBER_OF_ELEMENTS)
+//#define APP_NVM_MODEL_ALL_ELEMENTS_SIZE
+
+
+/*Macros are defined for the selection of the number of led and type of lighting
+ used for the application.
+*if board has one led, uncomment USER_BOARD_1LED
+*if board has cool warm leds, uncomment USER_BOARD_COOL_WHITE_LED
+*if board has RGB leds, uncomment USER_BOARD_RGB_LED
+*if board has RGB leds as well as cool warm leds,
+ uncomment USER_BOARD_COOL_WHITE_LED and USER_BOARD_RGB_LED
+*/
+/* comment ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME when using
+ USER_BOARD_COOL_WHITE_LED ,USER_BOARD_RGB_LED
+ Default transition is provided only for one led.
+*/
+//#define USER_BOARD_1LED
+//#define USER_BOARD_COOL_WHITE_LED
+//#define USER_BOARD_RGB_LED
+
+/* Pulse Width Modulation support for external LED control */
+#define ENABLE_PWM_SUPPORT 0
+
+/*******************************************************************************
+*** Following section helps to configure the Application of Mesh ***********
+*******************************************************************************/
+
+/* Max elements supported by the MESH library: 1 */
+/* Max elements in the MESH application: 1 */
+#define APPLICATION_NUMBER_OF_ELEMENTS 1
+/* Max total Models per element supported by the MESH library (SIG + Vendor): 3 */
+/* Max SIG Models per element in the MESH application */
+#define USER_SIG_MODELS_MAX_COUNT 1
+/* Max Vendor Models per element in the MESH application */
+#define USER_VENDOR_MODELS_MAX_COUNT 1
+
+
+/* Contains a 16-bit company identifier assigned by the Bluetooth SIG
+(the list is available
+@ https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers)
+For STMicroelectronics : it is 0x0030 */
+#define COMPANY_ID 0x0030
+
+/* Contains a 16-bit vendor-assigned product identifier */
+#define PRODUCT_ID 0x0002
+
+/* Contains a 16-bit vendor-assigned product version ID */
+#define PRODUCT_VERSION_ID 0x010A
+
+#define MAX_APPLICATION_PACKET_SIZE 160 /*Can go up to 160*/
+
+#define TPT_SEGMENT_COUNT (((MAX_APPLICATION_PACKET_SIZE)/12)+2)
+
+/*******************************************************************************
+********** MAC Address Configuration *******************************************
+*******************************************************************************/
+
+/*
+* Define to enable external MAC handling,
+* DONT change the Values 0x01, 0x02, 0x03
+* SELECT ONLY One of the Option
+*/
+//#define GENERATE_STATIC_RANDOM_MAC 0x01
+//#define EXTERNAL_MAC_ADDR_MGMT 0x02
+#define INTERNAL_UNIQUE_NUMBER_MAC 0x03
+
+/* Declare this value as 0x01 if the External Address is PUBLIC Address */
+/* For example like this: #define EXTERNAL_MAC_IS_PUBLIC_ADDR 0x1 */
+/* Else, by default, the external address will be treated as RANDOM */
+#define EXTERNAL_MAC_IS_PUBLIC_ADDR 0x0
+
+/******************************************************************************/
+
+
+/*******************************************************************************
+****** Following section helps to select right configuration of node ***********
+*******************************************************************************/
+/*
+* Minimum gap between successive transmissions
+* varies from 10 to 65535
+*/
+#define TR_GAP_BETWEEN_TRANSMISSION 50U
+
+
+/*
+* Friend node receive window size is 50 ms
+*/
+
+/*
+* Friend node subscription list size is 4
+*/
+
+/*
+* Friend node message queue is 16
+*/
+
+/*
+* Number of Low power nodes that can be associated with Friend node
+* varies from 1 to 10
+*/
+#define FN_NO_OF_LPNS 1U/*6U*/
+
+/*
+* For prioritizing friendship offer with good RSSI link
+* varies from 0 to 3
+* Ref @Mesh_v1.0
+* 0 -> 1
+* 1 -> 1.5
+* 2 -> 2
+* 3 -> 2.5
+*/
+#define LPN_RSSI_FACTOR_LEVEL 1U
+
+/*
+* For prioritizing friendship offer with good receive window factor
+* varies from 0 to 3
+* Ref @Mesh_v1.0
+* 0 -> 1
+* 1 -> 1.5
+* 2 -> 2
+* 3 -> 2.5
+*/
+#define LPN_RECIVE_WINDOW_FACTOR_LEVEL 1U
+
+/*
+* Minimum packets queue size required by Low Power node
+* varies from 1 to 7
+* Ref @Mesh_v1.0
+* 1 -> 2
+* 2 -> 4
+* 3 -> 8
+* 4 -> 16
+* 5 -> 32
+* 6 -> 64
+* 7 -> 128
+*/
+#define LPN_MINIMUM_QUEUE_SIZE_LOG 2U
+
+/*
+* (unit ms)
+* varies from 0x0A to 0xFF
+* Ref @Mesh_v1.0
+* 0x0A -> 10ms
+* 0xFF -> 255ms
+*/
+#define LPN_RECEIVE_DELAY 150U
+
+/*
+* Poll timeout value after which friendship cease to exist (unit 100ms)
+* varies from 0x00000A to 0x34BBFF
+* Ref @Mesh_v1.0
+* 0x00000A -> 1 second
+* 0x34BBFF -> 96 hours
+*/
+#define LPN_POLL_TIMEOUT 2000U
+
+/*
+* Maximum receive window size acceptable to low power node (unit ms)
+* varies from 0x0A to 0xFF
+* Ref @Mesh_v1.0
+* 0x0A -> 10ms
+* 0xFF -> 255ms
+*/
+#define LPN_RECEIVE_WINDOW_SIZE 255U/*55U*/
+
+/*
+* Minimum friend's subscription list size capability required by lpn
+* varies from 1 to 5
+* Ref @Mesh_v1.0
+*/
+#define LPN_SUBSCR_LIST_SIZE 2U
+
+/*
+* Frequency at which low power node would send friend request (unit 100ms)
+* varies from 0 to 255
+* 100 -> 10s
+*/
+#define LPN_FRIEND_REQUEST_FREQUENCY 50U
+
+/*
+* Frequency at which low power node would poll friend node (unit 100ms)
+* should be less than poll timeout
+* 100 -> 10s
+*/
+#define LPN_FRIEND_POLL_FREQUENCY 25U
+
+/*
+* Minimum RSSI required by low power node
+* should be less than equal to -60
+*/
+#define LPN_MINIMUM_RSSI -100
+
+/*
+* Retries to be made by lpn before termination of friendship
+* varies from 2 to 10
+*/
+#define LPN_NO_OF_RETRIES 10U
+
+/*
+* Maximum address list size buffer in
+* Friend Subscription List Add Message is 10
+*/
+
+
+/*
+* Enable or disable neighbor table
+* if defined -> enabled
+* If MAC address of neighbor changes it appears as new neighbor
+* Neighbor table update can be triggered (configurable) in following cases
+* On receiving Unprovisioned device beacon
+* On receiving Secure network beacon
+* On receiving Mesh message
+* Message with any TTL
+* Message with TTL = 0
+* if not defined -> disabled
+*/
+#define ENABLE_NEIGHBOR_TABLE
+
+/*
+* Size of neighbor table
+*/
+#define NEIGHBOR_COUNT 5U
+
+/*
+* (unit s)
+* Duration (wrt appear or last refresh)
+* for which neighbor exists in neighbor table
+*/
+#define NEIGHBOR_ALIVE_TIME 20U
+
+/*
+* Enable/disable neighbor table update with unprovisioned device beacon
+* 0: Disable neighbor table update with unprovisioned device beacon
+* 1: Enable neighbor table update with unprovisioned device beacon
+*/
+#define NEIGHBOR_UNPRVND_DEV_BEACON_NTU 1U
+
+/*
+* Enable/disable neighbor table update with secure network beacon
+* 0: Disable neighbor table update with secure network beacon
+* 1: Enable neighbor table update with secure network beacon
+*/
+#define NEIGHBOR_SECURE_NET_BEACON_NTU 0U
+
+/*
+* Enable/disable neighbor table update with TTL 0 message
+* 0: Disable neighbor table update messages
+* 1: Enable neighbor table update with messages with 0 TTL
+* 2: Enable neighbor table update with messages with any TTL
+*/
+#define NEIGHBOR_MSG_TTLX_NTU 0U
+
+/*******************************************************************************
+*** Following section helps to configure the LEDs of Application of Mesh ***
+*******************************************************************************/
+
+#if defined USE_STM32WBXX_NUCLEO || defined USE_STM32WBXX_USB_DONGLE
+ #define SINGLE_LED PWM4
+ #define COOL_LED PWM0
+ #define WARM_LED PWM1
+ #define RED_LED PWM2
+ #define GREEN_LED PWM3
+ #define BLUE_LED PWM4
+#endif
+
+
+/* Exported variables -------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+#endif /* __MESH_CFG_USR_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.c
new file mode 100644
index 000000000..4d3fa8a2d
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.c
@@ -0,0 +1,1163 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file models_if.c
+ * @author MCD Application Team
+ * @brief Mesh Modes interface file of the application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "appli_mesh.h"
+#include "appli_nvm.h"
+#include "ble_hci_le.h"
+#include "models_if.h"
+
+#include "common.h"
+#include "generic.h"
+#include "light.h"
+#include "light_lc.h"
+#include "time_scene.h"
+#include "sensors.h"
+#include "vendor.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "appli_light_lc.h"
+#include "appli_sensor.h"
+#include "appli_vendor.h"
+#include "config_client.h"
+#include "generic_client.h"
+#include "light_client.h"
+#include "sensors_client.h"
+#include "appli_generic_client.h"
+#include "appli_light_client.h"
+#include "appli_sensors_client.h"
+
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+#include "PWM_config.h"
+#include "PWM_handlers.h"
+#endif
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+/* Private variables ---------------------------------------------------------*/
+MOBLEUINT8 Led_Value = 0;
+
+MOBLEUINT8 ButtonIndex_Value = 0;
+
+/* Private typedef -----------------------------------------------------------*/
+#pragma pack(push, 1)
+
+typedef struct
+{
+ MOBLE_ADDRESS peer;
+ MOBLE_ADDRESS dst;
+ MOBLEUINT8 command;
+ MOBLEUINT8 elementIndex;
+ MOBLEUINT8 appKeyOffset;
+ MOBLEUINT8 netKeyOffset;
+ MOBLEUINT8 data[DATA_BUFFER_LENGTH]; /* 8-Bytes response packet */
+ MOBLEUINT32 length;
+} APPLI_SEND_RESPONSE_MODULE;
+
+
+typedef struct
+{
+ MOBLEUINT8 packet_count;
+ MOBLEUINT32 send_time;
+ APPLI_SEND_RESPONSE_MODULE* head;
+ MOBLEUINT8 head_index;
+ APPLI_SEND_RESPONSE_MODULE packet[MAX_PENDING_PACKETS_QUE_SIZE];
+} APPLI_PENDING_PACKETS;
+
+#pragma pack(pop)
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+
+
+/* Private variables ---------------------------------------------------------*/
+
+MOBLEUINT8 pGeneric_OnOffParam[sizeof(Generic_OnOffParam_t)];
+MOBLEUINT8 pGeneric_LevelParam[sizeof(Generic_LevelParam_t)];
+MOBLEUINT8 pGeneric_DeltaLevelParam[sizeof(Generic_DeltaLevelParam_t)];
+MOBLEUINT8 pGeneric_MoveLevelParam[sizeof(Generic_LevelMoveParam_t)];
+MOBLEUINT8 pGeneric_PowerOnOffParam[sizeof(Generic_PowerOnOffParam_t)];
+MOBLEUINT8 pGeneric_DefaultTransitionTimeParam[sizeof(Generic_DefaultTransitionParam_t)];
+
+MOBLEUINT8 pLightnessParam[sizeof(Light_LightnessParam_t)];
+MOBLEUINT8 pLightnessRangeParam[sizeof(Light_LightnessRangeParam_t)];
+
+MOBLEUINT8 pLightCtlParam[sizeof(Light_CtlParam_t)];
+MOBLEUINT8 pLightCtlTemperatureParam[sizeof(Light_CtlTemperatureParam_t)];
+MOBLEUINT8 pLightCtlTemperatureRangeParam[sizeof(Light_CtlTemperatureRangeParam_t)];
+MOBLEUINT8 pLightCtlDefaultParam[sizeof(Light_CtlDefaultParam_t)];
+
+MOBLEUINT8 pLightHslParam[sizeof(Light_HslParam_t)];
+MOBLEUINT8 pLightHslRangeParam[sizeof(Light_HslRangeParam_t)];
+MOBLEUINT8 pLightHslHueParam[sizeof(Light_HslHueParam_t)];
+MOBLEUINT8 pLightHslSaturationParam[sizeof(Light_HslSaturationParam_t)];
+
+MOBLEUINT8 pLightLCModeParam[sizeof(Light_LC_ModeParam_t)];
+MOBLEUINT8 pLightLCOccupancyModeParam[sizeof(Light_LC_ModeParam_t)];
+MOBLEUINT8 pLightLCOnOffParam[sizeof(Light_LC_OnOffParam_t)];
+MOBLEUINT8 pLightLCPropertyParam[6];
+
+MOBLEUINT8 pSensorsCadenceParam[sizeof(sensor_CadenceCbParam_t)];
+MOBLEUINT8 pSensorsSettingParam[sizeof(sensor_SettingCbParams_t)];
+
+APPLI_PENDING_PACKETS Appli_PendingPackets = {0};
+
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+__attribute__((aligned(4)))const MOBLE_VENDOR_CB_MAP vendor_cb =
+{
+ Vendor_WriteLocalDataCb,
+ Vendor_ReadLocalDataCb,
+ Vendor_OnResponseDataCb
+};
+
+__attribute__((aligned(4)))const Appli_Vendor_cb_t VendorAppli_cb =
+{
+ /*Vendor Commands*/
+ Appli_Vendor_LEDControl,
+ Appli_Vendor_DeviceInfo,
+ Appli_Vendor_Test,
+ Appli_LedCtrl,
+ Appli_GetTestValue,
+ Appli_Vendor_Data_write
+};
+#endif
+
+__attribute__((aligned(4)))const Appli_Generic_cb_t GenericAppli_cb =
+{
+ /* Generic OnOff callbacks */
+ Appli_Generic_OnOff_Set,
+ /* Generic OnOff Status callbacks */
+ Appli_Generic_OnOff_Status,
+ /* Generic Level callbacks */
+ Appli_Generic_Level_Set,
+ Appli_Generic_Delta_Set,
+ Appli_Generic_Move_Set,
+ /* Generic Level Status callbacks */
+ Appli_Generic_Level_Status,
+ /* Generic Power on off callbacks */
+ Appli_Generic_PowerOnOff_Set,
+ /* Generic Power on off callbacks */
+ Appli_Generic_PowerOnOff_Status,
+
+ /* Generic Default transition time callbacks */
+ Appli_Generic_DefaultTransitionTime_Set,
+ /* Generic Default transition time callbacks */
+ Appli_Generic_DefaultTransitionTime_Status
+};
+
+__attribute__((aligned(4)))const Appli_Generic_State_cb_t Appli_GenericState_cb =
+{
+
+ /* Generic Get On Off status */
+ Appli_Generic_GetOnOffStatus,
+ Appli_Generic_GetOnOffValue,
+ /* Generic Get level status */
+ Appli_Generic_GetLevelStatus,
+ /* Generic Get Power on off status */
+ Appli_Generic_GetPowerOnOffStatus,
+ /* Generic Get Default transition time status */
+ Appli_Generic_GetDefaultTransitionStatus
+};
+
+__attribute__((aligned(4)))const Appli_Light_GetStatus_cb_t Appli_Light_GetStatus_cb =
+{
+ Appli_Light_GetLightnessStatus,
+ Appli_Light_GetLightnessLinearStatus,
+ Appli_Light_GetLightnessDefaultStatus,
+ Appli_Light_GetLightnessLastStatus,
+ Appli_Light_GetLightnessRangeStatus,
+ Appli_Light_GetCtlLightStatus,
+ Appli_Light_GetCtlTargetStatus,
+ Appli_Light_GetCtlTemperatureStatus,
+ Appli_Light_GetCtlTemperatureRange,
+ Appli_Light_GetCtlDefaultStatus,
+ Appli_Light_GetHslStatus,
+ Appli_Light_GetHslTargetStatus,
+ Appli_Light_GetHslHueStatus,
+ Appli_Light_GetHslSaturationStatus,
+ Appli_Light_GetHslHueRange,
+ Appli_Light_GetHslSatRange,
+ Appli_Light_GetHslDefaultStatus
+};
+
+
+__attribute__((aligned(4)))const Appli_Light_cb_t LightAppli_cb =
+{
+ /* Light Lightness callbacks */
+ Appli_Light_Lightness_Set,
+ Appli_Light_Lightness_Status,
+
+ Appli_Light_Lightness_Linear_Set,
+ Appli_Light_Lightness_Linear_Status,
+
+ Appli_Light_Lightness_Default_Set,
+ Appli_Light_Lightness_Default_Status,
+
+ Appli_Light_Lightness_Last_Set,
+ Appli_Light_Lightness_Last_Status,
+
+ Appli_Light_Lightness_Range_Set,
+ Appli_Light_Lightness_Range_Status,
+
+ Appli_Light_Ctl_Set,
+ Appli_Light_Ctl_Status,
+
+ Appli_Light_CtlTemperature_Set,
+ Appli_Light_CtlTemperature_Status,
+
+ Appli_Light_CtlTemperature_Range_Set,
+ Appli_Light_CtlTemperature_Range_Status,
+
+ Appli_Light_CtlDefault_Set,
+ Appli_Light_CtlDefault_Status,
+
+ Appli_Light_Hsl_Set,
+ Appli_Light_Hsl_Status,
+
+ Appli_Light_HslHue_Set,
+ Appli_Light_HslHue_Status,
+
+ Appli_Light_HslSaturation_Set,
+ Appli_Light_HslSaturation_Status,
+
+ Appli_Light_HslDefault_Set,
+ Appli_Light_HslDefault_Status,
+
+ Appli_Light_HslRange_Set,
+ Appli_Light_HslRange_Status
+};
+
+/*#ifdef ENABLE_SENSOR_MODEL_CLIENT*/
+__attribute__((aligned(4))) const sensor_client_cb_t SensorAppli_cb =
+{
+ Appli_Sensor_Descriptor_Status,
+ Appli_Sensor_Cadence_Status,
+ Appli_Sensor_Settings_Status,
+ Appli_Sensor_Setting_Status,
+ Appli_Sensor_Status,
+ Appli_Sensor_Column_Status,
+ Appli_Sensor_Series_Status
+};
+/*#endif*/
+
+__attribute__((aligned(4)))const MODEL_SIG_cb_t Model_SIG_cb[] =
+{
+#ifdef ENABLE_GENERIC_MODEL_SERVER
+ {
+ GenericModelServer_GetOpcodeTableCb,
+ GenericModelServer_GetStatusRequestCb,
+ GenericModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER
+ {
+ LightModelServer_GetOpcodeTableCb,
+ LightModelServer_GetStatusRequestCb,
+ LightModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_SENSOR_MODEL_SERVER
+{
+ SensorModelServer_GetOpcodeTableCb,
+ SensorModelServer_GetStatusRequestCb,
+ SensorModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_TIME_SCENE_MODEL_SERVER
+ {
+ Time_SceneModelServer_GetOpcodeTableCb,
+ Time_SceneModelServer_GetStatusRequestCb,
+ Time_SceneModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ {
+ LightLcServer_GetOpcodeTableCb,
+ LightLcServer_GetStatusRequestCb,
+ LightLcServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_GENERIC_MODEL_CLIENT
+ {
+ GenericModelClient_GetOpcodeTableCb,
+ GenericModelClient_GetStatusRequestCb,
+ GenericModelClient_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_CONFIG_MODEL_CLIENT
+ {
+ ConfigClientModel_GetOpcodeTableCb,
+ ConfigClientModel_GetStatusRequestCb,
+ ConfigClientModel_ProcessMessageCb
+ },
+#endif
+#ifdef ENABLE_LIGHT_MODEL_CLIENT
+ {
+ LightModelClient_GetOpcodeTableCb,
+ LightModelClient_GetStatusRequestCb,
+ LightModelClient_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_SENSOR_MODEL_CLIENT
+ {
+ SensorsModelClient_GetOpcodeTableCb,
+ SensorsModelClient_GetStatusRequestCb,
+ SensorsModelClient_ProcessMessageCb
+ },
+#endif
+
+ {
+ 0, 0, 0
+ }
+};
+
+__attribute__((aligned(4)))const APPLI_SAVE_MODEL_STATE_CB SaveModelState_cb = AppliNvm_SaveModelState;
+
+#if 0
+__attribute__((aligned(4)))const APPLI_SAVE_MODEL_TEST_STATE_CB SaveModelTestState_cb = AppliNVM_Save_FlashTesting;
+__attribute__((aligned(4)))const APPLI_RETRIEVE_MODEL_TEST_STATE_CB RetrieveModelTestState_cb = AppliNVM_Retrieve_FlashTesting;
+#endif
+
+#define MODEL_SIG_COUNT ( ( sizeof(Model_SIG_cb)/sizeof(Model_SIG_cb[0]) - 1 ))
+
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+__attribute__((aligned(4)))const MODEL_Vendor_cb_t Model_Vendor_cb[] =
+{
+ {
+ VendorModel_PID1_GetOpcodeTableCb,
+ VendorModel_PID1_GetStatusRequestCb,
+ VendorModel_PID1_ProcessMessageCb
+ },
+ { 0, 0,0 }
+};
+
+#define MODEL_VENDOR_COUNT ( ( sizeof(Model_Vendor_cb)/sizeof(Model_Vendor_cb[0]) - 1 ))
+#endif
+
+extern MOBLEUINT8 NumberOfElements;
+
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+void GetApplicationVendorModels(const MODEL_Vendor_cb_t** pModelsTable, MOBLEUINT32* VendorModelscount)
+{
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+ *pModelsTable = Model_Vendor_cb ;
+ *VendorModelscount = MODEL_VENDOR_COUNT;
+
+ TRACE_M(TF_VENDOR_M, "GetApplicationVendorModels \r\n");
+#endif
+}
+
+/**
+* @brief Initialization Commands for Models
+* @param void
+* @retval void
+*/
+void BLEMesh_ModelsInit(void)
+{
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+
+ MOBLEUINT16 modelStateLoad_Size;
+ MOBLEUINT8 modelStateLoadBuff[APP_NVM_MODEL_SIZE];
+
+#ifdef CLIENT
+ MOBLEUINT8 PrvnStateLoad_Size;
+ MOBLEUINT8 PrvnlStateLoadBuff[16];
+#endif
+
+#if 0
+#ifdef ENABLE_NVM_TEST
+ /* Testing of flash code */
+ Device_FlashTesting();
+#endif
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ /* Inintialise the light model range states with default values */
+ Light_ModelRangeInit();
+#endif
+
+ /* Callbacks used by BlueNRG-Mesh Models */
+ BLEMesh_SetSIGModelsCbMap(Model_SIG_cb, MODEL_SIG_COUNT);
+
+#if defined ENABLE_SENSOR_MODEL_SERVER && !defined CUSTOM_BOARD_PWM_SELECTION
+ /* Initialization of sensors */
+ Appli_Sensor_Init();
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ Appli_Light_LCs_Init();
+#endif
+#endif
+
+ /* Load generic model states from nvm */
+ AppliNvm_LoadModelState(modelStateLoadBuff, &modelStateLoad_Size);
+ if (modelStateLoad_Size != 0)
+ {
+ /* update states of generic model */
+ Model_RestoreStates(modelStateLoadBuff, modelStateLoad_Size);
+ }
+
+#ifdef CLIENT
+ AppliPrvnNvm_LoadData(PrvnlStateLoadBuff,&PrvnStateLoad_Size);
+#endif
+
+}
+
+/**
+* @brief Process Commands for Models
+* @param void
+* @retval void
+*/
+void BLEMesh_ModelsProcess(void)
+{
+#ifdef ENABLE_GENERIC_MODEL_SERVER
+ Generic_Process();
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER
+ Lighting_Process();
+#endif
+
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+ Vendor_Process();
+#endif
+/* Define this Macro to enable the publication of sensors data.*/
+#if defined ENABLE_SENSOR_MODEL_SERVER
+ Sensor_Process();
+#endif
+
+#if ENABLE_APPLI_TEST
+ Test_Process();
+#endif
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+ ModelSave_Process();
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ Light_LC_Process();
+#endif
+}
+
+/**
+* @brief Publish Command for Models
+* @param void
+* @retval void
+*/
+void BLEMesh_ModelsCommand(void)
+{
+#ifdef VENDOR_CLIENT_MODEL_PUBLISH
+ Appli_Vendor_Publish(BLEMesh_GetAddress());
+#endif
+
+#if defined(GENERIC_CLIENT_MODEL_PUBLISH) || defined(LIGHT_CLIENT_MODEL_PUBLISH)
+ Led_Value ^= APPLI_LED_ON;
+ pGeneric_OnOffParam[0] = Led_Value; /* OnOff parameter byte 0 : The target value of the Generic Onoff state */
+
+ pLightLCModeParam[0] = Led_Value;
+ pLightLCOccupancyModeParam[0] = Led_Value;
+ pLightLCOnOffParam[0] = Led_Value;
+
+ /*This Switch-case allows to quickly set the different Models Messages parameters in order to demonstrate Client APIs functioning */
+ switch (ButtonIndex_Value){
+ case 0:
+ ButtonIndex_Value=0x1;
+
+ pGeneric_LevelParam[0]= 0xE8; /* Level parameter byte 0 : The target value of the Generic Level state */
+ pGeneric_LevelParam[1]= 0x03; /* Level parameter byte 1 : The target value of the Generic Level state */
+
+ pGeneric_DeltaLevelParam[0]= 0xE8; /* Delta Level parameter byte 0 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[1]= 0x03; /* Delta Level parameter byte 1 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[2]= 0x00; /* Delta Level parameter byte 2 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[3]= 0x00; /* Delta Level parameter byte 3 : The Delta change of the Generic Level state */
+
+ pGeneric_MoveLevelParam[0]= 0xE8; /*Move Delta Level parameter byte 0 : The Delta Level step to calculate Move speed for the Generic Level state */
+ pGeneric_MoveLevelParam[1]= 0x03; /*Move Delta Level parameter byte 1 : The Delta Level step to calculate Move speed for the Generic Level state */
+
+ pGeneric_DefaultTransitionTimeParam[0]=0x0F; /*Transition time parameter byte 0 : The value of the Generic Default Transition Time state */
+
+ pGeneric_PowerOnOffParam[0]=0x1; /*OnPowerUp parameter byte 0 : The value of the Generic OnPowerUp state */
+
+ pLightnessParam[0] = 0xE8; /*Lightness parameter byte 0 : The target value of the Light Lightness Actual/Linear/Default state */
+ pLightnessParam[1] = 0x03; /*Lightness parameter byte 1 : The target value of the Light Lightness Actual/Linear/Default state */
+
+ pLightnessRangeParam[0] = 0xE8; /*Lightness Range Min parameter byte 0 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[1] = 0x03; /*Lightness Range Min parameter byte 1 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[2] = 0x88; /*Lightness Range Max parameter byte 0 : The value of the Lightness Range Max field of the Light Lightness Range state */
+ pLightnessRangeParam[3] = 0x13; /*Lightness Range Max parameter byte 1 : The value of the Lightness Range Max field of the Light Lightness Range state */
+
+ pLightCtlParam[0] = 0xE8; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[1] = 0x03; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[2] = 0xE8; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[4] = 0xE8; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlParam[5] = 0x03; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureParam[0] = 0xE8; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[1] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[2] = 0xE8; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlTemperatureParam[3] = 0x03; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureRangeParam[0] = 0xE8; /*Temperature Range Min parameter byte 0 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[1] = 0x03; /*Temperature Range Min parameter byte 1 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[2] = 0x88; /*Temperature Range Max parameter byte 0 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[3] = 0x13; /*Temperature Range Max parameter byte 1 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+
+ pLightCtlDefaultParam[0] = 0xE8; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[1] = 0x03; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[2] = 0xE8; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[4] = 0xE8; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV Default state*/
+ pLightCtlDefaultParam[5] = 0x03; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV Default state*/
+ /** Red color **/
+ pLightHslParam[0] = 0x44; /*HSL Lightness parameter byte 0 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[1] = 0x44; /*HSL Lightness parameter byte 1 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[2] = 0x64; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslParam[3] = 0x04; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+ pLightHslParam[4] = 0xff; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslParam[5] = 0xff; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ pLightHslRangeParam[0] = 0xE8; /*HSL Hue Range Min parameter byte 0 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[1] = 0x03; /*HSL Hue Range Min parameter byte 1 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[2] = 0x88; /*HSL Hue Range Max parameter byte 0 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[3] = 0x13; /*HSL Hue Range Max parameter byte 1 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[4] = 0x88; /*HSL Saturation Min parameter byte 0 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[5] = 0x13; /*HSL Saturation Min parameter byte 1 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[6] = 0x70; /*HSL Saturation Max parameter byte 0 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[7] = 0x17; /*HSL Saturation Max parameter byte 1 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+
+ pLightHslHueParam[0] = 0xE8; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslHueParam[1] = 0x03; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+
+ pLightHslSaturationParam[0] = 0xE8; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslSaturationParam[1] = 0x03; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ /*LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B*/
+ pLightLCPropertyParam[0]= 0x2B; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[1]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[2]= 0x44; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[3]= 0x44; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[4]= 0x44; /* Property ID byte 2 : Property ID identifying a Light LC Property.*/
+ break;
+
+ case 1:
+ ButtonIndex_Value=0x2;
+
+ pGeneric_LevelParam[0]= 0xff; /* Level parameter byte 0 : The target value of the Generic Level state */
+ pGeneric_LevelParam[1]= 0x7f; /* Level parameter byte 1 : The target value of the Generic Level state */
+
+ pGeneric_DeltaLevelParam[0]= 0x10; /* Delta Level parameter byte 0 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[1]= 0x27; /* Delta Level parameter byte 1 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[2]= 0x00; /* Delta Level parameter byte 2 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[3]= 0x00; /* Delta Level parameter byte 3 : The Delta change of the Generic Level state */
+
+ pGeneric_MoveLevelParam[0]= 0xff; /*Move Delta Level parameter byte 0 : The Delta Level step to calculate Move speed for the Generic Level state */
+ pGeneric_MoveLevelParam[1]= 0x7f; /*Move Delta Level parameter byte 1 : The Delta Level step to calculate Move speed for the Generic Level state */
+
+ pGeneric_DefaultTransitionTimeParam[0]=0x10; /*Transition time parameter byte 0 : The value of the Generic Default Transition Time state */
+
+ pGeneric_PowerOnOffParam[0]=0x2; /*OnPowerUp parameter byte 0 : The value of the Generic OnPowerUp state. */
+
+ pLightnessParam[0] = 0xff; /*Lightness parameter byte 0 : The target value of the Light Lightness Actual/Linear/Default state */
+ pLightnessParam[1] = 0xff; /*Lightness parameter byte 1 : The target value of the Light Lightness Actual/Linear/Default state */
+
+ pLightnessRangeParam[0] = 0x00; /*Lightness Range Min parameter byte 0 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[1] = 0x00; /*Lightness Range Min parameter byte 1 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[2] = 0xff; /*Lightness Range Max parameter byte 0 : The value of the Lightness Range Max field of the Light Lightness Range state */
+ pLightnessRangeParam[3] = 0xff; /*Lightness Range Max parameter byte 1 : The value of the Lightness Range Max field of the Light Lightness Range state */
+
+ pLightCtlParam[0] = 0xff; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[1] = 0xff; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[3] = 0x4e; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[4] = 0xff; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlParam[5] = 0x7f; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureParam[0] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[1] = 0x4e; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[2] = 0xff; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlTemperatureParam[3] = 0x7f; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureRangeParam[0] = 0x19; /*Temperature Range Min parameter byte 0 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[1] = 0x4e; /*Temperature Range Min parameter byte 1 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[2] = 0x20; /*Temperature Range Max parameter byte 0 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[3] = 0x4e; /*Temperature Range Max parameter byte 1 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+
+ pLightCtlDefaultParam[0] = 0xff; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[1] = 0xff; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[3] = 0x4e; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[4] = 0xff; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV Default state*/
+ pLightCtlDefaultParam[5] = 0x7f; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV Default state*/
+ /** Green color **/
+ pLightHslParam[0] = 0xc6; /*HSL Lightness parameter byte 0 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[1] = 0x46; /*HSL Lightness parameter byte 1 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[2] = 0x19; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslParam[3] = 0x51; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+ pLightHslParam[4] = 0xd7; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslParam[5] = 0xed; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ pLightHslRangeParam[0] = 0x00; /*HSL Hue Range Min parameter byte 0 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[1] = 0xf0; /*HSL Hue Range Min parameter byte 1 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[2] = 0xff; /*HSL Hue Range Max parameter byte 0 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[3] = 0xff; /*HSL Hue Range Max parameter byte 1 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[4] = 0x00; /*HSL Saturation Min parameter byte 0 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[5] = 0xe0; /*HSL Saturation Min parameter byte 1 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[6] = 0xff; /*HSL Saturation Max parameter byte 0 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[7] = 0xef; /*HSL Saturation Max parameter byte 1 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+
+ pLightHslHueParam[0] = 0xff; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslHueParam[1] = 0xff; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+
+ pLightHslSaturationParam[0] = 0xff; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslSaturationParam[1] = 0xff; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ /*LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B*/
+ pLightLCPropertyParam[0]= 0x2B; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[1]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[2]= 0x01; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[3]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[4]= 0x10; /* Property ID byte 2 : Property ID identifying a Light LC Property.*/
+ break;
+
+ case 2:
+ ButtonIndex_Value=0x0;
+
+ pGeneric_LevelParam[0]= 0x00; /* Level parameter byte 0 : The target value of the Generic Level state */
+ pGeneric_LevelParam[1]= 0x00; /* Level parameter byte 1 : The target value of the Generic Level state */
+
+ pGeneric_DeltaLevelParam[0]= 0x00; /* Delta Level parameter byte 0 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[1]= 0x00; /* Delta Level parameter byte 1 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[2]= 0x00; /* Delta Level parameter byte 2 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[3]= 0x00; /* Delta Level parameter byte 3 : The Delta change of the Generic Level state */
+
+ pGeneric_MoveLevelParam[0]= 0x00; /*Move Delta Level parameter byte 0 : The Delta Level step to calculate Move speed for the Generic Level state */
+ pGeneric_MoveLevelParam[1]= 0x00; /*Move Delta Level parameter byte 1 : The Delta Level step to calculate Move speed for the Generic Level state */
+
+ pGeneric_DefaultTransitionTimeParam[0]=0x00; /*Transition time parameter byte 0 : The value of the Generic Default Transition Time state */
+
+ pGeneric_PowerOnOffParam[0]=0x0; /*OnPowerUp parameter byte 0 : The value of the Generic OnPowerUp state. */
+
+ pLightnessParam[0] = 0x00; /*Lightness parameter byte 0 : The target value of the Light Lightness Actual/Linear/Default state */
+ pLightnessParam[1] = 0x00; /*Lightness parameter byte 1 : The target value of the Light Lightness Actual/Linear/Default state */
+
+ pLightnessRangeParam[0] = 0x00; /*Lightness Range Min parameter byte 0 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[1] = 0x00; /*Lightness Range Min parameter byte 1 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[2] = 0x00; /*Lightness Range Max parameter byte 0 : The value of the Lightness Range Max field of the Light Lightness Range state */
+ pLightnessRangeParam[3] = 0x10; /*Lightness Range Max parameter byte 1 : The value of the Lightness Range Max field of the Light Lightness Range state */
+
+ pLightCtlParam[0] = 0x00; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[1] = 0x00; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[4] = 0x00; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlParam[5] = 0x00; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureParam[0] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[1] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[2] = 0x00; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlTemperatureParam[3] = 0x00; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureRangeParam[0] = 0x20; /*Temperature Range Min parameter byte 0 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[1] = 0x03; /*Temperature Range Min parameter byte 1 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[2] = 0x21; /*Temperature Range Max parameter byte 0 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[3] = 0x03; /*Temperature Range Max parameter byte 1 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+
+ pLightCtlDefaultParam[0] = 0x00; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness Default state */
+ pLightCtlDefaultParam[1] = 0x00; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness Default state */
+ pLightCtlDefaultParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature Default state */
+ pLightCtlDefaultParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature Default state */
+ pLightCtlDefaultParam[4] = 0x00; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV Default state */
+ pLightCtlDefaultParam[5] = 0x00; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV Default state */
+
+ pLightHslParam[0] = 0x00; /*HSL Lightness parameter byte 0 : The target value of the Light HSL Lightness state */
+ pLightHslParam[1] = 0x00; /*HSL Lightness parameter byte 1 : The target value of the Light HSL Lightness state */
+ pLightHslParam[2] = 0x00; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state */
+ pLightHslParam[3] = 0x00; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state */
+ pLightHslParam[4] = 0x00; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state */
+ pLightHslParam[5] = 0x00; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state */
+
+ pLightHslRangeParam[0] = 0x00; /*HSL Hue Range Min parameter byte 0 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[1] = 0x00; /*HSL Hue Range Min parameter byte 1 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[2] = 0x00; /*HSL Hue Range Max parameter byte 0 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[3] = 0x10; /*HSL Hue Range Max parameter byte 1 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[4] = 0x00; /*HSL Saturation Min parameter byte 0 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[5] = 0x00; /*HSL Saturation Min parameter byte 1 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[6] = 0x00; /*SL Saturation Max parameter byte 0 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[7] = 0x20; /*HSL Saturation Max parameter byte 1 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+
+ pLightHslHueParam[0] = 0x00; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state */
+ pLightHslHueParam[1] = 0x00; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state */
+
+ pLightHslSaturationParam[0] = 0x00; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslSaturationParam[1] = 0x00; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ /*LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B */
+ pLightLCPropertyParam[0]= 0x2B; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[1]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[2]= 0x00; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[3]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[4]= 0x00; /* Property ID byte 2 : Property ID identifying a Light LC Property.*/
+ break;
+
+ default:
+ break;
+ }
+
+
+#ifdef GENERIC_CLIENT_MODEL_PUBLISH
+ /** GENERIC ONOFF **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API ONOFF SET ACK ------------- \r\n");
+ Appli_GenericClient_API(0, GENERIC_ON_OFF_SET_ACK, pGeneric_OnOffParam);
+ */
+ TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API ONOFF SET UNACK ------------- \r\n");
+ Appli_GenericClient_API(0, GENERIC_ON_OFF_SET_UNACK, pGeneric_OnOffParam);
+
+ /** GENERIC LEVEL **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API LEVEL SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_LEVEL_SET_ACK, pGeneric_LevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API LEVEL SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_LEVEL_SET_UNACK, pGeneric_LevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DELTA LEVEL SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DELTA_SET, pGeneric_DeltaLevelParam);*/
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DELTA LEVEL SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DELTA_SET_UNACK, pGeneric_DeltaLevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API MOVE DELTA LEVEL SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_MOVE_SET, pGeneric_MoveLevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API MOVE DELTA LEVEL SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_MOVE_SET_UNACK, pGeneric_MoveLevelParam); */
+
+ /** GENERIC POWER ONOFF **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API POWER ON OFF SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_POWER_ON_OFF_SET, pGeneric_PowerOnOffParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API POWER ON OFF SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_POWER_ON_OFF_SET_UNACK, pGeneric_PowerOnOffParam); */
+
+ /** GENERIC TRANSITION TIME **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DEFAULT TRANSITION TIME SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DEFAULT_TRANSITION_TIME_SET, pGeneric_DefaultTransitionTimeParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DEFAULT TRANSITION TIME SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DEFAULT_TRANSITION_TIME_SET_UNACK, pGeneric_DefaultTransitionTimeParam); */
+#endif
+
+#ifdef LIGHT_CLIENT_MODEL_PUBLISH
+ /** LIGHT LIGHTNESS **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_SET, pLightnessParam); */
+/* */
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_SET_UNACK, pLightnessParam); */
+
+ /** LIGHT LIGHTNESS LINEAR **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET LINEAR ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_LINEAR_SET, pLightnessParam); */
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET LINEAR UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_LINEAR_SET_UNACK, pLightnessParam); */
+
+ /** LIGHT LIGHTNESS DEFAULT **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS DEFAULT SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_DEFAULT_SET, pLightnessParam); */
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS DEFAULT SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_DEFAULT_SET_UNACK, pLightnessParam); */
+
+ /** LIGHT LIGHTNESS RANGE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS RANGE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_RANGE_SET, pLightnessRangeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS RANGE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_RANGE_SET_UNACK, pLightnessRangeParam);*/
+
+ /** LIGHT LIGHTNESS CTL **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_SET, pLightCtlParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_SET_UNACK, pLightCtlParam);*/
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE**/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_SET, pLightCtlTemperatureParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_SET_UNACK, pLightCtlTemperatureParam);*/
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE RANGE**/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE RANGE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_RANGE_SET, pLightCtlTemperatureRangeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE RANGE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACK, pLightCtlTemperatureRangeParam);*/
+
+ /** LIGHT LIGHTNESS CTL DEFAULT**/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL DEFAULT SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_DEFAULT_SET, pLightCtlDefaultParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL DEFAULT SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_DEFAULT_SET_UNACK, pLightCtlDefaultParam);*/
+
+ /** LIGHT LIGHTNESS HSL **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SET, pLightHslParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SET_UNACK, pLightHslParam);*/
+
+ /** LIGHT LIGHTNESS HSL DEFAULT **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL DEFAULT SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_DEFAULT_SET, pLightHslParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL DEFAULT SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_DEFAULT_SET_UNACK, pLightHslParam);*/
+
+ /** LIGHT LIGHTNESS HSL RANGE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL RANGE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_RANGE_SET, pLightHslRangeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL RANGE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_RANGE_SET_UNACK, pLightHslRangeParam);*/
+
+ /** LIGHT LIGHTNESS HSL HUE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL HUE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_HUE_SET, pLightHslHueParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL HUE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_HUE_SET_UNACK, pLightHslHueParam);*/
+
+ /** LIGHT LIGHTNESS HSL SATURATION **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SATURATION SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SATURATION_SET, pLightHslSaturationParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SATURATION SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SATURATION_SET_UNACK, pLightHslSaturationParam);*/
+
+ /** LIGHT LC MODE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC MODE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_MODE_SET, pLightLCModeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC MODE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_MODE_SET_UNACK, pLightLCModeParam);*/
+
+ /** LIGHT LC OM **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC OM SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_OM_SET, pLightLCOccupancyModeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC OM SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_OM_SET_UNACK, pLightLCOccupancyModeParam);*/
+
+ /** LIGHT LC ONOFF **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC ONOFF SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_ON_OFF_SET, pLightLCOnOffParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC ONOFF SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_ON_OFF_SET_UNACK, pLightLCOnOffParam);*/
+
+ /** LIGHT LC PROPERTY **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC PROPERTY SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_PROPERTY_SET, pLightLCPropertyParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC PROPERTY SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_PROPERTY_SET_UNACK, pLightLCPropertyParam);*/
+#endif
+#endif
+
+ #ifdef ENABLE_SENSOR_MODEL_CLIENT
+ /** SENSOR CADENCE**/
+ /*
+ PRESENT_AMBIENT_TEMPERATURE_PID : 0x004F
+ */
+ pSensorsCadenceParam[0]= 0x4F; /* Property ID byte 0 : Property ID for the sensor.*/
+ pSensorsCadenceParam[1]= 0x00; /* Property ID byte 1 : Property ID for the sensor.*/
+
+ pSensorsCadenceParam[2]= 0x81; /* Fast Cadence Period Divisor bits 0-7: Divisor for the Publish Period.*/
+ /* Status Trigger Type bit 8 : Defines the unit and format of the Status Trigger Delta fields.*/
+ pSensorsCadenceParam[3]= 0x11; /* Status Trigger Delta Down byte 0 : Delta down value that triggers a status message.*/
+ pSensorsCadenceParam[4]= 0x11; /* Status Trigger Delta Down byte 1 : Delta down value that triggers a status message.*/
+
+ pSensorsCadenceParam[5]= 0x22; /* Status Trigger Delta Up byte 0 : Delta down value that triggers a status message.*/
+ pSensorsCadenceParam[6]= 0x22; /* Status Trigger Delta Up byte 1 : Delta down value that triggers a status message.*/
+
+ pSensorsCadenceParam[7]= 0x10; /* Status Min Interval byte 0 : Minimum interval between two consecutive Status messages. */
+
+ pSensorsCadenceParam[8]= 0x33; /* Fast Cadence Low byte 0 : Low value for the fast cadence range.*/
+
+ pSensorsCadenceParam[9]= 0x44; /* Fast Cadence High byte 0 : High value for the fast cadence range.*/
+
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR CADENCE SET ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_CADENCE_SET, pSensorsCadenceParam);*/
+
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR CADENCE SET UNACK ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_CADENCE_SET_UNACK, pSensorsCadenceParam);*/
+
+ /** SENSOR SETTING**/
+ /*
+ PRESENT_AMBIENT_TEMPERATURE_PID : 0x004F
+ Second Property PID : 0x00AD
+ */
+ pSensorsSettingParam[0]= 0x4F; /* Property ID byte 0 : Property ID for the sensor*/
+ pSensorsSettingParam[1]= 0x00; /* Property ID byte 1 : Property ID for the sensor*/
+ pSensorsSettingParam[2]= 0xAD; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ pSensorsSettingParam[3]= 0x00; /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+
+ switch (ButtonIndex_Value){
+ case 0:
+ pSensorsSettingParam[4]= 0x10; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ /*pSensorsSettingParam[5]= 0x10;*/ /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+ break;
+ case 1:
+ pSensorsSettingParam[4]= 0x20; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ /*pSensorsSettingParam[5]= 0x20;*/ /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+ break;
+ case 2:
+ pSensorsSettingParam[4]= 0x0F; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ /*pSensorsSettingParam[5]= 0x00;*/ /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+ break;
+ default:
+ break;
+ }
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTING SET ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_SETTING_SET, pSensorsSettingParam);*/
+
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTING SET UNACK ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_SETTING_SET_UNACK, pSensorsSettingParam);*/
+#endif /* ENABLE_SENSOR_MODEL_CLIENT */
+
+
+/* if CLIENT and SERVER => Publish is already done in CLIENT */
+#ifdef GENERIC_SERVER_MODEL_PUBLISH
+#ifndef GENERIC_CLIENT_MODEL_PUBLISH
+ Generic_Publish(BLEMesh_GetAddress());
+#endif
+#endif
+}
+
+
+/**
+* @brief Get the Element Number for selected Model
+* @param dst_peer : Destination Address received
+* @retval MOBLEUINT8 : elementNumber
+*/
+MOBLEUINT8 BLEMesh_ModelsGetElementNumber(MOBLE_ADDRESS dst_peer)
+{
+
+ MOBLE_ADDRESS nodeAddress;
+ MOBLEUINT8 elementNumber;
+
+ nodeAddress = BLEMesh_GetAddress();
+ elementNumber = ((dst_peer - nodeAddress)+1);
+
+ return elementNumber;
+}
+
+/**
+* @brief Get the Element Index for selected Model
+* @param dst_peer : Destination Address received
+* @retval MOBLEUINT8 : elementIndex
+*/
+MOBLEUINT8 BLEMesh_ModelsGetElementIndex(MOBLE_ADDRESS dst_peer)
+{
+
+ MOBLE_ADDRESS nodeAddress;
+ MOBLEUINT8 elementIndex;
+
+ nodeAddress = BLEMesh_GetAddress();
+ elementIndex =(dst_peer - nodeAddress);
+
+ return elementIndex;
+}
+
+
+/**
+* @brief Schedule a packet to be sent with randomized send timestamp
+* If a que is empty, random timestamp is calculated
+* Subsequent packets are sent in sequence
+* @param *pmsgParam Pointer to structure of message header for parameters:
+* elementIndex, src, dst addresses, TTL, RSSI, NetKey & AppKey Offset
+* @param status: Command status
+* @param data: Data buffer.
+* @param length: Length of data in bytes.
+* @retval None
+*/
+void BLEMesh_ModelsDelayPacket(MODEL_MessageHeader_t *pmsgParams,
+ MOBLEUINT8 command,
+ MOBLEUINT8 const * data,
+ MOBLEUINT32 length)
+{
+ MOBLEUINT8 random_time[8];
+
+ if (Appli_PendingPackets.packet_count == 0)
+ {
+ Appli_PendingPackets.packet_count = 1;
+ hci_le_rand(random_time);
+ Appli_PendingPackets.send_time = Clock_Time() +
+ DEFAULT_DELAY_PACKET_FROM +
+ (random_time[0] + random_time[1]*256)\
+ %DEFAULT_DELAY_PACKET_RANDOM_TIME;
+ Appli_PendingPackets.head = Appli_PendingPackets.packet;
+ Appli_PendingPackets.head_index = 0;
+ TRACE_M(TF_MISC, "Randomized time: %ld\n\r", Appli_PendingPackets.send_time - Clock_Time());
+ }
+ else
+ {
+ Appli_PendingPackets.packet_count += 1;
+ Appli_PendingPackets.packet_count = (Appli_PendingPackets.packet_count)%\
+ (MAX_PENDING_PACKETS_QUE_SIZE+1);
+
+ if (Appli_PendingPackets.head != (Appli_PendingPackets.packet + \
+ MAX_PENDING_PACKETS_QUE_SIZE - 1))
+ {
+ Appli_PendingPackets.head = Appli_PendingPackets.head +1;
+ Appli_PendingPackets.head_index = Appli_PendingPackets.head_index+1;
+ }
+ else
+ {
+ Appli_PendingPackets.head = Appli_PendingPackets.packet;
+ Appli_PendingPackets.head_index = 0;
+ }
+ }
+
+ Appli_PendingPackets.head->peer = pmsgParams->peer_addr;
+ Appli_PendingPackets.head->dst = pmsgParams->dst_peer;
+ Appli_PendingPackets.head->elementIndex = pmsgParams->elementIndex;
+ Appli_PendingPackets.head->appKeyOffset = pmsgParams->rcvdAppKeyOffset;
+ Appli_PendingPackets.head->netKeyOffset = pmsgParams->rcvdNetKeyOffset;
+ Appli_PendingPackets.head->command = command;
+ Appli_PendingPackets.head->length = length;
+ for (MOBLEUINT8 count=0; count<length; count++)
+ Appli_PendingPackets.head->data[count] = data[count];
+}
+
+
+/**
+* @brief If send timestamp is reached and que is not empty, send all packets
+* @param None
+* @retval None
+*/
+void BLEMesh_ModelsSendDelayedPacket(void)
+{
+ APPLI_SEND_RESPONSE_MODULE* ptr;
+ MODEL_MessageHeader_t msgParam;
+ MOBLEUINT8 temp_index;
+
+ if ((Appli_PendingPackets.packet_count != 0) &&
+ (Appli_PendingPackets.send_time <= Clock_Time()))
+ {
+ for (MOBLEUINT8 count=Appli_PendingPackets.packet_count; count!=0; count--)
+ {
+ TRACE_M(TF_MISC, "Sending randomized packets. Packet count: %d \n\r",\
+ Appli_PendingPackets.packet_count - count + 1);
+ temp_index = ((Appli_PendingPackets.head_index+MAX_PENDING_PACKETS_QUE_SIZE+1)\
+ -count)%MAX_PENDING_PACKETS_QUE_SIZE;
+ ptr = Appli_PendingPackets.packet + temp_index;
+
+ /* Initialize the messageParam*/
+ msgParam.dst_peer = ptr->dst;
+ msgParam.peer_addr = ptr->peer;
+ msgParam.elementIndex = 0;
+ msgParam.rcvdAppKeyOffset = 0;
+ msgParam.rcvdNetKeyOffset = 0;
+ msgParam.rssi = 0;
+ msgParam.ttl = 0;
+
+ VendorModel_SendResponse(VENDOR_STMICRO_CID,
+ &msgParam,
+ ptr->command,
+ ptr->data,
+ ptr->length);
+ }
+
+ Appli_PendingPackets.packet_count = 0;
+ }
+}
+
+/** \brief Set remote publication for the given Model ID & node Address
+* User is responsible for serializing data into \a data buffer. Vendor_WriteLocalDataCb
+* callback will be called on the remote device.
+* @param modelId ID of the model.
+* @param elementIdx element index
+* @param command vendor model commands
+* @param data Data buffer.
+* @param length Length of data in bytes.
+* @param response If 'MOBLE_TRUE', used to get the response. If 'MOBLE_FALSE', no response
+* @return MOBLE_RESULT_SUCCESS on success.
+*/
+MOBLE_RESULT MeshClient_SetRemotePublication(MOBLEUINT32 modelId, MOBLEUINT8 elementIdx,
+ MOBLEUINT16 msg_opcode, MOBLEUINT8 const *msg_buff,
+ MOBLEUINT32 length, MOBLEBOOL ack_flag,
+ MOBLEUINT8 isVendor)
+{
+ MOBLE_ADDRESS srcAddress;
+
+ srcAddress = BLEMesh_GetAddress();
+ srcAddress += elementIdx; /* Get the Address to send in the message */
+
+ return BLEMesh_SetRemotePublication(modelId,
+ srcAddress ,
+ msg_opcode ,
+ msg_buff, length,
+ ack_flag,
+ MOBLE_FALSE);
+}
+
+/**
+* @brief Convert ASCII value into Character
+* @param tempValue : 8bit value for conversion
+* @retval MOBLEUINT8
+*/
+MOBLEUINT8 BLEMesh_ModelsASCII_To_Char(MOBLEUINT8 tempValue)
+{
+ tempValue = tempValue - 0x30;
+ return tempValue;
+}
+
+__weak void Test_Process(void)
+{
+}
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.h
new file mode 100644
index 000000000..e20f54d8b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/models_if.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file models_if.h
+ * @author MCD Application Team
+ * @brief Mesh Modes interface file header
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MODELS_H
+#define __MODELS_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+void BLEMesh_ModelsInit(void);
+void BLEMesh_ModelsProcess(void);
+void BLEMesh_ModelsCommand(void);
+
+MOBLEUINT8 BLEMesh_ModelsGetElementNumber(MOBLE_ADDRESS dst_peer);
+MOBLEUINT8 BLEMesh_ModelsGetElementIndex(MOBLE_ADDRESS dst_peer);
+void BLEMesh_ModelsDelayPacket(MODEL_MessageHeader_t *pmsgParams, MOBLEUINT8 command,
+ MOBLEUINT8 const * data, MOBLEUINT32 length);
+void BLEMesh_ModelsSendDelayedPacket(void);
+MOBLEUINT8 BLEMesh_ModelsASCII_To_Char(MOBLEUINT8 tempValue);
+MOBLE_RESULT MeshClient_SetRemotePublication(MOBLEUINT32 modelId, MOBLEUINT8 elementIdx,
+ MOBLEUINT16 msg_opcode, MOBLEUINT8 const *msg_buff,
+ MOBLEUINT32 length, MOBLEBOOL ack_flag,
+ MOBLEUINT8 isVendor);
+
+#endif /* __MODELS_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/pal_nvm.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/pal_nvm.c
new file mode 100644
index 000000000..a2b6b3570
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/pal_nvm.c
@@ -0,0 +1,443 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file pal_nvm.c
+ * @author MCD Application Team
+ * @brief Flash management for the Controller
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "pal_nvm.h"
+#include "pal_if.h"
+#include <string.h>
+
+#include "ble.h"
+#include "shci.h"
+#include "mesh_cfg_usr.h"
+
+#include "hw_flash.h"
+
+/* Private define ------------------------------------------------------------*/
+#define FLASH_SECTOR_SIZE 0x1000
+
+/* Private variables ---------------------------------------------------------*/
+
+/* Private functions ---------------------------------------------------------*/
+/**
+ * @brief Gets the page of a given address
+ * @param Addr: Address of the FLASH Memory
+ * @retval The page of a given address
+ */
+static MOBLEUINT32 GetPage(MOBLEUINT32 Addr)
+{
+ MOBLEUINT32 page = 0;
+
+ if (Addr < (FLASH_BASE + FLASH_BANK_SIZE))
+ {
+ /* Bank 1 */
+ page = (Addr - FLASH_BASE) / FLASH_PAGE_SIZE;
+ }
+ else
+ {
+ /* Bank 2 */
+ page = (Addr - (FLASH_BASE + FLASH_BANK_SIZE)) / FLASH_PAGE_SIZE;
+ }
+
+ return page;
+}
+
+#if 0
+/**
+* @brief PalNvmErase
+* @param None
+* @retval Result
+*/
+MOBLE_RESULT PalNvmErase(MOBLEUINT32 address,
+ MOBLEUINT32 offset)
+{
+ HAL_StatusTypeDef status = HAL_OK;
+ uint32_t pageError = 0;
+
+// printf("PalNvmErase >>>\r\n");
+
+ FLASH_EraseInitTypeDef erase;
+ erase.TypeErase = FLASH_TYPEERASE_PAGES;
+ erase.Page = GetPage(address + offset); /* 126 or 127 */;
+ erase.NbPages = FLASH_SECTOR_SIZE >> 12;
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_FLASH_SEMID ) );
+ HAL_FLASH_Unlock();
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP |
+ FLASH_FLAG_WRPERR |
+ FLASH_FLAG_OPTVERR);
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_ON);
+
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ status = HAL_FLASHEx_Erase(&erase, &pageError);
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_OFF);
+
+ HAL_FLASH_Lock();
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_FLASH_SEMID, 0 );
+
+// printf("PalNvmErase <<<\r\n");
+
+ return status == HAL_OK ? MOBLE_RESULT_SUCCESS : MOBLE_RESULT_FAIL;
+}
+#endif
+
+/**
+* @brief returns NVM write protect status
+* @param None
+* @retval TRUE if flash is write protected
+*/
+MOBLEBOOL PalNvmIsWriteProtected(void)
+{
+ /* All flash is writable */
+ return MOBLE_FALSE;
+}
+
+/**
+* @brief Read NVM
+* @param address: read start address of nvm
+* @param offset: offset read start address of nvm
+* @param buf: copy of read content
+* @param size: size of memory to be read
+* @param backup: If read from backup memory
+* @retval Result of read operation
+*/
+MOBLE_RESULT PalNvmRead(MOBLEUINT32 address,
+ MOBLEUINT32 offset,
+ void *buf,
+ MOBLEUINT32 size,
+ MOBLEBOOL backup)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+// printf("MoblePalNvmRead >>>\r\n");
+
+ if (offset > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ memcpy(buf, (void *)(address + offset), size);
+ }
+
+// printf("MoblePalNvmRead <<<\r\n");
+ return result;
+}
+
+/**
+* @brief Compare with NVM
+* @param offset: start address of nvm to compare
+* @param offset: offset start address of nvm
+* @param buf: copy of content
+* @param size: size of memory to be compared
+* @param comparison: outcome of comparison
+* @retval Result
+*/
+MOBLE_RESULT PalNvmCompare(MOBLEUINT32 address,
+ MOBLEUINT32 offset,
+ void const *buf,
+ MOBLEUINT32 size,
+ MOBLE_NVM_COMPARE* comparison)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT32 i;
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+// printf("MoblePalNvmCompare >>>\r\n");
+
+ if ((comparison == NULL) || (buf == NULL))
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ *comparison = MOBLE_NVM_COMPARE_EQUAL;
+ size >>= 2;
+
+ MOBLEUINT32 * src = (MOBLEUINT32*)buf;
+ MOBLEUINT32 * dst = (MOBLEUINT32*)(address + offset);
+
+ i = 0;
+ do
+ {
+ if ((src[i] != dst[i]) && (*comparison == MOBLE_NVM_COMPARE_EQUAL))
+ {
+ *comparison = MOBLE_NVM_COMPARE_NOT_EQUAL;
+ }
+ i++;
+ } while((*comparison != MOBLE_NVM_COMPARE_NOT_EQUAL) && (i < size));
+ }
+
+// printf("MoblePalNvmCompare <<<\r\n");
+#else
+ *comparison = MOBLE_NVM_COMPARE_EQUAL;
+#endif
+ return result;
+}
+
+/**
+* @brief Erase NVM
+* @param None
+* @retval Result
+*/
+MOBLE_RESULT PalNvmErase(MOBLEUINT32 address,
+ MOBLEUINT32 offset)
+{
+ HAL_StatusTypeDef status = HAL_OK;
+
+ uint32_t pageError = 0;
+
+// printf("MoblePalNvmErase >>>\r\n");
+
+ FLASH_EraseInitTypeDef erase;
+ erase.TypeErase = FLASH_TYPEERASE_PAGES;
+ erase.Page = GetPage(address + offset); /* 126 or 127 */;
+ erase.NbPages = FLASH_SECTOR_SIZE >> 12;
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_FLASH_SEMID ) );
+ HAL_FLASH_Unlock();
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP |
+ FLASH_FLAG_WRPERR |
+ FLASH_FLAG_OPTVERR);
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_ON);
+
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ status = HAL_FLASHEx_Erase(&erase, &pageError);
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_OFF);
+
+ HAL_FLASH_Lock();
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_FLASH_SEMID, 0 );
+
+// printf("MoblePalNvmErase <<<\r\n");
+
+ return status == HAL_OK ? MOBLE_RESULT_SUCCESS : MOBLE_RESULT_FAIL;
+}
+
+/**
+* @brief Write to NVM
+* @param offset: wrt start address of nvm
+* @param offset: offset wrt start address of nvm
+* @param buf: copy of write content
+* @param size: size of memory to be written
+* @retval Result
+*/
+MOBLE_RESULT PalNvmWrite(MOBLEUINT32 address,
+ MOBLEUINT32 offset,
+ void const *buf,
+ MOBLEUINT32 size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+
+ // printf("MoblePalNvmWrite >>>\r\n");
+
+ if (offset > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ MOBLEUINT32 remain = 0;
+ MOBLEUINT32 nb_dword = 0;
+
+ nb_dword = (size >> 3);
+ remain = size - ((nb_dword) << 3);
+ if(remain > 0)
+ nb_dword += 1;
+
+ uint64_t* src = (uint64_t*)buf;
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_FLASH_SEMID ) );
+ HAL_FLASH_Unlock();
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP |
+ FLASH_FLAG_WRPERR |
+ FLASH_FLAG_OPTVERR |
+ FLASH_FLAG_PGSERR |
+ FLASH_FLAG_SIZERR |
+ FLASH_FLAG_PGAERR);
+
+ for (size_t i = 0; i < nb_dword/*size*/; i++)
+ {
+ do
+ {
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,
+ address + offset + (i <<3),
+ src[i]);
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ } while(*((uint64_t*)(address + offset + (i <<3))) != src[i]);
+ }
+
+ HAL_FLASH_Lock();
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_FLASH_SEMID, 0 );
+ }
+// printf("MoblePalNvmWrite <<<\r\n");
+#endif
+
+ return result;
+}
+
+#if 0
+/**
+* @brief Backup process
+* @param None
+* @retval Result
+*/
+static MOBLE_RESULT PalNvmBackupProcess(void)
+{
+ MOBLEUINT32 buff[4*N_BYTES_WORD];
+ static MOBLEUINT8 backup_pages_to_be_erased = 0;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ if (backup_pages_to_be_erased == 0)
+ {
+ backup_pages_to_be_erased = 1;
+ }
+
+ if(backup_pages_to_be_erased != 0)
+ {
+#if 0
+ BLEMesh_StopAdvScan();
+ ATOMIC_SECTION_BEGIN();
+ if(BluenrgMesh_IsFlashReadyToErase())
+ {
+ FLASH_ErasePage((uint16_t)((BNRGM_NVM_BACKUP_BASE -
+ RESET_MANAGER_FLASH_BASE_ADDRESS) / PAGE_SIZE +
+ BNRGM_NVM_BACKUP_SIZE/PAGE_SIZE -
+ backup_pages_to_be_erased));
+
+ if (FLASH_GetFlagStatus(Flash_CMDERR) == SET)
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ backup_pages_to_be_erased--;
+ }
+ }
+ else
+ {
+ /* do nothing */
+ }
+ ATOMIC_SECTION_END();
+#else
+ result = PalNvmErase(NVM_BASE, FLASH_SECTOR_SIZE);
+ if(result == MOBLE_RESULT_SUCCESS)
+ backup_pages_to_be_erased = 0;
+#endif
+ }
+
+ if (result == MOBLE_RESULT_SUCCESS && backup_pages_to_be_erased == 0)
+ {
+#if 0
+ BLEMesh_StopAdvScan();
+ ATOMIC_SECTION_BEGIN();
+ if(BluenrgMesh_IsFlashReadyToErase())
+ {
+ for (size_t i = 0; i < BNRGM_NVM_BACKUP_SIZE && FLASH_GetFlagStatus(Flash_CMDERR) == RESET; )
+ {
+ memcpy((MOBLEUINT8*)buff, (void *)(BNRGM_NVM_BASE + i), 4*N_BYTES_WORD);
+ FLASH_ProgramWordBurst(BNRGM_NVM_BACKUP_BASE + i, (uint32_t*)buff);
+ i += 4*N_BYTES_WORD;
+ }
+
+ if (FLASH_GetFlagStatus(Flash_CMDERR) == SET)
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ PalNvmReqs.backup_req = MOBLE_FALSE;
+ }
+ }
+ else
+ {
+ /* do nothing */
+ }
+ ATOMIC_SECTION_END();
+#else
+#endif
+ }
+ return result;
+}
+#endif
+
+/**
+* @brief NVM process
+* @param None
+* @retval Result
+*/
+MOBLE_RESULT PalNvmProcess(void)
+{
+ /* do nothing */
+ return MOBLE_RESULT_SUCCESS;
+}
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/sensor_cfg_usr.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/sensor_cfg_usr.h
new file mode 100644
index 000000000..7575494d1
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/sensor_cfg_usr.h
@@ -0,0 +1,741 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file sensor_cfg_usr.h
+ * @author MCD Application Team
+ * @brief sensor server initialization parameters
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __SENSOR_USR_CFG_H
+#define __SENSOR_USR_CFG_H
+
+/**
+* Maximum count of settings that can be supported by a sensor
+* E.g., 5 sensors
+* 1st sensor has 2 settings
+* 2nd sensor has 3 settings
+* 3rd sensor has 2 settings
+* 4th sensor has 1 setting
+* 5th sensor has 2 settings
+* This value is max(2, 3, 2, 1, 2) = 3
+* value is >=1
+*/
+#define SENSOR_MAX_SETTINGS_COUNT 1
+
+/**
+* Maximum count of series column that is supported by a sensor
+* E.g., 2 sensors supporting series column
+* One sensor supports 2 columns while other sensor supports 20 columns
+* This value is max(2, 20) = 20
+* value is >=1
+*/
+#define SENSOR_MAX_SERIES_COUNT 1
+
+/**
+* Total sensors count on all elements
+* It is sum of sensors count on all elements
+* Sensor init fails in case of mismatch with sensor server initialization parameters
+*/
+#define TOTAL_SENSORS_COUNT 1
+
+/**
+* Sum of sensor settings on all sensors on all elements
+* Sensor init fails in case of mismatch with sensor server initialization parameters
+*/
+#define TOTAL_SENSOR_SETTINGS_COUNT 0
+
+/**
+* Sum of sensor series columns on all sensors on all elements
+* Sensor init fails in case of mismatch with sensor server initialization parameters
+*/
+#define TOTAL_SENSOR_SERIES_COLUMN_COUNT 0
+
+
+/**
+* This structure contains sensor setting initialization parameters
+*/
+typedef struct
+{
+ uint16_t settingPropertyId;
+ uint8_t settingAccess;
+ uint32_t settingRaw;
+}sensor_settings_init_params_t;
+
+
+/**
+* This structure contains sensor series column initialization parameters
+*/
+typedef struct
+{
+ uint32_t rawX;
+ uint32_t columnWidth;
+}sensor_series_column_init_params_t;
+
+
+/**
+* This structure contains sensor initialization parameters
+*/
+typedef struct
+{
+ uint8_t elementIdx;
+ uint16_t propertyId;
+ uint16_t positiveTolerance;
+ uint16_t negativeTolerance;
+ uint8_t samplingFunction;
+ uint8_t measurementPeriod;
+ uint8_t updateInterval;
+ uint8_t dataLength;
+ uint8_t cadenceState;
+ uint32_t valuesRange;
+ uint8_t settingsCount;
+ sensor_settings_init_params_t settings[SENSOR_MAX_SETTINGS_COUNT];
+ uint16_t seriesCount;
+ sensor_series_column_init_params_t seriesColumn[SENSOR_MAX_SERIES_COUNT];
+}sensor_init_params_t;
+
+
+/**
+* This structure contains sensor server initialization parameters
+*/
+typedef struct
+{
+ uint8_t sensorsCount;
+ sensor_init_params_t sensorInitParams[TOTAL_SENSORS_COUNT];
+} sensor_server_init_params_t;
+
+
+/**
+* Below section represents initialization parameters of sensors supported
+* Define sensors in ascending order of element index followed by ascending
+* order of Property IDs else initialization of sensor structure would fail
+* Single element can support one instance of sensor PID, there can't be multiple
+* instances of same PID on same element
+* For e.g. 10 sensors with PID (PID1 < PIDn ... < PID7) supported on 3 elements
+* with element index (0, 1 and 2) in below fashion
+* Element index 0 supports sensors corresponding to PID3, PID4, PID6 and PID7
+* Element index 1 supports sensors corresponding to PID2, PID4, PID5 and PID6
+* Element index 2 supports sensors corresponding to PID1, PID5
+* Corrector order of naming sensors (SENSORX) is
+* Element index 0 -> SENSOR1(PID3), SENSOR2(PID4), SENSOR3(PID6) and SENSOR4(PID7)
+* Element index 1 -> SENSOR5(PID2), SENSOR6(PID4), SENSOR7(PID5), and SENSOR8(PID6)
+* Element index 2 -> SENSOR9(PID1), and SENSOR10(PID5)
+*/
+
+/* Sensor 1 initialization */
+
+/**
+* Element index for SENSOR1
+* varies from 0 to n-1 (n = number of elements)
+*/
+#define SENSOR1_ELEMENT_IDX 0
+
+/**
+* Property ID of sensor, identifies device characteristics and other features
+* Defined by Mesh Device Properties or a custom value
+* 16 bit value
+* 0x0000 - Prohibited
+*/
+#define SENSOR1_PROPERTY_ID PRESENT_AMBIENT_TEMPERATURE_PID
+#define SENSOR1_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR1_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR1_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR1_DATA_LENGTH 1
+#define SENSOR1_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR1_VALUES_RANGE 254
+#define SENSOR1_SETTINGS_COUNT 2
+#define SENSOR1_SETTING1_PROPERTY_ID 0x00BB
+#define SENSOR1_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR1_SETTING1_RAW 0
+#define SENSOR1_SETTING2_PROPERTY_ID 0x00AD
+#define SENSOR1_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR1_SETTING2_RAW 0
+#define SENSOR1_SERIES_COUNT 0
+
+#define SENSOR1_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR1_SETTING1_PROPERTY_ID,\
+ SENSOR1_SETTING1_ACCESS,\
+ SENSOR1_SETTING1_RAW \
+}
+
+#define SENSOR1_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR1_SETTING2_PROPERTY_ID,\
+ SENSOR1_SETTING2_ACCESS,\
+ SENSOR1_SETTING2_RAW \
+}
+
+#define SENSOR1_INIT_PARAMS \
+{\
+ SENSOR1_ELEMENT_IDX,\
+ SENSOR1_PROPERTY_ID,\
+ SENSOR1_POSITIVE_TOLERANCE,\
+ SENSOR1_NEGATIVE_TOLERANCE,\
+ SENSOR1_SAMPLING_FUNCTION,\
+ SENSOR1_MEASUREMENT_PERIOD,\
+ SENSOR1_UPDATE_INTERVAL,\
+ SENSOR1_DATA_LENGTH,\
+ SENSOR1_CADENCE_STATE,\
+ SENSOR1_VALUES_RANGE,\
+ SENSOR1_SETTINGS_COUNT,\
+ {\
+ SENSOR1_SETTINGS1_INIT_PARAMS,\
+ SENSOR1_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR1_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+
+/* Sensor 2 initialization */
+
+#define SENSOR2_ELEMENT_IDX 0
+#define SENSOR2_PROPERTY_ID PRESSURE_PID
+#define SENSOR2_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR2_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR2_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR2_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR2_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR2_DATA_LENGTH 4
+#define SENSOR2_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR2_VALUES_RANGE 500
+#define SENSOR2_SETTINGS_COUNT 2
+#define SENSOR2_SETTING1_PROPERTY_ID 0x0AAA
+#define SENSOR2_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR2_SETTING1_RAW 35666
+#define SENSOR2_SETTING2_PROPERTY_ID 0x0AAC
+#define SENSOR2_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR2_SETTING2_RAW 33666
+#define SENSOR2_SERIES_COUNT 0
+
+#define SENSOR2_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR2_SETTING1_PROPERTY_ID,\
+ SENSOR2_SETTING1_ACCESS,\
+ SENSOR2_SETTING1_RAW\
+}
+
+#define SENSOR2_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR2_SETTING2_PROPERTY_ID,\
+ SENSOR2_SETTING2_ACCESS,\
+ SENSOR2_SETTING2_RAW\
+}
+
+#define SENSOR2_INIT_PARAMS \
+{\
+ SENSOR2_ELEMENT_IDX,\
+ SENSOR2_PROPERTY_ID,\
+ SENSOR2_POSITIVE_TOLERANCE,\
+ SENSOR2_NEGATIVE_TOLERANCE,\
+ SENSOR2_SAMPLING_FUNCTION,\
+ SENSOR2_MEASUREMENT_PERIOD,\
+ SENSOR2_UPDATE_INTERVAL,\
+ SENSOR2_DATA_LENGTH,\
+ SENSOR2_CADENCE_STATE,\
+ SENSOR2_VALUES_RANGE,\
+ SENSOR2_SETTINGS_COUNT,\
+ {\
+ SENSOR2_SETTINGS1_INIT_PARAMS,\
+ SENSOR2_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR2_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+
+#define SENSOR3_ELEMENT_IDX 0
+#define SENSOR3_PROPERTY_ID PRESENCE_DETECTED_PID
+#define SENSOR3_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR3_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR3_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR3_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR3_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR3_DATA_LENGTH 1
+#define SENSOR3_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR3_VALUES_RANGE 0
+#define SENSOR3_SETTINGS_COUNT 0
+#define SENSOR3_SERIES_COUNT 0
+
+#define SENSOR3_SETTINGS_INIT_PARAMS \
+{\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR3_INIT_PARAMS \
+{\
+ SENSOR3_ELEMENT_IDX,\
+ SENSOR3_PROPERTY_ID,\
+ SENSOR3_POSITIVE_TOLERANCE,\
+ SENSOR3_NEGATIVE_TOLERANCE,\
+ SENSOR3_SAMPLING_FUNCTION,\
+ SENSOR3_MEASUREMENT_PERIOD,\
+ SENSOR3_UPDATE_INTERVAL,\
+ SENSOR3_DATA_LENGTH,\
+ SENSOR3_CADENCE_STATE,\
+ SENSOR3_VALUES_RANGE,\
+ SENSOR3_SETTINGS_COUNT,\
+ {\
+ {0}\
+ },\
+ SENSOR3_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+/**
+* Combined defined of all sensors initialization parameters
+*/
+
+#define SENSOR_SERVER_INIT_PARAMS \
+{\
+ TOTAL_SENSORS_COUNT,\
+ {\
+ SENSOR3_INIT_PARAMS\
+ }\
+}
+
+#endif /* __SENSOR_USR_CFG_H */
+
+/*
+
+Example for multiple sensors with series column support
+
+#define SENSOR_MAX_SETTINGS_COUNT 3
+#define SENSOR_MAX_SERIES_COUNT 20
+#define TOTAL_SENSORS_COUNT 5
+#define TOTAL_SENSOR_SETTINGS_COUNT 9
+#define TOTAL_SENSOR_SERIES_COLUMN_COUNT 22
+
+#define SENSOR1_ELEMENT_IDX 0
+#define SENSOR1_PROPERTY_ID PEOPLE_COUNT_PID
+#define SENSOR1_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR1_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR1_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR1_DATA_LENGTH 2
+#define SENSOR1_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR1_VALUES_RANGE 1000
+#define SENSOR1_SETTINGS_COUNT 3
+#define SENSOR1_SETTING1_PROPERTY_ID 0x000A
+#define SENSOR1_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR1_SETTING1_RAW 234
+#define SENSOR1_SETTING2_PROPERTY_ID 0x000C
+#define SENSOR1_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR1_SETTING2_RAW 246
+#define SENSOR1_SETTING3_PROPERTY_ID 0x0010
+#define SENSOR1_SETTING3_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR1_SETTING3_RAW 278
+#define SENSOR1_SERIES_COUNT 0
+
+#define SENSOR1_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR1_SETTING1_PROPERTY_ID,\
+ SENSOR1_SETTING1_ACCESS,\
+ SENSOR1_SETTING1_RAW\
+}
+
+#define SENSOR1_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR1_SETTING2_PROPERTY_ID,\
+ SENSOR1_SETTING2_ACCESS,\
+ SENSOR1_SETTING2_RAW\
+}
+
+#define SENSOR1_SETTINGS3_INIT_PARAMS \
+{\
+ SENSOR1_SETTING3_PROPERTY_ID,\
+ SENSOR1_SETTING3_ACCESS,\
+ SENSOR1_SETTING3_RAW\
+}
+
+#define SENSOR1_INIT_PARAMS \
+{\
+ SENSOR1_ELEMENT_IDX,\
+ SENSOR1_PROPERTY_ID,\
+ SENSOR1_POSITIVE_TOLERANCE,\
+ SENSOR1_NEGATIVE_TOLERANCE,\
+ SENSOR1_SAMPLING_FUNCTION,\
+ SENSOR1_MEASUREMENT_PERIOD,\
+ SENSOR1_UPDATE_INTERVAL,\
+ SENSOR1_DATA_LENGTH,\
+ SENSOR1_CADENCE_STATE,\
+ SENSOR1_VALUES_RANGE,\
+ SENSOR1_SETTINGS_COUNT,\
+ {\
+ SENSOR1_SETTINGS1_INIT_PARAMS,\
+ SENSOR1_SETTINGS2_INIT_PARAMS,\
+ SENSOR1_SETTINGS3_INIT_PARAMS\
+ },\
+ SENSOR1_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR2_ELEMENT_IDX 0
+#define SENSOR2_PROPERTY_ID DESIRED_AMBIENT_TEMPERATURE_PID
+#define SENSOR2_POSITIVE_TOLERANCE 0xabc
+#define SENSOR2_NEGATIVE_TOLERANCE 0xdef
+#define SENSOR2_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_RMS
+#define SENSOR2_MEASUREMENT_PERIOD 0x04
+#define SENSOR2_UPDATE_INTERVAL 0x05
+#define SENSOR2_DATA_LENGTH 1
+#define SENSOR2_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR2_VALUES_RANGE 100
+#define SENSOR2_SETTINGS_COUNT 2
+#define SENSOR2_SETTING1_PROPERTY_ID 0x00BB
+#define SENSOR2_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR2_SETTING1_RAW 345
+#define SENSOR2_SETTING2_PROPERTY_ID 0x00AD
+#define SENSOR2_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR2_SETTING2_RAW 435
+#define SENSOR2_SERIES_COUNT 0
+
+#define SENSOR2_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR2_SETTING1_PROPERTY_ID,\
+ SENSOR2_SETTING1_ACCESS,\
+ SENSOR2_SETTING1_RAW\
+}
+
+#define SENSOR2_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR2_SETTING2_PROPERTY_ID,\
+ SENSOR2_SETTING2_ACCESS,\
+ SENSOR2_SETTING2_RAW \
+}
+
+#define SENSOR2_INIT_PARAMS \
+{\
+ SENSOR2_ELEMENT_IDX,\
+ SENSOR2_PROPERTY_ID,\
+ SENSOR2_POSITIVE_TOLERANCE,\
+ SENSOR2_NEGATIVE_TOLERANCE,\
+ SENSOR2_SAMPLING_FUNCTION,\
+ SENSOR2_MEASUREMENT_PERIOD,\
+ SENSOR2_UPDATE_INTERVAL,\
+ SENSOR2_DATA_LENGTH,\
+ SENSOR2_CADENCE_STATE,\
+ SENSOR2_VALUES_RANGE,\
+ SENSOR2_SETTINGS_COUNT,\
+ {\
+ SENSOR2_SETTINGS1_INIT_PARAMS,\
+ SENSOR2_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR2_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR3_ELEMENT_IDX 0
+#define SENSOR3_PROPERTY_ID PRESSURE_PID
+#define SENSOR3_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR3_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR3_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR3_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR3_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR3_DATA_LENGTH 2
+#define SENSOR3_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR3_VALUES_RANGE 500
+#define SENSOR3_SETTINGS_COUNT 2
+#define SENSOR3_SETTING1_PROPERTY_ID 0x0AAA
+#define SENSOR3_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR3_SETTING1_RAW 35666
+#define SENSOR3_SETTING2_PROPERTY_ID 0x0AAC
+#define SENSOR3_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR3_SETTING2_RAW 33666
+#define SENSOR3_SERIES_COUNT 20
+#define SENSOR3_SERIES1_RAWX 0
+#define SENSOR3_SERIES1_CW 10
+#define SENSOR3_SERIES2_RAWX 23
+#define SENSOR3_SERIES2_CW 10
+#define SENSOR3_SERIES3_RAWX 34
+#define SENSOR3_SERIES3_CW 10
+#define SENSOR3_SERIES4_RAWX 35
+#define SENSOR3_SERIES4_CW 10
+#define SENSOR3_SERIES5_RAWX 36
+#define SENSOR3_SERIES5_CW 10
+#define SENSOR3_SERIES6_RAWX 40
+#define SENSOR3_SERIES6_CW 10
+#define SENSOR3_SERIES7_RAWX 41
+#define SENSOR3_SERIES7_CW 10
+#define SENSOR3_SERIES8_RAWX 42
+#define SENSOR3_SERIES8_CW 10
+#define SENSOR3_SERIES9_RAWX 43
+#define SENSOR3_SERIES9_CW 10
+#define SENSOR3_SERIES10_RAWX 45
+#define SENSOR3_SERIES10_CW 10
+#define SENSOR3_SERIES11_RAWX 46
+#define SENSOR3_SERIES11_CW 10
+#define SENSOR3_SERIES12_RAWX 47
+#define SENSOR3_SERIES12_CW 10
+#define SENSOR3_SERIES13_RAWX 48
+#define SENSOR3_SERIES13_CW 10
+#define SENSOR3_SERIES14_RAWX 49
+#define SENSOR3_SERIES14_CW 10
+#define SENSOR3_SERIES15_RAWX 50
+#define SENSOR3_SERIES15_CW 10
+#define SENSOR3_SERIES16_RAWX 51
+#define SENSOR3_SERIES16_CW 10
+#define SENSOR3_SERIES17_RAWX 52
+#define SENSOR3_SERIES17_CW 10
+#define SENSOR3_SERIES18_RAWX 53
+#define SENSOR3_SERIES18_CW 10
+#define SENSOR3_SERIES19_RAWX 55
+#define SENSOR3_SERIES19_CW 10
+#define SENSOR3_SERIES20_RAWX 89
+#define SENSOR3_SERIES20_CW 10
+
+#define SENSOR3_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR3_SETTING1_PROPERTY_ID,\
+ SENSOR3_SETTING1_ACCESS,\
+ SENSOR3_SETTING1_RAW\
+}
+
+#define SENSOR3_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR3_SETTING2_PROPERTY_ID,\
+ SENSOR3_SETTING2_ACCESS,\
+ SENSOR3_SETTING2_RAW\
+}
+
+#define SENSOR3_COLUMN1_INIT_PARAMS {SENSOR3_SERIES1_RAWX,SENSOR3_SERIES1_CW}
+#define SENSOR3_COLUMN2_INIT_PARAMS {SENSOR3_SERIES2_RAWX,SENSOR3_SERIES2_CW}
+#define SENSOR3_COLUMN3_INIT_PARAMS {SENSOR3_SERIES3_RAWX,SENSOR3_SERIES3_CW}
+#define SENSOR3_COLUMN4_INIT_PARAMS {SENSOR3_SERIES4_RAWX,SENSOR3_SERIES4_CW}
+#define SENSOR3_COLUMN5_INIT_PARAMS {SENSOR3_SERIES5_RAWX,SENSOR3_SERIES5_CW}
+#define SENSOR3_COLUMN6_INIT_PARAMS {SENSOR3_SERIES6_RAWX,SENSOR3_SERIES6_CW}
+#define SENSOR3_COLUMN7_INIT_PARAMS {SENSOR3_SERIES7_RAWX,SENSOR3_SERIES7_CW}
+#define SENSOR3_COLUMN8_INIT_PARAMS {SENSOR3_SERIES8_RAWX,SENSOR3_SERIES8_CW}
+#define SENSOR3_COLUMN9_INIT_PARAMS {SENSOR3_SERIES9_RAWX,SENSOR3_SERIES9_CW}
+#define SENSOR3_COLUMN10_INIT_PARAMS {SENSOR3_SERIES10_RAWX,SENSOR3_SERIES10_CW}
+#define SENSOR3_COLUMN11_INIT_PARAMS {SENSOR3_SERIES11_RAWX,SENSOR3_SERIES11_CW}
+#define SENSOR3_COLUMN12_INIT_PARAMS {SENSOR3_SERIES12_RAWX,SENSOR3_SERIES12_CW}
+#define SENSOR3_COLUMN13_INIT_PARAMS {SENSOR3_SERIES13_RAWX,SENSOR3_SERIES13_CW}
+#define SENSOR3_COLUMN14_INIT_PARAMS {SENSOR3_SERIES14_RAWX,SENSOR3_SERIES14_CW}
+#define SENSOR3_COLUMN15_INIT_PARAMS {SENSOR3_SERIES15_RAWX,SENSOR3_SERIES15_CW}
+#define SENSOR3_COLUMN16_INIT_PARAMS {SENSOR3_SERIES16_RAWX,SENSOR3_SERIES16_CW}
+#define SENSOR3_COLUMN17_INIT_PARAMS {SENSOR3_SERIES17_RAWX,SENSOR3_SERIES17_CW}
+#define SENSOR3_COLUMN18_INIT_PARAMS {SENSOR3_SERIES18_RAWX,SENSOR3_SERIES18_CW}
+#define SENSOR3_COLUMN19_INIT_PARAMS {SENSOR3_SERIES19_RAWX,SENSOR3_SERIES19_CW}
+#define SENSOR3_COLUMN20_INIT_PARAMS {SENSOR3_SERIES20_RAWX,SENSOR3_SERIES20_CW}
+
+#define SENSOR3_INIT_PARAMS \
+{\
+ SENSOR3_ELEMENT_IDX,\
+ SENSOR3_PROPERTY_ID,\
+ SENSOR3_POSITIVE_TOLERANCE,\
+ SENSOR3_NEGATIVE_TOLERANCE,\
+ SENSOR3_SAMPLING_FUNCTION,\
+ SENSOR3_MEASUREMENT_PERIOD,\
+ SENSOR3_UPDATE_INTERVAL,\
+ SENSOR3_DATA_LENGTH,\
+ SENSOR3_CADENCE_STATE,\
+ SENSOR3_VALUES_RANGE,\
+ SENSOR3_SETTINGS_COUNT,\
+ {\
+ SENSOR3_SETTINGS1_INIT_PARAMS,\
+ SENSOR3_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR3_SERIES_COUNT,\
+ {\
+ SENSOR3_COLUMN1_INIT_PARAMS,\
+ SENSOR3_COLUMN2_INIT_PARAMS,\
+ SENSOR3_COLUMN3_INIT_PARAMS,\
+ SENSOR3_COLUMN4_INIT_PARAMS,\
+ SENSOR3_COLUMN5_INIT_PARAMS,\
+ SENSOR3_COLUMN6_INIT_PARAMS,\
+ SENSOR3_COLUMN7_INIT_PARAMS,\
+ SENSOR3_COLUMN8_INIT_PARAMS,\
+ SENSOR3_COLUMN9_INIT_PARAMS,\
+ SENSOR3_COLUMN10_INIT_PARAMS,\
+ SENSOR3_COLUMN11_INIT_PARAMS,\
+ SENSOR3_COLUMN12_INIT_PARAMS,\
+ SENSOR3_COLUMN13_INIT_PARAMS,\
+ SENSOR3_COLUMN14_INIT_PARAMS,\
+ SENSOR3_COLUMN15_INIT_PARAMS,\
+ SENSOR3_COLUMN16_INIT_PARAMS,\
+ SENSOR3_COLUMN17_INIT_PARAMS,\
+ SENSOR3_COLUMN18_INIT_PARAMS,\
+ SENSOR3_COLUMN19_INIT_PARAMS,\
+ SENSOR3_COLUMN20_INIT_PARAMS}\
+}
+
+#define SENSOR4_ELEMENT_IDX 0
+#define SENSOR4_PROPERTY_ID HUMIDITY_PID
+#define SENSOR4_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR4_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR4_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR4_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR4_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR4_DATA_LENGTH 2
+#define SENSOR4_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR4_VALUES_RANGE 200
+#define SENSOR4_SETTINGS_COUNT 1
+#define SENSOR4_SETTING1_PROPERTY_ID 0xAAAA
+#define SENSOR4_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR4_SETTING1_RAW 35666
+#define SENSOR4_SERIES_COUNT 0
+
+#define SENSOR4_SETTINGS_INIT_PARAMS \
+{\
+ SENSOR4_SETTING1_PROPERTY_ID,\
+ SENSOR4_SETTING1_ACCESS,\
+ SENSOR4_SETTING1_RAW\
+}
+
+#define SENSOR4_INIT_PARAMS \
+{\
+ SENSOR4_ELEMENT_IDX,\
+ SENSOR4_PROPERTY_ID,\
+ SENSOR4_POSITIVE_TOLERANCE,\
+ SENSOR4_NEGATIVE_TOLERANCE,\
+ SENSOR4_SAMPLING_FUNCTION,\
+ SENSOR4_MEASUREMENT_PERIOD,\
+ SENSOR4_UPDATE_INTERVAL,\
+ SENSOR4_DATA_LENGTH,\
+ SENSOR4_CADENCE_STATE,\
+ SENSOR4_VALUES_RANGE,\
+ SENSOR4_SETTINGS_COUNT,\
+ {\
+ SENSOR4_SETTINGS_INIT_PARAMS\
+ },\
+ SENSOR4_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR5_ELEMENT_IDX 0
+#define SENSOR5_PROPERTY_ID TIME_OF_FLIGHT_PID
+#define SENSOR5_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR5_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR5_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR5_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR5_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR5_DATA_LENGTH 2
+#define SENSOR5_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR5_VALUES_RANGE 0
+#define SENSOR5_SETTINGS_COUNT 1
+#define SENSOR5_SETTING1_PROPERTY_ID 0xAAFA
+#define SENSOR5_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR5_SETTING1_RAW 35666
+#define SENSOR5_SERIES_COUNT 2
+#define SENSOR5_SERIES1_RAWX 20
+#define SENSOR5_SERIES1_CW 30
+#define SENSOR5_SERIES2_RAWX 50
+#define SENSOR5_SERIES2_CW 40
+
+#define SENSOR5_SETTINGS_INIT_PARAMS \
+{\
+ SENSOR5_SETTING1_PROPERTY_ID,\
+ SENSOR5_SETTING1_ACCESS,\
+ SENSOR5_SETTING1_RAW\
+}
+
+#define SENSOR5_COLUMN1_INIT_PARAMS {SENSOR5_SERIES1_RAWX,SENSOR5_SERIES1_CW}
+#define SENSOR5_COLUMN2_INIT_PARAMS {SENSOR5_SERIES2_RAWX,SENSOR5_SERIES2_CW}
+
+#define SENSOR5_INIT_PARAMS \
+{\
+ SENSOR5_ELEMENT_IDX,\
+ SENSOR5_PROPERTY_ID,\
+ SENSOR5_POSITIVE_TOLERANCE,\
+ SENSOR5_NEGATIVE_TOLERANCE,\
+ SENSOR5_SAMPLING_FUNCTION,\
+ SENSOR5_MEASUREMENT_PERIOD,\
+ SENSOR5_UPDATE_INTERVAL,\
+ SENSOR5_DATA_LENGTH,\
+ SENSOR5_CADENCE_STATE,\
+ SENSOR5_VALUES_RANGE,\
+ SENSOR5_SETTINGS_COUNT,\
+ {\
+ SENSOR5_SETTINGS_INIT_PARAMS\
+ },\
+ SENSOR5_SERIES_COUNT,\
+ {\
+ SENSOR5_COLUMN1_INIT_PARAMS,\
+ SENSOR5_COLUMN2_INIT_PARAMS\
+ }\
+}
+
+#define SENSOR6_ELEMENT_IDX 0
+#define SENSOR6_PROPERTY_ID PRESENCE_PID
+#define SENSOR6_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR6_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR6_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR6_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR6_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR6_DATA_LENGTH 1
+#define SENSOR6_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR6_VALUES_RANGE 0
+#define SENSOR6_SETTINGS_COUNT 0
+#define SENSOR6_SERIES_COUNT 0
+
+#define SENSOR6_SETTINGS_INIT_PARAMS \
+{\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR6_INIT_PARAMS \
+{\
+ SENSOR6_ELEMENT_IDX,\
+ SENSOR6_PROPERTY_ID,\
+ SENSOR6_POSITIVE_TOLERANCE,\
+ SENSOR6_NEGATIVE_TOLERANCE,\
+ SENSOR6_SAMPLING_FUNCTION,\
+ SENSOR6_MEASUREMENT_PERIOD,\
+ SENSOR6_UPDATE_INTERVAL,\
+ SENSOR6_DATA_LENGTH,\
+ SENSOR6_CADENCE_STATE,\
+ SENSOR6_VALUES_RANGE,\
+ SENSOR6_SETTINGS_COUNT,\
+ {\
+ {0}\
+ },\
+ SENSOR6_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR_SERVER_INIT_PARAMS \
+{\
+ TOTAL_SENSORS_COUNT,\
+ {\
+ SENSOR1_INIT_PARAMS,\
+ SENSOR2_INIT_PARAMS,\
+ SENSOR3_INIT_PARAMS,\
+ SENSOR4_INIT_PARAMS,\
+ SENSOR5_INIT_PARAMS\
+ }\
+}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/svcctl_conf.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/svcctl_conf.c
new file mode 100644
index 000000000..041fe7fe2
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/svcctl_conf.c
@@ -0,0 +1,82 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file svctl_conf.c
+ * @author MCD Application Team
+ * @brief Configuration of the BLE service controller
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "app_common.h"
+
+#include "otp.h"
+
+/* Private defines -----------------------------------------------------------*/
+#define BD_ADDR_SIZE_LOCAL 6
+
+/* Private variables ---------------------------------------------------------*/
+static const uint8_t M_bd_addr[BD_ADDR_SIZE_LOCAL] =
+{
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000000000FF)),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00000000FF00) >> 8),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x000000FF0000) >> 16),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000FF000000) >> 24),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00FF00000000) >> 32),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0xFF0000000000) >> 40)
+};
+
+static uint8_t bd_addr_udn[BD_ADDR_SIZE_LOCAL];
+
+const uint8_t* SVCCTL_GetBdAddress( void )
+{
+ uint8_t *otp_addr;
+ const uint8_t *bd_addr;
+ uint32_t udn;
+ uint32_t company_id;
+ uint32_t device_id;
+
+ udn = LL_FLASH_GetUDN();
+
+ if(udn != 0xFFFFFFFF)
+ {
+ company_id = LL_FLASH_GetSTCompanyID();
+ device_id = LL_FLASH_GetDeviceID();
+
+ bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
+ bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
+ bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
+ bd_addr_udn[3] = (uint8_t)device_id;
+ bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);
+ bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
+
+ bd_addr = (const uint8_t *)bd_addr_udn;
+ }
+ else
+ {
+ otp_addr = OTP_Read(0);
+ if(otp_addr)
+ {
+ bd_addr = ((OTP_ID0_t*)otp_addr)->bd_address;
+ }
+ else
+ {
+ bd_addr = M_bd_addr;
+ }
+
+ }
+
+ return bd_addr;
+}
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_conf.h
new file mode 100644
index 000000000..6a88e53c1
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_conf.h
@@ -0,0 +1,32 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tl_conf.h
+ * @author MCD Application Team
+ * @brief Transport Layer Configuration
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __TL_CONF_H
+#define __TL_CONF_H
+
+/**
+ * It shall be set to 1 for power optimization when standby is supported
+ */
+#define CFG_BLE_HCI_STDBY 0
+
+
+
+#endif /*__TL_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_dbg_conf.h
new file mode 100644
index 000000000..04ed3d88d
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_dbg_conf.h
@@ -0,0 +1,133 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __TL_DBG_CONF_H
+#define __TL_DBG_CONF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* USER CODE BEGIN Tl_Conf */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h" /* required as some configuration used in dbg_trace.h are set there */
+#include "dbg_trace.h"
+#include "hw_if.h"
+
+/**
+ * Enable or Disable traces
+ * The raw data output is the hci binary packet format as specified by the BT specification *
+ */
+#define TL_SHCI_CMD_DBG_EN 0 /* Reports System commands sent to CPU2 and the command response */
+#define TL_SHCI_CMD_DBG_RAW_EN 0 /* Reports raw data System commands sent to CPU2 and the command response */
+#define TL_SHCI_EVT_DBG_EN 0 /* Reports System Asynchronous Events received from CPU2 */
+#define TL_SHCI_EVT_DBG_RAW_EN 0 /* Reports raw data System Asynchronous Events received from CPU2 */
+
+#define TL_HCI_CMD_DBG_EN 0 /* Reports BLE command sent to CPU2 and the command response */
+#define TL_HCI_CMD_DBG_RAW_EN 0 /* Reports raw data BLE command sent to CPU2 and the command response */
+#define TL_HCI_EVT_DBG_EN 0 /* Reports BLE Asynchronous Events received from CPU2 */
+#define TL_HCI_EVT_DBG_RAW_EN 0 /* Reports raw data BLE Asynchronous Events received from CPU2 */
+
+#define TL_MM_DBG_EN 0 /* Reports the information of the buffer released to CPU2 */
+
+/**
+ * Macro definition
+ */
+
+/**
+ * System Transport Layer
+ */
+#if (TL_SHCI_CMD_DBG_EN != 0)
+#define TL_SHCI_CMD_DBG_MSG PRINT_MESG_DBG
+#define TL_SHCI_CMD_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_SHCI_CMD_DBG_MSG(...)
+#define TL_SHCI_CMD_DBG_BUF(...)
+#endif
+
+#if (TL_SHCI_CMD_DBG_RAW_EN != 0)
+#define TL_SHCI_CMD_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_SHCI_CMD_DBG_RAW(...)
+#endif
+
+#if (TL_SHCI_EVT_DBG_EN != 0)
+#define TL_SHCI_EVT_DBG_MSG PRINT_MESG_DBG
+#define TL_SHCI_EVT_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_SHCI_EVT_DBG_MSG(...)
+#define TL_SHCI_EVT_DBG_BUF(...)
+#endif
+
+#if (TL_SHCI_EVT_DBG_RAW_EN != 0)
+#define TL_SHCI_EVT_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_SHCI_EVT_DBG_RAW(...)
+#endif
+
+/**
+ * BLE Transport Layer
+ */
+#if (TL_HCI_CMD_DBG_EN != 0)
+#define TL_HCI_CMD_DBG_MSG PRINT_MESG_DBG
+#define TL_HCI_CMD_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_HCI_CMD_DBG_MSG(...)
+#define TL_HCI_CMD_DBG_BUF(...)
+#endif
+
+#if (TL_HCI_CMD_DBG_RAW_EN != 0)
+#define TL_HCI_CMD_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_HCI_CMD_DBG_RAW(...)
+#endif
+
+#if (TL_HCI_EVT_DBG_EN != 0)
+#define TL_HCI_EVT_DBG_MSG PRINT_MESG_DBG
+#define TL_HCI_EVT_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_HCI_EVT_DBG_MSG(...)
+#define TL_HCI_EVT_DBG_BUF(...)
+#endif
+
+#if (TL_HCI_EVT_DBG_RAW_EN != 0)
+#define TL_HCI_EVT_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_HCI_EVT_DBG_RAW(...)
+#endif
+
+/**
+ * Memory Manager - Released buffer tracing
+ */
+#if (TL_MM_DBG_EN != 0)
+#define TL_MM_DBG_MSG PRINT_MESG_DBG
+#else
+#define TL_MM_DBG_MSG(...)
+#endif
+
+/* USER CODE END Tl_Conf */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__TL_DBG_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_if.c
new file mode 100644
index 000000000..7b9d0a443
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/tl_if.c
@@ -0,0 +1,47 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tl_if.c
+ * @author MCD Application Team
+ * @brief Transport layer interface to BLE
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "app_common.h"
+
+#include "hci_tl.h"
+#include "shci_tl.h"
+#include "tl.h"
+
+
+void hci_register_io_bus(tHciIO* fops)
+{
+ /* Register IO bus services */
+ fops->Init = TL_BLE_Init;
+ fops->Send = TL_BLE_SendCmd;
+
+ return;
+}
+
+void shci_register_io_bus(tSHciIO* fops)
+{
+ /* Register IO bus services */
+ fops->Init = TL_SYS_Init;
+ fops->Send = TL_SYS_SendCmd;
+
+ return;
+}
+
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.c
new file mode 100644
index 000000000..37b671c48
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.c
@@ -0,0 +1,343 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file user_if.c
+ * @author MCD Application Team
+ * @brief User interface file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "cube_hal.h"
+#include "ble_clock.h"
+#include "hci.h"
+#include "user_if.h"
+#include "hal.h"
+#include "hal_common.h"
+#include "mesh_cfg.h"
+
+#include <stdio.h>
+#ifdef IAR
+#include <yfuns.h>
+#else
+#define _LLIO_STDIN 0
+#define _LLIO_STDOUT 1
+#define _LLIO_STDERR 2
+#define _LLIO_ERROR ((size_t)-1) /* For __read and __write. */
+#endif
+
+
+
+typedef struct _IO_ReceiveCallBack
+{
+ /**
+ * callback to notify the application with the received I/O data
+ */
+ IO_RECEIVE_DATA_USER_CALLBACK_TYPE IO_user_application;
+} IO_ReceiveCallBack;
+/**
+* @}
+*/
+
+#define READ_DATA_SIZE 1024
+#define READ_BUFFER_IS_EMPTY() (Read_ptr_in == Read_ptr_out)
+
+/* IO User Callback used to handle received data from I/O channel*/
+static uint8_t Read_Buffer [READ_DATA_SIZE];
+static uint32_t Read_ptr_in = 0;
+static uint32_t Read_ptr_out = 0;
+/*static volatile uint8_t s_SdkEvalVersion = ID_UNKNOWN;*/
+static IO_ReceiveCallBack IO_Receive_Data;
+static void SdkEval_IO_processInputData(uint8_t * rx_data, uint16_t data_size);
+
+
+/**
+* @brief SetLed Sets the state of led
+* @param int state State for the led GPIO
+* @retval void
+*/
+void SetLed(int state)
+{
+ if (state)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+}
+
+#if 0
+/**
+* @brief GetButtonState
+* @param void
+* @retval BUTTON_STATE returns the status of the userbutton GPIO
+*/
+BUTTON_STATE GetButtonState(void)
+{
+ return HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13);
+}
+
+/**
+* @brief InitButton initializes the GPIO for the user button
+* @param void
+* @retval void
+*/
+void InitButton(void)
+{
+ GPIO_InitTypeDef init;
+ init.Pin = GPIO_PIN_13;
+ init.Mode = GPIO_MODE_INPUT | GPIO_MODE_EVT_FALLING;
+ init.Pull = GPIO_NOPULL;
+ init.Speed = GPIO_SPEED_VERY_LOW;
+ init.Alternate = 0;
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOC, &init);
+ EXTI->FTSR |= EXTI_RTSR_TR13; /* enable wake-up event on falling edge */
+ EXTI->IMR &= ~EXTI_IMR_MR13; /* disable interrupt */
+ EXTI->EMR |= EXTI_EMR_MR13; /* enable event */
+}
+#endif
+
+/**
+* @brief processInputData
+* @param uint8_t * rx_data pointer to receive data
+* @param uint16_t data_size size of receive data
+* @retval void
+*/
+void processInputData(uint8_t * rx_data, uint16_t data_size)
+{
+ SdkEval_IO_processInputData(rx_data, data_size);
+}
+
+/**
+* @brief Configure the selected I/O communication channel
+* @param None.
+* @retval None.
+*/
+void SdkEval_IO_Config(IO_RECEIVE_DATA_USER_CALLBACK_TYPE io_receive_function)
+{
+ IO_Receive_Data.IO_user_application = io_receive_function;
+#if defined (ENABLE_USB)
+ /* Init Device Library */
+ USBD_Init(&USBD_Device, &VCP_Desc, 0);
+
+ /* Add Supported Class */
+ USBD_RegisterClass(&USBD_Device, USBD_CDC_CLASS);
+
+ /* Add CDC Interface Class */
+ USBD_CDC_RegisterInterface(&USBD_Device, &USBD_CDC_fops);
+
+ /* Start Device Process */
+ USBD_Start(&USBD_Device);
+
+#elif defined (ENABLE_USART)
+ /* Init Serial Uart */
+ MX_USART2_UART_Init();
+#endif
+}
+
+/**
+* @brief InitDevice intitializes the Device
+* @param void
+* @retval void
+*/
+void InitDevice(void)
+{
+ Init_Device(); /* Initializes HAL and System Clock */
+
+#ifndef NEWLIB_SYSCALLS
+ SdkEval_IO_Config(processInputData);
+#endif
+ /* Delay for debug purpose, in order to see printed data at startup. */
+#if defined(ENABLE_USART)
+ Clock_Wait(2000);
+#endif
+
+#if defined(ACCELEROMETER_TYPE) || defined(THERMOMETER_TYPE)
+ I2C_Reset();
+ Temperature_Init();
+ Accel_Init();
+#endif
+ InitButton();
+}
+
+
+/**
+* @brief ShouldSleepFunc sleep mode function
+* @param void
+* @retval void
+*/
+void ShouldSleepFunc(void)
+{
+ __disable_irq();
+ __WFE();
+ __NOP();
+ __enable_irq();
+}
+
+/**
+* @brief Receive data on selected I/O port
+* @param rx_data pointer to buffer of received
+* @param data_size number of received data
+* @retval None.
+*/
+void SdkEval_IO_Receive_Data(uint8_t * rx_data, uint16_t data_size)
+{
+ if(IO_Receive_Data.IO_user_application)
+ IO_Receive_Data.IO_user_application(rx_data,data_size);
+
+}
+/**
+* @brief Read buffer push
+* @param byte
+* @retval None.
+*/
+void Read_Buffer_Push(uint8_t byte)
+{
+ Read_Buffer[Read_ptr_in] = byte;
+
+ Read_ptr_in++;
+
+ /* To avoid buffer overflow */
+ if(Read_ptr_in == READ_DATA_SIZE)
+ {
+ Read_ptr_in = 0;
+ }
+}
+/**
+* @brief Read buffer pop
+* @param byte
+* @retval None.
+*/
+int Read_Buffer_Pop(uint8_t *byte)
+{
+ if(READ_BUFFER_IS_EMPTY())
+ return 0;
+
+ *byte = Read_Buffer[Read_ptr_out];
+
+ Read_ptr_out++;
+
+ if(Read_ptr_out == READ_DATA_SIZE)
+ Read_ptr_out = 0;
+
+ return 1;
+}
+/**
+* @brief Process input data
+* @param byte
+* @retval None.
+*/
+static void SdkEval_IO_processInputData(uint8_t * rx_data, uint16_t data_size)
+{
+ for(int i = 0; i < data_size; i++){
+ Read_Buffer_Push(rx_data[i]);
+ }
+}
+extern UART_HandleTypeDef huart2;
+#undef putchar
+/**
+* @brief Put character
+* @param byte
+* @retval None.
+*/
+int putchar(int c)
+{
+ /* wait for the transmission end */
+ while(!(__HAL_UART_GET_FLAG(&huart2, UART_FLAG_TXE)));
+ /* send the data */
+ HAL_UART_Transmit(&huart2, (uint8_t*)&c, 1, UART_TX_TIMEOUT);
+ return c;
+}
+
+void __io_putchar(char c)
+{
+ putchar(c);
+}
+
+/* Required for Keil */
+#ifndef __IAR_SYSTEMS_ICC__
+void _ttywrch(int ch)
+{
+ putchar(ch);
+}
+
+int fputc(int ch, FILE *f)
+{
+ _ttywrch(ch);
+ return(ch);
+}
+int fgetc(FILE *f)
+{
+ return -1;
+}
+#endif
+
+/**
+* @brief Write handle
+* @param buffer
+* @param size
+* @retval None.
+*/
+size_t _write(int handle, const unsigned char * buffer, size_t size)
+{
+ size_t nChars = 0;
+
+ if (handle != _LLIO_STDOUT && handle != _LLIO_STDERR) {
+ return _LLIO_ERROR;
+ }
+
+ if (buffer == 0) {
+ /* This means that we should flush internal buffers.
+ spin until TX complete (TX is idle)*/
+#ifdef ENABLE_USB
+ while (!USB_OUT_BUFFER_IS_EMPTY()) {}
+#endif /* ENABLE_USB */
+ return 0;
+ }
+
+ while(size--) {
+ __io_putchar(*buffer++);
+ ++nChars;
+ }
+
+ return nChars;
+}
+
+/**
+* @brief Read handle
+* @param buffer
+* @param size
+* @retval None.
+*/
+size_t __read(int handle, unsigned char * buffer, size_t size)
+{
+ size_t bytes = 0;
+
+ while(bytes < size && Read_Buffer_Pop(buffer+bytes)){
+ bytes++;
+ }
+ return bytes;
+}
+
+uint8_t __io_getcharNonBlocking(uint8_t *data)
+{
+ if (__read(_LLIO_STDIN,data,1))
+ return 1;
+ else
+ return 0;
+}/* end serialReadByte() */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.h
new file mode 100644
index 000000000..01985c068
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/user_if.h
@@ -0,0 +1,40 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file user_if.h
+ * @author MCD Application Team
+ * @brief Header file for User interface file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef _USER_INTERFACE_H_
+#define _USER_INTERFACE_H_
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx_hal.h"
+#include "stm32wbxx_hal_conf.h"
+#include "ble_clock.h"
+
+#define BUTTON_PRESSED GPIO_PIN_RESET
+
+/* Exported typedefs ---------------------------------------------*/
+typedef GPIO_PinState BUTTON_STATE;
+typedef void (* IO_RECEIVE_DATA_USER_CALLBACK_TYPE) (uint8_t * rx_data, uint16_t data_size);
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+#endif /* _USER_INTERFACE_H_ */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/vcp_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/vcp_conf.h
new file mode 100644
index 000000000..18421e257
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/vcp_conf.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file vcp_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of the vcp interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __VCP_CONF_H
+#define __VCP_CONF_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+#define VCP_BAUD_RATE (115200)
+#define VCP_TX_PATH_INTERFACE_READY_SETUP_TIME (20*1000*1000/CFG_TS_TICK_VAL) /** 20s */
+#define VCP_TASK_ID (CFG_IdleTask_VCP_SendData)
+#define VCP_TASK_PRIO (CFG_SCH_Prio_1)
+
+#ifdef VCP_TX_PATH_INTERFACE_READY_SETUP_TIME
+#define VCP_TIMER_PROC_ID (CFG_TimProcID_isr)
+#endif
+
+/* External variables --------------------------------------------------------*/
+/* Exported macros -----------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__VCP_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/target/hw_ipcc.c
new file mode 100644
index 000000000..ad5c868c8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/target/hw_ipcc.c
@@ -0,0 +1,706 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+#include "mbox_def.h"
+
+/* Global variables ---------------------------------------------------------*/
+/* Private defines -----------------------------------------------------------*/
+#define HW_IPCC_TX_PENDING( channel ) ( !(LL_C1_IPCC_IsActiveFlag_CHx( IPCC, channel )) ) && (((~(IPCC->C1MR)) & (channel << 16U)))
+#define HW_IPCC_RX_PENDING( channel ) (LL_C2_IPCC_IsActiveFlag_CHx( IPCC, channel )) && (((~(IPCC->C1MR)) & (channel << 0U)))
+
+/* Private macros ------------------------------------------------------------*/
+#if ( (STM32WB15xx != 0) && (CFG_LPM_STANDBY_SUPPORTED != 0) )
+#define HW_IPCC_SET_FLAG_CHX(x) HW_IPCC_SetFlagCHx(x)
+#else
+#define HW_IPCC_SET_FLAG_CHX(x) LL_C1_IPCC_SetFlag_CHx(IPCC, x)
+#endif
+/* Private typedef -----------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+static void (*FreeBufCb)( void );
+
+/* Private function prototypes -----------------------------------------------*/
+static void HW_IPCC_BLE_EvtHandler( void );
+static void HW_IPCC_BLE_AclDataEvtHandler( void );
+static void HW_IPCC_MM_FreeBufHandler( void );
+static void HW_IPCC_SYS_CmdEvtHandler( void );
+static void HW_IPCC_SYS_EvtHandler( void );
+static void HW_IPCC_TRACES_EvtHandler( void );
+
+#ifdef THREAD_WB
+static void HW_IPCC_OT_CmdEvtHandler( void );
+static void HW_IPCC_THREAD_NotEvtHandler( void );
+static void HW_IPCC_THREAD_CliNotEvtHandler( void );
+#endif
+
+#ifdef LLD_TESTS_WB
+static void HW_IPCC_LLDTESTS_ReceiveCliRspHandler( void );
+static void HW_IPCC_LLDTESTS_ReceiveM0CmdHandler( void );
+#endif
+#ifdef LLD_BLE_WB
+/*static void HW_IPCC_LLD_BLE_ReceiveCliRspHandler( void );*/
+static void HW_IPCC_LLD_BLE_ReceiveRspHandler( void );
+static void HW_IPCC_LLD_BLE_ReceiveM0CmdHandler( void );
+#endif
+
+#ifdef MAC_802_15_4_WB
+static void HW_IPCC_MAC_802_15_4_CmdEvtHandler( void );
+static void HW_IPCC_MAC_802_15_4_NotEvtHandler( void );
+#endif
+
+#ifdef ZIGBEE_WB
+static void HW_IPCC_ZIGBEE_CmdEvtHandler( void );
+static void HW_IPCC_ZIGBEE_StackNotifEvtHandler( void );
+static void HW_IPCC_ZIGBEE_StackM0RequestHandler( void );
+#endif
+
+#if ( (STM32WB15xx != 0) && (CFG_LPM_STANDBY_SUPPORTED != 0) )
+static void IPCC_Wakeup_CPU2(void);
+static void HW_IPCC_SetFlagCHx(uint32_t Channel);
+#endif
+/* Public function definition -----------------------------------------------*/
+
+/******************************************************************************
+ * INTERRUPT HANDLER
+ ******************************************************************************/
+void HW_IPCC_Rx_Handler( void )
+{
+ if (HW_IPCC_RX_PENDING( HW_IPCC_SYSTEM_EVENT_CHANNEL ))
+ {
+ HW_IPCC_SYS_EvtHandler();
+ }
+#ifdef MAC_802_15_4_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL ))
+ {
+ HW_IPCC_MAC_802_15_4_NotEvtHandler();
+ }
+#endif /* MAC_802_15_4_WB */
+#ifdef THREAD_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL ))
+ {
+ HW_IPCC_THREAD_NotEvtHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL ))
+ {
+ HW_IPCC_THREAD_CliNotEvtHandler();
+ }
+#endif /* THREAD_WB */
+#ifdef LLD_TESTS_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL ))
+ {
+ HW_IPCC_LLDTESTS_ReceiveCliRspHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLDTESTS_M0_CMD_CHANNEL ))
+ {
+ HW_IPCC_LLDTESTS_ReceiveM0CmdHandler();
+ }
+#endif /* LLD_TESTS_WB */
+#ifdef LLD_BLE_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLD_BLE_RSP_CHANNEL ))
+ {
+ HW_IPCC_LLD_BLE_ReceiveRspHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLD_BLE_M0_CMD_CHANNEL ))
+ {
+ HW_IPCC_LLD_BLE_ReceiveM0CmdHandler();
+ }
+#endif /* LLD_TESTS_WB */
+#ifdef ZIGBEE_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL ))
+ {
+ HW_IPCC_ZIGBEE_StackNotifEvtHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL ))
+ {
+ HW_IPCC_ZIGBEE_StackM0RequestHandler();
+ }
+#endif /* ZIGBEE_WB */
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_BLE_EVENT_CHANNEL ))
+ {
+ HW_IPCC_BLE_EvtHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_TRACES_CHANNEL ))
+ {
+ HW_IPCC_TRACES_EvtHandler();
+ }
+
+ return;
+}
+
+void HW_IPCC_Tx_Handler( void )
+{
+ if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_SYS_CmdEvtHandler();
+ }
+#ifdef MAC_802_15_4_WB
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_MAC_802_15_4_CmdEvtHandler();
+ }
+#endif /* MAC_802_15_4_WB */
+#ifdef THREAD_WB
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_OT_CmdEvtHandler();
+ }
+#endif /* THREAD_WB */
+#ifdef LLD_TESTS_WB
+// No TX handler for LLD tests
+#endif /* LLD_TESTS_WB */
+#ifdef ZIGBEE_WB
+ if (HW_IPCC_TX_PENDING( HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL ))
+ {
+ HW_IPCC_ZIGBEE_CmdEvtHandler();
+ }
+#endif /* ZIGBEE_WB */
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_SYS_CmdEvtHandler();
+ }
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
+ {
+ HW_IPCC_MM_FreeBufHandler();
+ }
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_HCI_ACL_DATA_CHANNEL ))
+ {
+ HW_IPCC_BLE_AclDataEvtHandler();
+ }
+
+ return;
+}
+/******************************************************************************
+ * GENERAL
+ ******************************************************************************/
+void HW_IPCC_Enable( void )
+{
+ /**
+ * Such as IPCC IP available to the CPU2, it is required to keep the IPCC clock running
+ when FUS is running on CPU2 and CPU1 enters deep sleep mode
+ */
+ LL_C2_AHB3_GRP1_EnableClock(LL_C2_AHB3_GRP1_PERIPH_IPCC);
+
+ /**
+ * When the device is out of standby, it is required to use the EXTI mechanism to wakeup CPU2
+ */
+ LL_C2_EXTI_EnableEvent_32_63( LL_EXTI_LINE_41 );
+ LL_EXTI_EnableRisingTrig_32_63( LL_EXTI_LINE_41 );
+
+ /**
+ * In case the SBSFU is implemented, it may have already set the C2BOOT bit to startup the CPU2.
+ * In that case, to keep the mechanism transparent to the user application, it shall call the system command
+ * SHCI_C2_Reinit( ) before jumping to the application.
+ * When the CPU2 receives that command, it waits for its event input to be set to restart the CPU2 firmware.
+ * This is required because once C2BOOT has been set once, a clear/set on C2BOOT has no effect.
+ * When SHCI_C2_Reinit( ) is not called, generating an event to the CPU2 does not have any effect
+ * So, by default, the application shall both set the event flag and set the C2BOOT bit.
+ */
+ __SEV( ); /* Set the internal event flag and send an event to the CPU2 */
+ __WFE( ); /* Clear the internal event flag */
+ LL_PWR_EnableBootC2( );
+
+ return;
+}
+
+void HW_IPCC_Init( void )
+{
+ LL_AHB3_GRP1_EnableClock( LL_AHB3_GRP1_PERIPH_IPCC );
+
+ LL_C1_IPCC_EnableIT_RXO( IPCC );
+ LL_C1_IPCC_EnableIT_TXF( IPCC );
+
+ HAL_NVIC_EnableIRQ(IPCC_C1_RX_IRQn);
+ HAL_NVIC_EnableIRQ(IPCC_C1_TX_IRQn);
+
+ return;
+}
+
+#if(CFG_LPM_STANDBY_SUPPORTED != 0)
+static void IPCC_Wakeup_CPU2(void)
+{
+
+ /**
+ * When the device is out of standby, it is required to use the EXTI mechanism to wakeup CPU2
+ */
+ LL_C2_EXTI_EnableEvent_32_63( LL_EXTI_LINE_41 );
+ LL_EXTI_EnableRisingTrig_32_63( LL_EXTI_LINE_41 );
+
+ __SEV( ); /* Set the internal event flag and send an event to the CPU2 */
+ __WFE( ); /* Clear the internal event flag */
+
+ return;
+}
+
+static void HW_IPCC_SetFlagCHx(uint32_t Channel)
+{
+ IPCC_Wakeup_CPU2();
+ LL_C1_IPCC_SetFlag_CHx(IPCC, Channel);
+
+ return;
+}
+#endif
+/******************************************************************************
+ * BLE
+ ******************************************************************************/
+void HW_IPCC_BLE_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_BLE_EVENT_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_BLE_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_BLE_CMD_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_BLE_EvtHandler( void )
+{
+ HW_IPCC_BLE_RxEvtNot();
+
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_BLE_EVENT_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_BLE_SendAclData( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_HCI_ACL_DATA_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_BLE_AclDataEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL );
+
+ HW_IPCC_BLE_AclDataAckNot();
+
+ return;
+}
+
+__weak void HW_IPCC_BLE_AclDataAckNot( void ){};
+__weak void HW_IPCC_BLE_RxEvtNot( void ){};
+
+/******************************************************************************
+ * SYSTEM
+ ******************************************************************************/
+void HW_IPCC_SYS_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_SYSTEM_EVENT_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_SYS_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_SYS_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
+
+ HW_IPCC_SYS_CmdEvtNot();
+
+ return;
+}
+
+static void HW_IPCC_SYS_EvtHandler( void )
+{
+ HW_IPCC_SYS_EvtNot();
+
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_SYSTEM_EVENT_CHANNEL );
+
+ return;
+}
+
+__weak void HW_IPCC_SYS_CmdEvtNot( void ){};
+__weak void HW_IPCC_SYS_EvtNot( void ){};
+
+/******************************************************************************
+ * MAC 802.15.4
+ ******************************************************************************/
+#ifdef MAC_802_15_4_WB
+void HW_IPCC_MAC_802_15_4_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_MAC_802_15_4_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_MAC_802_15_4_SendAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_MAC_802_15_4_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
+
+ HW_IPCC_MAC_802_15_4_CmdEvtNot();
+
+ return;
+}
+
+static void HW_IPCC_MAC_802_15_4_NotEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+
+ HW_IPCC_MAC_802_15_4_EvtNot();
+
+ return;
+}
+__weak void HW_IPCC_MAC_802_15_4_CmdEvtNot( void ){};
+__weak void HW_IPCC_MAC_802_15_4_EvtNot( void ){};
+#endif
+
+/******************************************************************************
+ * THREAD
+ ******************************************************************************/
+#ifdef THREAD_WB
+void HW_IPCC_THREAD_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_OT_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_CLI_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_THREAD_CLI_CMD_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_THREAD_SendAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_THREAD_CliSendAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_OT_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
+
+ HW_IPCC_OT_CmdEvtNot();
+
+ return;
+}
+
+static void HW_IPCC_THREAD_NotEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+
+ HW_IPCC_THREAD_EvtNot();
+
+ return;
+}
+
+static void HW_IPCC_THREAD_CliNotEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+
+ HW_IPCC_THREAD_CliEvtNot();
+
+ return;
+}
+
+__weak void HW_IPCC_OT_CmdEvtNot( void ){};
+__weak void HW_IPCC_CLI_CmdEvtNot( void ){};
+__weak void HW_IPCC_THREAD_EvtNot( void ){};
+
+#endif /* THREAD_WB */
+
+/******************************************************************************
+ * LLD TESTS
+ ******************************************************************************/
+#ifdef LLD_TESTS_WB
+void HW_IPCC_LLDTESTS_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ return;
+}
+
+void HW_IPCC_LLDTESTS_SendCliCmd( void )
+{
+ LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_LLDTESTS_CLI_CMD_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLDTESTS_ReceiveCliRspHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ HW_IPCC_LLDTESTS_ReceiveCliRsp();
+ return;
+}
+
+void HW_IPCC_LLDTESTS_SendCliRspAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLDTESTS_ReceiveM0CmdHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ HW_IPCC_LLDTESTS_ReceiveM0Cmd();
+ return;
+}
+
+void HW_IPCC_LLDTESTS_SendM0CmdAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ return;
+}
+__weak void HW_IPCC_LLDTESTS_ReceiveCliRsp( void ){};
+__weak void HW_IPCC_LLDTESTS_ReceiveM0Cmd( void ){};
+#endif /* LLD_TESTS_WB */
+
+/******************************************************************************
+ * LLD BLE
+ ******************************************************************************/
+#ifdef LLD_BLE_WB
+void HW_IPCC_LLD_BLE_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ return;
+}
+
+void HW_IPCC_LLD_BLE_SendCliCmd( void )
+{
+ LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_LLD_BLE_CLI_CMD_CHANNEL );
+ return;
+}
+
+/*static void HW_IPCC_LLD_BLE_ReceiveCliRspHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
+ HW_IPCC_LLD_BLE_ReceiveCliRsp();
+ return;
+}*/
+
+void HW_IPCC_LLD_BLE_SendCliRspAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLD_BLE_ReceiveM0CmdHandler( void )
+{
+ //LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ HW_IPCC_LLD_BLE_ReceiveM0Cmd();
+ return;
+}
+
+void HW_IPCC_LLD_BLE_SendM0CmdAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ //LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ return;
+}
+__weak void HW_IPCC_LLD_BLE_ReceiveCliRsp( void ){};
+__weak void HW_IPCC_LLD_BLE_ReceiveM0Cmd( void ){};
+
+/* Transparent Mode */
+void HW_IPCC_LLD_BLE_SendCmd( void )
+{
+ LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_LLD_BLE_CMD_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLD_BLE_ReceiveRspHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ HW_IPCC_LLD_BLE_ReceiveRsp();
+ return;
+}
+
+void HW_IPCC_LLD_BLE_SendRspAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ return;
+}
+
+#endif /* LLD_BLE_WB */
+
+/******************************************************************************
+ * ZIGBEE
+ ******************************************************************************/
+#ifdef ZIGBEE_WB
+void HW_IPCC_ZIGBEE_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_ZIGBEE_SendM4RequestToM0( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_ZIGBEE_SendM4AckToM0Notify( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_ZIGBEE_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
+
+ HW_IPCC_ZIGBEE_RecvAppliAckFromM0();
+
+ return;
+}
+
+static void HW_IPCC_ZIGBEE_StackNotifEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+
+ HW_IPCC_ZIGBEE_RecvM0NotifyToM4();
+
+ return;
+}
+
+static void HW_IPCC_ZIGBEE_StackM0RequestHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+
+ HW_IPCC_ZIGBEE_RecvM0RequestToM4();
+
+ return;
+}
+
+void HW_IPCC_ZIGBEE_SendM4AckToM0Request( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+
+ return;
+}
+
+__weak void HW_IPCC_ZIGBEE_RecvAppliAckFromM0( void ){};
+__weak void HW_IPCC_ZIGBEE_RecvM0NotifyToM4( void ){};
+__weak void HW_IPCC_ZIGBEE_RecvM0RequestToM4( void ){};
+#endif /* ZIGBEE_WB */
+
+/******************************************************************************
+ * MEMORY MANAGER
+ ******************************************************************************/
+void HW_IPCC_MM_SendFreeBuf( void (*cb)( void ) )
+{
+ if ( LL_C1_IPCC_IsActiveFlag_CHx( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ) )
+ {
+ FreeBufCb = cb;
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+ }
+ else
+ {
+ cb();
+
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+ }
+
+ return;
+}
+
+static void HW_IPCC_MM_FreeBufHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+
+ FreeBufCb();
+
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+
+ return;
+}
+
+/******************************************************************************
+ * TRACES
+ ******************************************************************************/
+void HW_IPCC_TRACES_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_TRACES_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_TRACES_EvtHandler( void )
+{
+ HW_IPCC_TRACES_EvtNot();
+
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_TRACES_CHANNEL );
+
+ return;
+}
+
+__weak void HW_IPCC_TRACES_EvtNot( void ){};
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/readme.txt
new file mode 100644
index 000000000..d2be02698
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/readme.txt
@@ -0,0 +1,245 @@
+/**
+ @page BLE_MeshLightingLPN example
+
+ @verbatim
+ ******************** (C) COPYRIGHT 2020 STMicroelectronics *******************
+ * @file BLE/BLE_MeshLightingLPN/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the BLE Mesh Lighting Low Power Node demo example.
+ ******************************************************************************
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ @endverbatim
+
+@par Example Description
+This is the implementation of the BLE Mesh Low Power Node profile as specified by the BLE SIG,
+a Low Power Node with the capacity to be associated to a Proxy-Relay-Friend Node for Friendship.
+
+@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 Keywords
+
+Connectivity, BLE, IPCC, HSEM, RTC, UART, PWR, BLE protocol, BLE mesh, Dual core
+
+@par Directory contents
+ mesh_lighting_demo
+ - BLE/BLE_MeshLightingLPN/Core/Inc/app_common.h Header for all modules with common definition
+ - BLE/BLE_MeshLightingLPN/Core/Inc/app_conf.h Parameters configuration file of the application
+ - BLE/BLE_MeshLightingLPN/Core/Inc/app_debug.h Interface to support debug in the application
+ - BLE/BLE_MeshLightingLPN/Core/Inc/app_entry.h Parameters configuration file of the application
+ - BLE/BLE_MeshLightingLPN/Core/Inc/hw_conf.h Configuration file of the HW
+ - BLE/BLE_MeshLightingLPN/Core/Inc/hw_flash.h Configuration file of the FLASH driver needed by EE module
+ - BLE/BLE_MeshLightingLPN/Core/Inc/hw_if.h Configuration file of the Hardware Interface
+ - BLE/BLE_MeshLightingLPN/Core/Inc/lp_timer.h Configuration file of the Low power timer to be used within Mesh Application.
+ - BLE/BLE_MeshLightingLPN/Core/Inc/main.h Header for main.c module
+ - BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_hal_conf.h HAL configuration file
+ - BLE/BLE_MeshLightingLPN/Core/Inc/stm32_lpm_if.h Configuration file of the Low layer function to enter/exit low power modes (stop, sleep).
+ - BLE/BLE_MeshLightingLPN/Core/Inc/stm32wbxx_it.h Interrupt handlers header file
+ - BLE/BLE_MeshLightingLPN/Core/Inc/utilities_conf.h Configuration file of the utilities
+ - BLE/BLE_MeshLightingLPN/Core/Inc/vcp_conf.h Configuration file of Virtual Com Port Interface
+ - BLE/BLE_MeshLightingLPN/Core/Src/app_debug.c Interface to support debug in the application
+ - BLE/BLE_MeshLightingLPN/Core/Src/app_entry.c Initialization of the application
+ - BLE/BLE_MeshLightingLPN/Core/Src/hw_flash.c FLASH driver needed by EE module
+ - BLE/BLE_MeshLightingLPN/Core/Src/hw_timerserver.c Timer Server based on RTC
+ - BLE/BLE_MeshLightingLPN/Core/Src/hw_uart.c UART Driver
+ - BLE/BLE_MeshLightingLPN/Core/Src/lp_timer.c Low power timer to be used within Mesh Application.
+ - BLE/BLE_MeshLightingLPN/Core/Src/main.c Main program
+ - BLE/BLE_MeshLightingLPN/Core/Src/stm32_lpm_if.c Low Power Manager Interface
+ - BLE/BLE_MeshLightingLPN/Core/Src/stm32wbxx_it.c Interrupt handlers
+ - BLE/BLE_MeshLightingLPN/Core/Src/system_stm32wbxx.c stm32wbxx system source file
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/app_ble.c BLE Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/app_ble.h Header of BLE Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_config.c Application interface for Config Server Mesh Model
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_config.h Header of Application interface for Config Server Mesh Model
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_config_client.c Application interface for Config CLient Mesh Model
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_config_client.h Header of Application interface for Config CLient Mesh Model
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_generic.c Application interface for Generic Mesh Models
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_generic.h Header of Application interface for Generic Mesh Models
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_generic_client.c Application interface for Client Generic Mesh Models
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_generic_client.h Header of Application interface for Client Generic Mesh Models
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_light.c BLE Mesh Light Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_light.h Header of BLE Mesh Light Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_light_client.c Application interface for Client Light Mesh Models
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_light_client.h Header of Application interface for Client Light Mesh Models
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_light_lc.c BLE Mesh Light Lightness Controller Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_light_lc.h Header of BLE Mesh Light Lightness Controller Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_mesh.c BLE Mesh application implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_mesh.h Header of BLE Mesh application implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_nvm.c BLE Mesh NVM application implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_nvm.h Header of BLE Mesh NVM application implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_sensor.c BLE Mesh Server Sensor Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_sensor.h Header of BLE Mesh Server Sensor Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_sensor_client.c BLE Mesh Client Sensor Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_sensor_client.h Header of BLE Mesh Client Sensor Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_vendor.c BLE Mesh Vendor Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/appli_vendor.h Header of BLE Mesh Vendor Profile implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/ble_conf.h BLE Services configuration
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/ble_dbg_conf.h BLE Traces configuration of the BLE services
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/hal_common.h Header for common function of HAL file
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/mesh_cfg.h Header for Mesh configuration
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/mesh_cfg_usr.h Header for user Mesh configuration
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/models_if.h Header for the BLE Mesh Models Interface file
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/models_if.c BLE Mesh Models Interface file
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/pal_nvm.c BLE Mesh NVM management implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/pal_nvm.h Header of BLE Mesh NVM management implementation
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/PWM_config.c Pulse Width Modulation configuration
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/PWM_config.h Header of Pulse Width Modulation configuration
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/PWM_handlers.c Pulse Width Modulation handlers
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/PWM_handlers.h Header of Pulse Width Modulation handlers
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/sensor_cfg_usr.c Header for user Mesh Sensor Model configuration
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/svcctl_conf.c Service Controller configuration API
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/tl_conf.h Configuration file of the Transport layer
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/tl_dbg_conf.h Debug configuration file for stm32wpan transport layer interface.
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/tl_if.c Transport Layer interface
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/user_if.h Header file for User interface file
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/user_if.c User interface file
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/App/vcp_conf.h Configuration of the vcp interface
+ - BLE/BLE_MeshLightingLPN/STM32_WPAN/Target/hw_ipcc.c IPCC Driver
+
+
+@par Hardware and Software environment
+
+ - This example runs on STM32WB15xx devices.
+
+ - This example has been tested with an STMicroelectronics STM32WB15CC-Nucleo
+ board and can be easily tailored to any other supported device
+ and development board.
+
+@par How to use it ?
+
+This application requires having the stm32wb1x_BLE_Stack_basic_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
+
+@Introduction
+
+The ST BLE-Mesh library supports all of the following features in a Mesh node:
+1. Relay: to forward received network PDUs on advertising or GATT bearer, if the Proxy feature is enabled
+2. Proxy: to forward received network PDUs between GATT and advertising bearers
+3. Friend: can perform duties such as scanning for other associated nodes that are usually Low Power mode
+4. Low Power: consumes much less power as the node usually does not perform any scanning
+A typical BLE Mesh node radio should always be in scanning mode to avoid missing packets over the air, but this kind of
+operation is not supported by many devices due to continuous energy requirements.
+To enable low power operation, BLE Mesh Profile v1.0 defines the concept of Friendship.
+In a Mesh network, a Low Power feature-enabled Mesh node (LPN) offloads its packet receiving (scanning) duty to an adjacent
+Friend feature-enabled Mesh node (FN). The LPN is not always scanning and remains inactive (or sleeps) for most of its life
+cycle, significantly reducing its energy requirements. Nodes running on batteries or energy harvesting techniques usually
+support the Low Power feature.
+Once connected to each other, the FN and LPN are considered friends and their connection is known as a Friendship. At least
+one FN must be in the direct radio range of an LPN to establish Friendship.
+
+@Configuration
+
+Low Power Node
+Low Power feature support is defined in mesh_cfg_usr.h by the predefinition of ENABLE_LOW_POWER_FEATURE.
+Note: A Low Power feature-enabled node does not support any other feature: all the other features should be
+undefined.
+
+@Demo setup based on STM32WB15CC-Nucleo
+
+General default setting defined in mesh_cfg_usr.h:
+ ENABLE_GENERIC_MODEL_SERVER_ONOFF (1) /* GENERIC SERVER ONOFF MODEL ON FIRST ELEMENT */
+ ENABLE_VENDOR_MODEL_SERVER (1) /* VENDOR SERVER MODEL ON FIRST ELEMENT */
+ APPLICATION_NUMBER_OF_ELEMENTS 1 /* NUMBER OF ELEMENT SUPPORTED */
+ APPLICATION_SIG_MODELS_MAX_COUNT 1 /* TOTAL NUMBER OF MODELS SUPPORTED */
+ APPLICATION_VENDOR_MODELS_MAX_COUNT 1 /* TOTAL NIMBER OF VENDOR MODELS SUPPORTED */
+ ENABLE_LOW_POWER_FEATURE /* LOW POWER SUPPORT */
+ ENABLE_PB_ADV /* Provisioning Bearer over advertising channels support */
+ ENABLE_PB_GATT /* Provisioning Bearer over GATT proxy support */
+
+The following demo based on STM32WB15CC-Nucleo has been set up using one board as a Friend node and two
+boards as Low Power nodes.
+
+Low Power node setup:
+Step 1. Configure LPN parameters.
+ Change only if required otherwise skip this step (use example parameters defined in mesh_cfg_usr.h)
+ LPN_RSSI_FACTOR_LEVEL 1
+ LPN_RECIVE_WINDOW_FACTOR_LEVEL 1
+ LPN_MINIMUM_QUEUE_SIZE_LOG 2
+ LPN_RECEIVE_DELAY 150 ms
+ LPN_POLL_TIMEOUT 2000 (*100 ms)
+ LPN_RECEIVE_WINDOW_SIZE 55 ms
+ LPN_SUBSCR_LIST_SIZE 2
+ LPN_FRIEND_REQUEST_FREQUENCY 50 (*100 ms)
+ LPN_FRIEND_POLL_FREQUENCY 25 (*100 ms)
+ LPN_MINIMUM_RSSI -100
+ LPN_NO_OF_RETRIES 10
+Step 2. Generate and flash binary in 2 boards (LPN1, LPN2)
+
+Friend Node setup (use the Proxy Relay Friend Node BLE_MeshLightingPRFNode project):
+Step 1. Generate and flash binary in a board (FN)
+Step 2. Provision the 3 boards with the default parameters, using BLE-Mesh Android (https://play.google.com/store/apps/details?id=com.st.bluenrgmesh&hl=en) or
+ BLE-Mesh iOS (https://apps.apple.com/us/app/st-ble-mesh/id1348645067) smartphone application (subscribe and publish to default group)
+
+
+Demo operation
+After provisioning, it might take a few seconds for Friendship to be established between FN and LPNs.
+In this demo, the FN establishes Friendship with LPN1 and LPN2, LPN2 is optional.
+Any packet targeted to LPN1/LPN2 or to a group address subscribed by LPN1 or LPN2 is put in queue by the FN
+that forwards packets to LPN1/LPN2 as soon as it receives a Friend Poll from the respective LPN.
+The LPN is free to send packets (generate traffic) any time.
+
+By pressing [SW1] button on the Friend Node:
+1. FN publishes a LED ON command to the default group and the FN blue LED immediately turns on (when the
+FN belongs to the default group).
+2. FN forwards a LED ON command to the LPNs subscribed to the default group. As soon as the FN receives
+poll from an LPN, it sends LED ON to the respective LPN.
+
+ FN LPN1 LPN2
+ | | |
+ SW1 PUSH->| | |
+ Blue LED on->| | |
+ |<--Friend Poll--| |
+ | | |
+ |-----LED on---->|<-Blue LED on |
+ | |
+ |<----------Friend Poll----------|
+ | |
+ |-------------LED on------------>|<-Blue LED on
+ | |
+
+By pressing [SW1] button on the Low Power Node 1:
+1. LPN1 publishes an LED OFF command to the default group. LPN1 blue LED tunrs off.
+ LPN1 immediately forwards LED OFF command to the default group.
+2. FN receives an LED OFF command (as it is subscribed to the default group) and the FN blue LED turns off.
+3. FN also sends an LED OFF command to LPN2 (subscribed to the default group) as soon as FN receives
+ poll from LPN2.
+
+ FN LPN1 LPN2
+ | | |
+ | SW1 PUSH->|<-Blue LED off |
+ Blue LED off->|<----LED off----| |
+ | |
+ |<----------Friend Poll----------|
+ | |
+ |------------LED off------------>|<-Blue LED off
+ | |
+
+* <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
+ */
+ \ No newline at end of file
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_common.h
new file mode 100644
index 000000000..62e8ad603
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_common.h
@@ -0,0 +1,116 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_COMMON_H
+#define APP_COMMON_H
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#include <stdint.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#include "app_conf.h"
+
+ /* -------------------------------- *
+ * Basic definitions *
+ * -------------------------------- */
+
+#undef NULL
+#define NULL 0
+
+#undef FALSE
+#define FALSE 0
+
+#undef TRUE
+#define TRUE (!0)
+
+ /* -------------------------------- *
+ * Critical Section definition *
+ * -------------------------------- */
+#define BACKUP_PRIMASK() uint32_t primask_bit= __get_PRIMASK()
+#define DISABLE_IRQ() __disable_irq()
+#define RESTORE_PRIMASK() __set_PRIMASK(primask_bit)
+
+ /* -------------------------------- *
+ * Macro delimiters *
+ * -------------------------------- */
+
+#define M_BEGIN do {
+
+#define M_END } while(0)
+
+ /* -------------------------------- *
+ * Some useful macro definitions *
+ * -------------------------------- */
+
+#ifndef MAX
+#define MAX( x, y ) (((x)>(y))?(x):(y))
+#endif
+
+#ifndef MIN
+#define MIN( x, y ) (((x)<(y))?(x):(y))
+#endif
+
+#define MODINC( a, m ) M_BEGIN (a)++; if ((a)>=(m)) (a)=0; M_END
+
+#define MODDEC( a, m ) M_BEGIN if ((a)==0) (a)=(m); (a)--; M_END
+
+#define MODADD( a, b, m ) M_BEGIN (a)+=(b); if ((a)>=(m)) (a)-=(m); M_END
+
+#define MODSUB( a, b, m ) MODADD( a, (m)-(b), m )
+
+#define PAUSE( t ) M_BEGIN \
+ __IO int _i; \
+ for ( _i = t; _i > 0; _i -- ); \
+ M_END
+
+#define DIVF( x, y ) ((x)/(y))
+
+#define DIVC( x, y ) (((x)+(y)-1)/(y))
+
+#define DIVR( x, y ) (((x)+((y)/2))/(y))
+
+#define SHRR( x, n ) ((((x)>>((n)-1))+1)>>1)
+
+#define BITN( w, n ) (((w)[(n)/32] >> ((n)%32)) & 1)
+
+#define BITNSET( w, n, b ) M_BEGIN (w)[(n)/32] |= ((U32)(b))<<((n)%32); M_END
+
+ /* -------------------------------- *
+ * Compiler *
+ * -------------------------------- */
+#define PLACE_IN_SECTION( __x__ ) __attribute__((section (__x__)))
+
+#ifdef WIN32
+#define ALIGN(n)
+#else
+#define ALIGN(n) __attribute__((aligned(n)))
+#endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*APP_COMMON_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_conf.h
new file mode 100644
index 000000000..75ab68238
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_conf.h
@@ -0,0 +1,637 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_CONF_H
+#define APP_CONF_H
+
+#include "hw.h"
+#include "hw_conf.h"
+#include "hw_if.h"
+#include "ble_bufsize.h"
+
+/******************************************************************************
+ * MESH Application Config
+ ******************************************************************************/
+
+/**< generic parameters ******************************************************/
+
+/**
+ * Define Tx Power
+ */
+#define CFG_TX_POWER (0x18) /* -0.15dBm */
+
+/**
+ * Define Advertising parameters
+ */
+#define CFG_ADV_BD_ADDRESS (0x7257acd87a6c)
+#define CFG_FAST_CONN_ADV_INTERVAL_MIN (0x80) /**< 80ms */
+#define CFG_FAST_CONN_ADV_INTERVAL_MAX (0xA0) /**< 100ms */
+#define CFG_LP_CONN_ADV_INTERVAL_MIN (0x640) /**< 1s */
+#define CFG_LP_CONN_ADV_INTERVAL_MAX (0xFA0) /**< 2.5s */
+
+/**
+ * Define IO Authentication
+ */
+#define CFG_BONDING_MODE (1)
+#define CFG_FIXED_PIN (111111)
+#define CFG_USED_FIXED_PIN (0)
+#define CFG_ENCRYPTION_KEY_SIZE_MAX (16)
+#define CFG_ENCRYPTION_KEY_SIZE_MIN (8)
+
+/**
+ * Define IO capabilities
+ */
+#define CFG_IO_CAPABILITY_DISPLAY_ONLY (0x00)
+#define CFG_IO_CAPABILITY_DISPLAY_YES_NO (0x01)
+#define CFG_IO_CAPABILITY_KEYBOARD_ONLY (0x02)
+#define CFG_IO_CAPABILITY_NO_INPUT_NO_OUTPUT (0x03)
+#define CFG_IO_CAPABILITY_KEYBOARD_DISPLAY (0x04)
+
+#define CFG_IO_CAPABILITY CFG_IO_CAPABILITY_DISPLAY_YES_NO
+
+/**
+ * Define MITM modes
+ */
+#define CFG_MITM_PROTECTION_NOT_REQUIRED (0x00)
+#define CFG_MITM_PROTECTION_REQUIRED (0x01)
+
+#define CFG_MITM_PROTECTION CFG_MITM_PROTECTION_REQUIRED
+
+/**
+ * Define Secure Connections Support
+ */
+#define CFG_SECURE_NOT_SUPPORTED (0x00)
+#define CFG_SECURE_OPTIONAL (0x01)
+#define CFG_SECURE_MANDATORY (0x02)
+
+#define CFG_SC_SUPPORT CFG_SECURE_OPTIONAL
+
+/**
+ * Define Keypress Notification Support
+ */
+#define CFG_KEYPRESS_NOT_SUPPORTED (0x00)
+#define CFG_KEYPRESS_SUPPORTED (0x01)
+
+#define CFG_KEYPRESS_NOTIFICATION_SUPPORT CFG_KEYPRESS_NOT_SUPPORTED
+
+/**
+ * Numeric Comparison Answers
+ */
+#define YES (0x01)
+#define NO (0x00)
+
+/**
+ * Device name configuration for Generic Access Service
+ */
+#define CFG_GAP_DEVICE_NAME "TEMPLATE"
+#define CFG_GAP_DEVICE_NAME_LENGTH (8)
+
+/**
+ * Define PHY
+ */
+#define ALL_PHYS_PREFERENCE 0x00
+#define RX_2M_PREFERRED 0x02
+#define TX_2M_PREFERRED 0x02
+#define TX_1M 0x01
+#define TX_2M 0x02
+#define RX_1M 0x01
+#define RX_2M 0x02
+
+/**
+* Identity root key used to derive LTK and CSRK
+*/
+#define CFG_BLE_IRK {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0}
+
+/**
+* Encryption root key used to derive LTK and CSRK
+*/
+#define CFG_BLE_ERK {0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21, 0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21}
+
+/**
+ * SMPS supply
+ * SMPS not used when Set to 0
+ * SMPS used when Set to 1
+ */
+#define CFG_USE_SMPS 0
+
+/* USER CODE BEGIN Generic_Parameters */
+
+/* USER CODE END Generic_Parameters */
+
+/**< specific parameters */
+/******************************************************************************
+ * BLE Stack
+ ******************************************************************************/
+/**
+ * Maximum number of simultaneous connections that the device will support.
+ * Valid values are from 1 to 8
+ */
+#define CFG_BLE_NUM_LINK 2
+
+/**
+ * Maximum number of Services that can be stored in the GATT database.
+ * Note that the GAP and GATT services are automatically added so this parameter should be 2 plus the number of user services
+ */
+#define CFG_BLE_NUM_GATT_SERVICES 4
+
+/**
+ * Maximum number of Attributes
+ * (i.e. the number of characteristic + the number of characteristic values + the number of descriptors, excluding the services)
+ * that can be stored in the GATT database.
+ * Note that certain characteristics and relative descriptors are added automatically during device initialization
+ * so this parameters should be 9 plus the number of user Attributes
+ */
+#define CFG_BLE_NUM_GATT_ATTRIBUTES 30
+
+/**
+ * Maximum supported ATT_MTU size
+ * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1"
+ */
+#define CFG_BLE_MAX_ATT_MTU (23/*156*/)
+
+/**
+ * Size of the storage area for Attribute values
+ * This value depends on the number of attributes used by application. In particular the sum of the following quantities (in octets) should be made for each attribute:
+ * - attribute value length
+ * - 5, if UUID is 16 bit; 19, if UUID is 128 bit
+ * - 2, if server configuration descriptor is used
+ * - 2*DTM_NUM_LINK, if client configuration descriptor is used
+ * - 2, if extended properties is used
+ * The total amount of memory needed is the sum of the above quantities for each attribute.
+ * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1"
+ */
+#define CFG_BLE_ATT_VALUE_ARRAY_SIZE (1290)
+
+/**
+ * Prepare Write List size in terms of number of packet
+ * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1"
+ */
+#define CFG_BLE_PREPARE_WRITE_LIST_SIZE BLE_PREP_WRITE_X_ATT(CFG_BLE_MAX_ATT_MTU)
+
+/**
+ * Number of allocated memory blocks
+ * This parameter is overwritten by the CPU2 with an hardcoded optimal value when the parameter when CFG_BLE_OPTIONS is set to 1
+ */
+#define CFG_BLE_MBLOCK_COUNT (BLE_MBLOCKS_CALC(CFG_BLE_PREPARE_WRITE_LIST_SIZE, CFG_BLE_MAX_ATT_MTU, CFG_BLE_NUM_LINK))
+
+/**
+ * Enable or disable the Extended Packet length feature. Valid values are 0 or 1.
+ */
+#define CFG_BLE_DATA_LENGTH_EXTENSION 1
+
+/**
+ * Sleep clock accuracy in Slave mode (ppm value)
+ */
+#define CFG_BLE_SLAVE_SCA 500
+
+/**
+ * Sleep clock accuracy in Master mode
+ * 0 : 251 ppm to 500 ppm
+ * 1 : 151 ppm to 250 ppm
+ * 2 : 101 ppm to 150 ppm
+ * 3 : 76 ppm to 100 ppm
+ * 4 : 51 ppm to 75 ppm
+ * 5 : 31 ppm to 50 ppm
+ * 6 : 21 ppm to 30 ppm
+ * 7 : 0 ppm to 20 ppm
+ */
+#define CFG_BLE_MASTER_SCA 0
+
+/**
+ * Source for the low speed clock for RF wake-up
+ * 1 : external high speed crystal HSE/32/32
+ * 0 : external low speed crystal ( no calibration )
+ */
+#define CFG_BLE_LSE_SOURCE 0
+
+/**
+ * Start up time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 us (~2.44 us)
+ */
+#define CFG_BLE_HSE_STARTUP_TIME 0x148
+
+/**
+ * Maximum duration of the connection event when the device is in Slave mode in units of 625/256 us (~2.44 us)
+ */
+#define CFG_BLE_MAX_CONN_EVENT_LENGTH (0xFFFFFFFF)
+
+/**
+ * Viterbi Mode
+ * 1 : enabled
+ * 0 : disabled
+ */
+#define CFG_BLE_VITERBI_MODE 1
+
+/**
+ * BLE stack Options flags to be configured with:
+ * - SHCI_C2_BLE_INIT_OPTIONS_LL_ONLY
+ * - SHCI_C2_BLE_INIT_OPTIONS_LL_HOST
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_SVC_CHANGE_DESC
+ * - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
+ * - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
+ * - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
+ * - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3 * which are used to set following configuration bits:
+ * (bit 0): 1: LL only
+ * 0: LL + host
+ * (bit 1): 1: no service change desc.
+ * 0: with service change desc.
+ * (bit 2): 1: device name Read-Only
+ * 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
+ * (bit 7): 1: LE Power Class 1
+ * 0: LE Power Class 2-3
+ * other bits: reserved (shall be set to 0)
+ */
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+
+#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
+
+#define CFG_BLE_MIN_TX_POWER (0)
+
+#define CFG_BLE_MAX_TX_POWER (0)
+
+
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+* which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
+/******************************************************************************
+ * Transport Layer
+ ******************************************************************************/
+/**
+ * Queue length of BLE Event
+ * This parameter defines the number of asynchronous events that can be stored in the HCI layer before
+ * being reported to the application. When a command is sent to the BLE core coprocessor, the HCI layer
+ * is waiting for the event with the Num_HCI_Command_Packets set to 1. The receive queue shall be large
+ * enough to store all asynchronous events received in between.
+ * When CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE is set to 27, this allow to store three 255 bytes long asynchronous events
+ * between the HCI command and its event.
+ * This parameter depends on the value given to CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE. When the queue size is to small,
+ * the system may hang if the queue is full with asynchronous events and the HCI layer is still waiting
+ * for a CC/CS event, In that case, the notification TL_BLE_HCI_ToNot() is called to indicate
+ * to the application a HCI command did not receive its command event within 30s (Default HCI Timeout).
+ */
+#define CFG_TLBLE_EVT_QUEUE_LENGTH 5
+/**
+ * This parameter should be set to fit most events received by the HCI layer. It defines the buffer size of each element
+ * allocated in the queue of received events and can be used to optimize the amount of RAM allocated by the Memory Manager.
+ * It should not exceed 255 which is the maximum HCI packet payload size (a greater value is a lost of memory as it will
+ * never be used)
+ * It shall be at least 4 to receive the command status event in one frame.
+ * The default value is set to 27 to allow receiving an event of MTU size in a single buffer. This value maybe reduced
+ * further depending on the application.
+ */
+#define CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE 255 /**< Set to 255 with the memory manager and the mailbox */
+
+#define TL_BLE_EVENT_FRAME_SIZE ( TL_EVT_HDR_SIZE + CFG_TLBLE_MOST_EVENT_PAYLOAD_SIZE )
+/******************************************************************************
+ * UART interfaces
+ ******************************************************************************/
+
+/**
+ * Select UART interfaces
+ */
+#define CFG_DEBUG_TRACE_UART hw_uart1
+#define CFG_CONSOLE_MENU hw_lpuart1
+
+/******************************************************************************
+ * USB interface
+ ******************************************************************************/
+
+/**
+ * Enable/Disable USB interface
+ */
+#define CFG_USB_INTERFACE_ENABLE 0
+
+/******************************************************************************
+ * IPCC interface
+ ******************************************************************************/
+
+/**
+ * The IPCC is dedicated to the communication between the CPU2 and the CPU1
+ * and shall not be modified by the application
+ * The two following definitions shall not be modified
+ */
+#define HAL_IPCC_TX_IRQHandler(...) HW_IPCC_Tx_Handler( )
+#define HAL_IPCC_RX_IRQHandler(...) HW_IPCC_Rx_Handler( )
+
+/******************************************************************************
+ * Low Power
+ ******************************************************************************/
+/**
+ * When set to 1, the low power mode is enable
+ * When set to 0, the device stays in RUN mode
+ */
+#define CFG_LPM_SUPPORTED 0
+
+ /**
+ * This shall be set to 1 when standby is supported while the wireless stack on CPU2 is running
+ * (i.e the CPU2 is allowed to enter standby between RF activity)
+ * Otherwise, it should be set to 0 for marginal code and test execution saving
+ * In this case the lowest power mode available will be Stop 1
+ * Note that keeping that setting to 1 when standby is not supported does not hurt
+ */
+#define CFG_LPM_STANDBY_SUPPORTED 0
+
+/******************************************************************************
+ * RTC interface
+ ******************************************************************************/
+#define HAL_RTCEx_WakeUpTimerIRQHandler(...) HW_TS_RTC_Wakeup_Handler( )
+
+/******************************************************************************
+ * Timer Server
+ ******************************************************************************/
+/**
+ * CFG_RTC_WUCKSEL_DIVIDER: This sets the RTCCLK divider to the wakeup timer.
+ * The lower is the value, the better is the power consumption and the accuracy of the timerserver
+ * The higher is the value, the finest is the granularity
+ *
+ * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to output
+ * clock as low as possible) but the output clock should be equal or higher frequency compare to the clock feeding
+ * the wakeup timer. A lower clock speed would impact the accuracy of the timer server.
+ *
+ * CFG_RTC_SYNCH_PRESCALER: This sets the synchronous prescaler of the RTC.
+ * When the 1Hz calendar clock is required, it shall be sets according to other settings
+ * When the 1Hz calendar clock is not needed, CFG_RTC_SYNCH_PRESCALER should be set to 0x7FFF (MAX VALUE)
+ *
+ * CFG_RTCCLK_DIVIDER_CONF:
+ * Shall be set to either 0,2,4,8,16
+ * When set to either 2,4,8,16, the 1Hhz calendar is supported
+ * When set to 0, the user sets its own configuration
+ *
+ * The following settings are computed with LSI as input to the RTC
+ */
+
+#define CFG_RTCCLK_DIVIDER_CONF 0
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 0)
+/**
+ * Custom configuration
+ * It does not support 1Hz calendar
+ * It divides the RTC CLK by 16
+ */
+
+#define CFG_RTCCLK_DIV (16)
+#define CFG_RTC_WUCKSEL_DIVIDER (0)
+#define CFG_RTC_ASYNCH_PRESCALER (0x0F)
+#define CFG_RTC_SYNCH_PRESCALER (0x7FFF)
+
+#else
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 2)
+/**
+ * It divides the RTC CLK by 2
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (3)
+#endif
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 4)
+/**
+ * It divides the RTC CLK by 4
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (2)
+#endif
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 8)
+/**
+ * It divides the RTC CLK by 8
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (1)
+#endif
+
+#if (CFG_RTCCLK_DIVIDER_CONF == 16)
+/**
+ * It divides the RTC CLK by 16
+ */
+#define CFG_RTC_WUCKSEL_DIVIDER (0)
+#endif
+
+#define CFG_RTCCLK_DIV CFG_RTCCLK_DIVIDER_CONF
+#define CFG_RTC_ASYNCH_PRESCALER (CFG_RTCCLK_DIV - 1)
+#define CFG_RTC_SYNCH_PRESCALER (DIVR( LSE_VALUE, (CFG_RTC_ASYNCH_PRESCALER+1) ) - 1 )
+
+#endif
+
+/** tick timer values */
+#define CFG_TS_TICK_VAL DIVR( (CFG_RTCCLK_DIV * 1000000), LSE_VALUE )
+#define CFG_TS_TICK_VAL_PS DIVR( ((uint64_t)CFG_RTCCLK_DIV * 1e12), (uint64_t)LSE_VALUE )
+
+typedef enum
+{
+ CFG_TIM_PROC_ID_ISR,
+ /* USER CODE BEGIN CFG_TimProcID_t */
+
+ /* USER CODE END CFG_TimProcID_t */
+} CFG_TimProcID_t;
+
+/******************************************************************************
+ * Debug
+ ******************************************************************************/
+/**
+ * When set, this resets some hw resources to set the device in the same state than the power up
+ * The FW resets only register that may prevent the FW to run properly
+ *
+ * This shall be set to 0 in a final product
+ *
+ */
+#define CFG_HW_RESET_BY_FW 0
+
+/**
+ * keep debugger enabled while in any low power mode when set to 1
+ * should be set to 0 in production
+ */
+#define CFG_DEBUGGER_SUPPORTED 1
+
+/**
+ * When set to 1, the traces are enabled in the BLE services
+ */
+#define CFG_DEBUG_BLE_TRACE 0
+
+/**
+ * Enable or Disable traces in application
+ */
+#define CFG_DEBUG_APP_TRACE 0
+
+#if (CFG_DEBUG_APP_TRACE != 0)
+#define APP_DBG_MSG PRINT_MESG_DBG
+#else
+#define APP_DBG_MSG PRINT_NO_MESG
+#endif
+
+#if ( (CFG_DEBUG_BLE_TRACE != 0) || (CFG_DEBUG_APP_TRACE != 0) )
+#define CFG_DEBUG_TRACE 1
+#endif
+
+#if (CFG_DEBUG_TRACE != 0)
+#undef CFG_LPM_SUPPORTED
+#undef CFG_DEBUGGER_SUPPORTED
+#define CFG_LPM_SUPPORTED 0
+#define CFG_DEBUGGER_SUPPORTED 1
+#endif
+
+/**
+ * When CFG_DEBUG_TRACE_FULL is set to 1, the trace are output with the API name, the file name and the line number
+ * When CFG_DEBUG_TRACE_LIGHT is set to 1, only the debug message is output
+ *
+ * When both are set to 0, no trace are output
+ * When both are set to 1, CFG_DEBUG_TRACE_FULL is selected
+ */
+#define CFG_DEBUG_TRACE_LIGHT 0
+#define CFG_DEBUG_TRACE_FULL 0
+
+#if (( CFG_DEBUG_TRACE != 0 ) && ( CFG_DEBUG_TRACE_LIGHT == 0 ) && (CFG_DEBUG_TRACE_FULL == 0))
+#undef CFG_DEBUG_TRACE_FULL
+#undef CFG_DEBUG_TRACE_LIGHT
+#define CFG_DEBUG_TRACE_FULL 0
+#define CFG_DEBUG_TRACE_LIGHT 1
+#endif
+
+#if ( CFG_DEBUG_TRACE == 0 )
+#undef CFG_DEBUG_TRACE_FULL
+#undef CFG_DEBUG_TRACE_LIGHT
+#define CFG_DEBUG_TRACE_FULL 0
+#define CFG_DEBUG_TRACE_LIGHT 0
+#endif
+
+/**
+ * When not set, the traces is looping on sending the trace over UART
+ */
+#define DBG_TRACE_USE_CIRCULAR_QUEUE 1
+
+/**
+ * max buffer Size to queue data traces and max data trace allowed.
+ * Only Used if DBG_TRACE_USE_CIRCULAR_QUEUE is defined
+ */
+#define DBG_TRACE_MSG_QUEUE_SIZE 4096
+#define MAX_DBG_TRACE_MSG_SIZE 1024
+
+/* USER CODE BEGIN Defines */
+#define CFG_LED_SUPPORTED 1
+#define CFG_BUTTON_SUPPORTED 1
+
+#define PUSH_BUTTON_SW1_EXTI_IRQHandler EXTI0_IRQHandler
+#define PUSH_BUTTON_SW2_EXTI_IRQHandler EXTI4_IRQHandler
+#define PUSH_BUTTON_SW3_EXTI_IRQHandler EXTI9_5_IRQHandler
+
+#define POWEROFF_EXTI_IRQHandler EXTI15_10_IRQHandler
+/* USER CODE END Defines */
+
+/******************************************************************************
+ * Scheduler
+ ******************************************************************************/
+
+/**
+ * These are the lists of task id registered to the scheduler
+ * Each task id shall be in the range [0:31]
+ * This mechanism allows to implement a generic code in the API TL_BLE_HCI_StatusNot() to comply with
+ * the requirement that a HCI/ACI command shall never be sent if there is already one pending
+ */
+
+/**< Add in that list all tasks that may send a ACI/HCI command */
+typedef enum
+{
+ CFG_TASK_ADV_UPDATE_ID,
+ CFG_TASK_MESH_REQ_ID,
+ CFG_TASK_MESH_BEACON_REQ_ID,
+ CFG_TASK_MESH_UART_RX_REQ_ID,
+ CFG_TASK_APPLI_REQ_ID,
+ CFG_TASK_MESH_SW1_REQ_ID,
+ CFG_TASK_MESH_SW3_REQ_ID,
+ CFG_TASK_MESH_LPN_REQ_ID,
+ CFG_TASK_HCI_ASYNCH_EVT_ID,
+/* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
+
+/* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
+ CFG_LAST_TASK_ID_WITH_HCICMD, /**< Shall be LAST in the list */
+} CFG_Task_Id_With_HCI_Cmd_t;
+
+/**< Add in that list all tasks that never send a ACI/HCI command */
+typedef enum
+{
+ CFG_FIRST_TASK_ID_WITH_NO_HCICMD = CFG_LAST_TASK_ID_WITH_HCICMD - 1, /**< Shall be FIRST in the list */
+ CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID,
+
+/* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
+
+/* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
+
+ CFG_LAST_TASK_ID_WITHO_NO_HCICMD /**< Shall be LAST in the list */
+} CFG_Task_Id_With_NO_HCI_Cmd_t;
+#define CFG_TASK_NBR CFG_LAST_TASK_ID_WITHO_NO_HCICMD
+
+/**
+ * This is the list of priority required by the application
+ * Each Id shall be in the range 0..31
+ */
+typedef enum
+{
+ CFG_SCH_PRIO_0,
+ CFG_PRIO_NBR,
+} CFG_SCH_Prio_Id_t;
+
+/**
+ * This is a bit mapping over 32bits listing all events id supported in the application
+ */
+typedef enum
+{
+ CFG_IDLEEVT_HCI_CMD_EVT_RSP_ID,
+ CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID,
+} CFG_IdleEvt_Id_t;
+
+/******************************************************************************
+ * LOW POWER
+ ******************************************************************************/
+/**
+ * Supported requester to the MCU Low Power Manager - can be increased up to 32
+ * It list a bit mapping of all user of the Low Power Manager
+ */
+typedef enum
+{
+ CFG_LPM_APP,
+ CFG_LPM_APP_BLE,
+ /* USER CODE BEGIN CFG_LPM_Id_t */
+
+ /* USER CODE END CFG_LPM_Id_t */
+} CFG_LPM_Id_t;
+
+/******************************************************************************
+ * OTP manager
+ ******************************************************************************/
+#define CFG_OTP_BASE_ADDRESS OTP_AREA_BASE
+
+#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
+
+#endif /*APP_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_debug.h
new file mode 100644
index 000000000..9237f301f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_debug.h
@@ -0,0 +1,67 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APP_DEBUG_H
+#define __APP_DEBUG_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+ /* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported variables --------------------------------------------------------*/
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Exported macros ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions ---------------------------------------------*/
+ void APPD_Init( void );
+ void APPD_EnableCPU2( void );
+/* USER CODE BEGIN EF */
+
+/* USER CODE END EF */
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__APP_DEBUG_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_entry.h
new file mode 100644
index 000000000..4f47130d3
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/app_entry.h
@@ -0,0 +1,72 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_ENTRY_H
+#define APP_ENTRY_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+ /* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported variables --------------------------------------------------------*/
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Exported macros ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions ---------------------------------------------*/
+ void MX_APPE_Config( void );
+ void MX_APPE_Init( void );
+ void MX_APPE_Process( void );
+ void Init_Exti( void );
+ void Init_Smps( void );
+
+/* USER CODE BEGIN EF */
+ void APPE_Led_Init( void );
+ void APPE_Button_Init( void );
+/* USER CODE END EF */
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*APP_ENTRY_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_conf.h
new file mode 100644
index 000000000..9126af678
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_conf.h
@@ -0,0 +1,173 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef HW_CONF_H
+#define HW_CONF_H
+
+/******************************************************************************
+ * Semaphores
+ * THIS SHALL NO BE CHANGED AS THESE SEMAPHORES ARE USED AS WELL ON THE CM0+
+ *****************************************************************************/
+/**
+* Index of the semaphore used the prevent conflicts after standby sleep.
+* Each CPUs takes this semaphore at standby wakeup until conclicting elements are restored.
+*/
+#define CFG_HW_PWR_STANDBY_SEMID 10
+/**
+* The CPU2 may be configured to store the Thread persistent data either in internal NVM storage on CPU2 or in
+* SRAM2 buffer provided by the user application. This can be configured with the system command SHCI_C2_Config()
+* When the CPU2 is requested to store persistent data in SRAM2, it can write data in this buffer at any time when needed.
+* In order to read consistent data with the CPU1 from the SRAM2 buffer, the flow should be:
+* + CPU1 takes CFG_HW_THREAD_NVM_SRAM_SEMID semaphore
+* + CPU1 reads all persistent data from SRAM2 (most of the time, the goal is to write these data into an NVM managed by CPU1)
+* + CPU1 releases CFG_HW_THREAD_NVM_SRAM_SEMID semaphore
+* CFG_HW_THREAD_NVM_SRAM_SEMID semaphore makes sure CPU2 does not update the persistent data in SRAM2 at the same time CPU1 is reading them.
+* There is no timing constraint on how long this semaphore can be kept.
+*/
+#define CFG_HW_THREAD_NVM_SRAM_SEMID 9
+
+/**
+* The CPU2 may be configured to store the BLE persistent data either in internal NVM storage on CPU2 or in
+* SRAM2 buffer provided by the user application. This can be configured with the system command SHCI_C2_Config()
+* When the CPU2 is requested to store persistent data in SRAM2, it can write data in this buffer at any time when needed.
+* In order to read consistent data with the CPU1 from the SRAM2 buffer, the flow should be:
+* + CPU1 takes CFG_HW_BLE_NVM_SRAM_SEMID semaphore
+* + CPU1 reads all persistent data from SRAM2 (most of the time, the goal is to write these data into an NVM managed by CPU1)
+* + CPU1 releases CFG_HW_BLE_NVM_SRAM_SEMID semaphore
+* CFG_HW_BLE_NVM_SRAM_SEMID semaphore makes sure CPU2 does not update the persistent data in SRAM2 at the same time CPU1 is reading them.
+* There is no timing constraint on how long this semaphore can be kept.
+*/
+#define CFG_HW_BLE_NVM_SRAM_SEMID 8
+
+/**
+* Index of the semaphore used by CPU2 to prevent the CPU1 to either write or erase data in flash
+* The CPU1 shall not either write or erase in flash when this semaphore is taken by the CPU2
+* When the CPU1 needs to either write or erase in flash, it shall first get the semaphore and release it just
+* after writing a raw (64bits data) or erasing one sector.
+* Once the Semaphore has been released, there shall be at least 1us before it can be taken again. This is required
+* to give the opportunity to CPU2 to take it.
+* On v1.4.0 and older CPU2 wireless firmware, this semaphore is unused and CPU2 is using PES bit.
+* By default, CPU2 is using the PES bit to protect its timing. The CPU1 may request the CPU2 to use the semaphore
+* instead of the PES bit by sending the system command SHCI_C2_SetFlashActivityControl()
+*/
+#define CFG_HW_BLOCK_FLASH_REQ_BY_CPU2_SEMID 7
+
+/**
+* Index of the semaphore used by CPU1 to prevent the CPU2 to either write or erase data in flash
+* In order to protect its timing, the CPU1 may get this semaphore to prevent the CPU2 to either
+* write or erase in flash (as this will stall both CPUs)
+* The PES bit shall not be used as this may stall the CPU2 in some cases.
+*/
+#define CFG_HW_BLOCK_FLASH_REQ_BY_CPU1_SEMID 6
+
+/**
+* Index of the semaphore used to manage the CLK48 clock configuration
+* When the USB is required, this semaphore shall be taken before configuring te CLK48 for USB
+* and should be released after the application switch OFF the clock when the USB is not used anymore
+* When using the RNG, it is good enough to use CFG_HW_RNG_SEMID to control CLK48.
+* More details in AN5289
+*/
+#define CFG_HW_CLK48_CONFIG_SEMID 5
+
+/* Index of the semaphore used to manage the entry Stop Mode procedure */
+#define CFG_HW_ENTRY_STOP_MODE_SEMID 4
+
+/* Index of the semaphore used to access the RCC */
+#define CFG_HW_RCC_SEMID 3
+
+/* Index of the semaphore used to access the FLASH */
+#define CFG_HW_FLASH_SEMID 2
+
+/* Index of the semaphore used to access the PKA */
+#define CFG_HW_PKA_SEMID 1
+
+/* Index of the semaphore used to access the RNG */
+#define CFG_HW_RNG_SEMID 0
+
+/******************************************************************************
+ * HW TIMER SERVER
+ *****************************************************************************/
+/**
+ * The user may define the maximum number of virtual timers supported.
+ * It shall not exceed 255
+ */
+#define CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER 6
+
+/**
+ * The user may define the priority in the NVIC of the RTC_WKUP interrupt handler that is used to manage the
+ * wakeup timer.
+ * This setting is the preemptpriority part of the NVIC.
+ */
+#define CFG_HW_TS_NVIC_RTC_WAKEUP_IT_PREEMPTPRIO 3
+
+/**
+ * The user may define the priority in the NVIC of the RTC_WKUP interrupt handler that is used to manage the
+ * wakeup timer.
+ * This setting is the subpriority part of the NVIC. It does not exist on all processors. When it is not supported
+ * on the CPU, the setting is ignored
+ */
+#define CFG_HW_TS_NVIC_RTC_WAKEUP_IT_SUBPRIO 0
+
+/**
+ * Define a critical section in the Timer server
+ * The Timer server does not support the API to be nested
+ * The Application shall either:
+ * a) Ensure this will never happen
+ * b) Define the critical section
+ * The default implementations is masking all interrupts using the PRIMASK bit
+ * The TimerServer driver uses critical sections to avoid context corruption. This is achieved with the macro
+ * TIMER_ENTER_CRITICAL_SECTION and TIMER_EXIT_CRITICAL_SECTION. When CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION is set
+ * to 1, all STM32 interrupts are masked with the PRIMASK bit of the CortexM CPU. It is possible to use the BASEPRI
+ * register of the CortexM CPU to keep allowed some interrupts with high priority. In that case, the user shall
+ * re-implement TIMER_ENTER_CRITICAL_SECTION and TIMER_EXIT_CRITICAL_SECTION and shall make sure that no TimerServer
+ * API are called when the TIMER critical section is entered
+ */
+#define CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION 1
+
+/**
+ * This value shall reflect the maximum delay there could be in the application between the time the RTC interrupt
+ * is generated by the Hardware and the time when the RTC interrupt handler is called. This time is measured in
+ * number of RTCCLK ticks.
+ * A relaxed timing would be 10ms
+ * When the value is too short, the timerserver will not be able to count properly and all timeout may be random.
+ * When the value is too long, the device may wake up more often than the most optimal configuration. However, the
+ * impact on power consumption would be marginal (unless the value selected is extremely too long). It is strongly
+ * recommended to select a value large enough to make sure it is not too short to ensure reliability of the system
+ * as this will have marginal impact on low power mode
+ */
+#define CFG_HW_TS_RTC_HANDLER_MAX_DELAY ( 10 * (LSI_VALUE/1000) )
+
+ /**
+ * Interrupt ID in the NVIC of the RTC Wakeup interrupt handler
+ * It shall be type of IRQn_Type
+ */
+#define CFG_HW_TS_RTC_WAKEUP_HANDLER_ID RTC_WKUP_IRQn
+
+/******************************************************************************
+ * HW UART
+ *****************************************************************************/
+#define CFG_HW_LPUART1_ENABLED 0
+#define CFG_HW_LPUART1_DMA_TX_SUPPORTED 0
+
+#define CFG_HW_USART1_ENABLED 1
+#define CFG_HW_USART1_DMA_TX_SUPPORTED 1
+
+#endif /*HW_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_flash.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_flash.h
new file mode 100644
index 000000000..2c26fd8c6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_flash.h
@@ -0,0 +1,87 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+* @file hw_flash.h
+ * @author MCD Application Team
+* @brief Header for hw_flash.c module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __HW_FLASH_H
+#define __HW_FLASH_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Write 64 bits double word in FLASH
+ *
+ * @param FLASH destination address
+ * @param 64 bits double word data
+ * @retval result
+ */
+MOBLE_RESULT HW_FLASH_Write(uint32_t address, uint64_t data);
+
+/**
+ * @brief Erase FLASH page
+ *
+ * @param address of FLASH page
+ * @param number of page
+ * @param interrupt not used
+ * @retval result
+ */
+MOBLE_RESULT HW_FLASH_Erase(uint32_t page, uint16_t n, int interrupt);
+
+#if 0
+/**
+ * @brief Get Option Byte IPCC buffer address
+ *
+ * @param None
+ * @retval Option Byte IPCC buffer address
+ */
+uint32_t HW_FLASH_OB_GetIPCCBufferAddr(void);
+
+/**
+ * @brief Get Option Byte SFSA
+ *
+ * @param None
+ * @retval Option Byte SFSA
+ */
+uint32_t HW_FLASH_OB_GetSFSA(void);
+
+/**
+ * @brief Get Option Byte SBSRA
+ *
+ * @param None
+ * @retval Option Byte SBSRA
+ */
+uint32_t HW_FLASH_OB_GetSBRSA(void);
+
+/**
+ * @brief Get Option Byte SNBRSA
+ *
+ * @param None
+ * @retval Option Byte SNBRSA
+ */
+uint32_t HW_FLASH_OB_GetSNBRSA(void);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__HW_FLASH_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_if.h
new file mode 100644
index 000000000..834c17171
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_if.h
@@ -0,0 +1,247 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_if.h
+ * @author MCD Application Team
+ * @brief Hardware Interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef HW_IF_H
+#define HW_IF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx.h"
+#include "stm32wbxx_ll_exti.h"
+#include "stm32wbxx_ll_system.h"
+#include "stm32wbxx_ll_rcc.h"
+#include "stm32wbxx_ll_ipcc.h"
+#include "stm32wbxx_ll_bus.h"
+#include "stm32wbxx_ll_pwr.h"
+#include "stm32wbxx_ll_cortex.h"
+#include "stm32wbxx_ll_utils.h"
+#include "stm32wbxx_ll_hsem.h"
+#include "stm32wbxx_ll_gpio.h"
+#include "stm32wbxx_ll_rtc.h"
+
+#ifdef USE_STM32WBXX_USB_DONGLE
+#include "stm32wbxx_usb_dongle.h"
+#endif
+#ifdef USE_STM32WBXX_NUCLEO
+#include "nucleo_wb15cc.h"
+#endif
+#ifdef USE_X_NUCLEO_EPD
+#include "x_nucleo_epd.h"
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+ /******************************************************************************
+ * HW UART
+ ******************************************************************************/
+ typedef enum
+ {
+ hw_uart1,
+ hw_uart2,
+ hw_lpuart1,
+ } hw_uart_id_t;
+
+ typedef enum
+ {
+ hw_uart_ok,
+ hw_uart_error,
+ hw_uart_busy,
+ hw_uart_to,
+ } hw_status_t;
+
+ void HW_UART_Init(hw_uart_id_t hw_uart_id);
+ void HW_UART_Receive_IT(hw_uart_id_t hw_uart_id, uint8_t *pData, uint16_t Size, void (*Callback)(void));
+ void HW_UART_Transmit_IT(hw_uart_id_t hw_uart_id, uint8_t *pData, uint16_t Size, void (*Callback)(void));
+ hw_status_t HW_UART_Transmit(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, uint32_t timeout);
+ hw_status_t HW_UART_Transmit_DMA(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*Callback)(void));
+ void HW_UART_Interrupt_Handler(hw_uart_id_t hw_uart_id);
+ void HW_UART_DMA_Interrupt_Handler(hw_uart_id_t hw_uart_id);
+
+ /******************************************************************************
+ * HW TimerServer
+ ******************************************************************************/
+ /* Exported types ------------------------------------------------------------*/
+ /**
+ * This setting is used when standby mode is supported.
+ * hw_ts_InitMode_Limited should be used when the device restarts from Standby Mode. In that case, the Timer Server does
+ * not re-initialized its context. Only the Hardware register which content has been lost is reconfigured
+ * Otherwise, hw_ts_InitMode_Full should be requested (Start from Power ON) and everything is re-initialized.
+ */
+ typedef enum
+ {
+ hw_ts_InitMode_Full,
+ hw_ts_InitMode_Limited,
+ } HW_TS_InitMode_t;
+
+ /**
+ * When a Timer is created as a SingleShot timer, it is not automatically restarted when the timeout occurs. However,
+ * the timer is kept reserved in the list and could be restarted at anytime with HW_TS_Start()
+ *
+ * When a Timer is created as a Repeated timer, it is automatically restarted when the timeout occurs.
+ */
+ typedef enum
+ {
+ hw_ts_SingleShot,
+ hw_ts_Repeated
+ } HW_TS_Mode_t;
+
+ /**
+ * hw_ts_Successful is returned when a Timer has been successfully created with HW_TS_Create(). Otherwise, hw_ts_Failed
+ * is returned. When hw_ts_Failed is returned, that means there are not enough free slots in the list to create a
+ * Timer. In that case, CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER should be increased
+ */
+ typedef enum
+ {
+ hw_ts_Successful,
+ hw_ts_Failed,
+ }HW_TS_ReturnStatus_t;
+
+ typedef void (*HW_TS_pTimerCb_t)(void);
+
+ /**
+ * @brief Initialize the timer server
+ * This API shall be called by the application before any timer is requested to the timer server. It
+ * configures the RTC module to be connected to the LSI input clock.
+ *
+ * @param TimerInitMode: When the device restarts from Standby, it should request hw_ts_InitMode_Limited so that the
+ * Timer context is not re-initialized. Otherwise, hw_ts_InitMode_Full should be requested
+ * @param hrtc: RTC Handle
+ * @retval None
+ */
+ void HW_TS_Init(HW_TS_InitMode_t TimerInitMode, RTC_HandleTypeDef *hrtc);
+
+ /**
+ * @brief Interface to create a virtual timer
+ * The user shall call this API to create a timer. Once created, the timer is reserved to the module until it
+ * has been deleted. When creating a timer, the user shall specify the mode (single shot or repeated), the
+ * callback to be notified when the timer expires and a module ID to identify in the timer interrupt handler
+ * which module is concerned. In return, the user gets a timer ID to handle it.
+ *
+ * @param TimerProcessID: This is an identifier provided by the user and returned in the callback to allow
+ * identification of the requester
+ * @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
+ * @param TimerMode: Mode of the virtual timer (Single shot or repeated)
+ * @param pTimerCallBack: Callback when the virtual timer expires
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
+ */
+ HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
+
+ /**
+ * @brief Stop a virtual timer
+ * This API may be used to stop a running timer. A timer which is stopped is move to the pending state.
+ * A pending timer may be restarted at any time with a different timeout value but the mode cannot be changed.
+ * Nothing is done when it is called to stop a timer which has been already stopped
+ *
+ * @param TimerID: Id of the timer to stop
+ * @retval None
+ */
+ void HW_TS_Stop(uint8_t TimerID);
+
+ /**
+ * @brief Start a virtual timer
+ * This API shall be used to start a timer. The timeout value is specified and may be different each time.
+ * When the timer is in the single shot mode, it will move to the pending state when it expires. The user may
+ * restart it at any time with a different timeout value. When the timer is in the repeated mode, it always
+ * stay in the running state. When the timer expires, it will be restarted with the same timeout value.
+ * This API shall not be called on a running timer.
+ *
+ * @param TimerID: The ID Id of the timer to start
+ * @param timeout_ticks: Number of ticks of the virtual timer (Maximum value is (0xFFFFFFFF-0xFFFF = 0xFFFF0000)
+ * @retval None
+ */
+ void HW_TS_Start(uint8_t TimerID, uint32_t timeout_ticks);
+
+ /**
+ * @brief Delete a virtual timer from the list
+ * This API should be used when a timer is not needed anymore by the user. A deleted timer is removed from
+ * the timer list managed by the timer server. It cannot be restarted again. The user has to go with the
+ * creation of a new timer if required and may get a different timer id
+ *
+ * @param TimerID: The ID of the timer to remove from the list
+ * @retval None
+ */
+ void HW_TS_Delete(uint8_t TimerID);
+
+ /**
+ * @brief Schedule the timer list on the timer interrupt handler
+ * This interrupt handler shall be called by the application in the RTC interrupt handler. This handler takes
+ * care of clearing all status flag required in the RTC and EXTI peripherals
+ *
+ * @param None
+ * @retval None
+ */
+ void HW_TS_RTC_Wakeup_Handler(void);
+
+ /**
+ * @brief Return the number of ticks to count before the interrupt
+ * This API returns the number of ticks left to be counted before an interrupt is generated by the
+ * Timer Server. This API may be used by the application for power management optimization. When the system
+ * enters low power mode, the mode selection is a tradeoff between the wakeup time where the CPU is running
+ * and the time while the CPU will be kept in low power mode before next wakeup. The deeper is the
+ * low power mode used, the longer is the wakeup time. The low power mode management considering wakeup time
+ * versus time in low power mode is implementation specific
+ * When the timer is disabled (No timer in the list), it returns 0xFFFF
+ *
+ * @param None
+ * @retval The number of ticks left to count
+ */
+ uint16_t HW_TS_RTC_ReadLeftTicksToCount(void);
+
+ /**
+ * @brief Notify the application that a registered timer has expired
+ * This API shall be implemented by the user application.
+ * This API notifies the application that a timer expires. This API is running in the RTC Wakeup interrupt
+ * context. The application may implement an Operating System to change the context priority where the timer
+ * callback may be handled. This API provides the module ID to identify which module is concerned and to allow
+ * sending the information to the correct task
+ *
+ * @param TimerProcessID: The TimerProcessId associated with the timer when it has been created
+ * @param TimerID: The TimerID of the expired timer
+ * @param pTimerCallBack: The Callback associated with the timer when it has been created
+ * @retval None
+ */
+ void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS_pTimerCb_t pTimerCallBack);
+
+ /**
+ * @brief Notify the application that the wakeupcounter has been updated
+ * This API should be implemented by the user application
+ * This API notifies the application that the counter has been updated. This is expected to be used along
+ * with the HW_TS_RTC_ReadLeftTicksToCount () API. It could be that the counter has been updated since the
+ * last call of HW_TS_RTC_ReadLeftTicksToCount () and before entering low power mode. This notification
+ * provides a way to the application to solve that race condition to reevaluate the counter value before
+ * entering low power mode
+ *
+ * @param None
+ * @retval None
+ */
+ void HW_TS_RTC_CountUpdated_AppNot(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*HW_IF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/lp_timer.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/lp_timer.h
new file mode 100644
index 000000000..beee3a132
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/lp_timer.h
@@ -0,0 +1,60 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+* @file lp_timer.h
+ * @author MCD Application Team
+* @brief Header for lp_timer.c module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __LP_TIMER_H
+#define __LP_TIMER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+ /**
+ * @brief Initialize the low power timer
+ *
+ * @param None
+ * @retval None
+ */
+ void LpTimerInit(void);
+
+ /**
+ * @brief Request to start a low power timer ( running is stop mode )
+ *
+ * @param time_to_sleep : in ms
+ * @retval None
+ */
+ void LpTimerStart(uint32_t time_to_sleep);
+
+ /**
+ * @brief Read how long the timer has run
+ *
+ * @param None
+ * @retval The time elapsed in ms
+ */
+ uint32_t LpGetElapsedTime(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__LP_TIMER_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/main.h
new file mode 100644
index 000000000..7af156239
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/main.h
@@ -0,0 +1,75 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx_hal.h"
+#include "app_conf.h"
+#include "app_entry.h"
+#include "app_common.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+void MX_GPIO_Init(void);
+void MX_IPCC_Init(void);
+void MX_RF_Init(void);
+void MX_RTC_Init(void);
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/nucleo_wb15cc_conf.h
new file mode 100644
index 000000000..0593858cc
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/nucleo_wb15cc_conf.h
@@ -0,0 +1,74 @@
+/**
+ ******************************************************************************
+ * @file nucleo_wb15cc_conf.h
+ * @author MCD Application Team
+ * @brief NUCLEO-WB15CC board configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef NUCLEO_WB15CC_CONF_H
+#define NUCLEO_WB15CC_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx_hal.h"
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup NUCLEO_WB15CC
+ * @{
+ */
+
+/** @defgroup NUCLEO_WB15CC_CONFIG CONFIG
+ * @{
+ */
+
+/** @defgroup NUCLEO_WB15CC_CONFIG_Exported_Constants Exported Constants
+ * @{
+ */
+/* COM usage define */
+#define USE_BSP_COM_FEATURE 0U
+
+/* COM log define */
+#define USE_COM_LOG 0U
+
+/* IRQ priorities */
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NUCLEO_WB15CC_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32_lpm_if.h
new file mode 100644
index 000000000..45c31caa5
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32_lpm_if.h
@@ -0,0 +1,79 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32_LPM_IF_H
+#define __STM32_LPM_IF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/**
+ * @brief Enters Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_EnterOffMode( void );
+/**
+ * @brief Exits Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_ExitOffMode( void );
+
+/**
+ * @brief Enters Low Power Stop Mode
+ * @note ARM exists the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterStopMode( void );
+/**
+ * @brief Exits Low Power Stop Mode
+ * @note Enable the pll at 32MHz
+ * @param none
+ * @retval none
+ */
+void PWR_ExitStopMode( void );
+
+/**
+ * @brief Enters Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterSleepMode( void );
+
+/**
+ * @brief Exits Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_ExitSleepMode( void );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__STM32_LPM_IF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_hal_conf.h
new file mode 100644
index 000000000..eb093e5e7
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_hal_conf.h
@@ -0,0 +1,352 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_hal_conf.h
+ * @author MCD Application Team
+ * @brief HAL configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32WBxx_HAL_CONF_H
+#define __STM32WBxx_HAL_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+
+/* ########################## Module Selection ############################## */
+/**
+ * @brief This is the list of modules to be used in the HAL driver
+ */
+#define HAL_MODULE_ENABLED
+/* #define HAL_ADC_MODULE_ENABLED */
+#define HAL_CRYP_MODULE_ENABLED
+#define HAL_COMP_MODULE_ENABLED
+#define HAL_CRC_MODULE_ENABLED
+#define HAL_HSEM_MODULE_ENABLED
+/*#define HAL_I2C_MODULE_ENABLED*/
+#define HAL_IPCC_MODULE_ENABLED
+/*#define HAL_IRDA_MODULE_ENABLED*/
+/*#define HAL_IWDG_MODULE_ENABLED*/
+/*#define HAL_LCD_MODULE_ENABLED*/
+/*#define HAL_LPTIM_MODULE_ENABLED*/
+/*#define HAL_PCD_MODULE_ENABLED*/
+#define HAL_PKA_MODULE_ENABLED
+/*#define HAL_QSPI_MODULE_ENABLED*/
+#define HAL_RNG_MODULE_ENABLED
+#define HAL_RTC_MODULE_ENABLED
+/*#define HAL_SAI_MODULE_ENABLED*/
+/*#define HAL_SMBUS_MODULE_ENABLED*/
+/*#define HAL_SMARTCARD_MODULE_ENABLED*/
+/* #define HAL_SPI_MODULE_ENABLED */
+#define HAL_TIM_MODULE_ENABLED
+/*#define HAL_TSC_MODULE_ENABLED*/
+#define HAL_UART_MODULE_ENABLED
+#define HAL_USART_MODULE_ENABLED
+/*#define HAL_WWDG_MODULE_ENABLED*/
+#define HAL_EXTI_MODULE_ENABLED
+#define HAL_CORTEX_MODULE_ENABLED
+#define HAL_DMA_MODULE_ENABLED
+#define HAL_FLASH_MODULE_ENABLED
+#define HAL_GPIO_MODULE_ENABLED
+#define HAL_PWR_MODULE_ENABLED
+#define HAL_RCC_MODULE_ENABLED
+
+#define USE_HAL_ADC_REGISTER_CALLBACKS 0u
+#define USE_HAL_COMP_REGISTER_CALLBACKS 0u
+#define USE_HAL_CRYP_REGISTER_CALLBACKS 0u
+#define USE_HAL_I2C_REGISTER_CALLBACKS 0u
+#define USE_HAL_IRDA_REGISTER_CALLBACKS 0u
+#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0u
+#define USE_HAL_PCD_REGISTER_CALLBACKS 0u
+#define USE_HAL_PKA_REGISTER_CALLBACKS 0u
+#define USE_HAL_QSPI_REGISTER_CALLBACKS 0u
+#define USE_HAL_RNG_REGISTER_CALLBACKS 0u
+#define USE_HAL_RTC_REGISTER_CALLBACKS 0u
+#define USE_HAL_SAI_REGISTER_CALLBACKS 0u
+#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0u
+#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0u
+#define USE_HAL_SPI_REGISTER_CALLBACKS 0u
+#define USE_HAL_TIM_REGISTER_CALLBACKS 0u
+#define USE_HAL_TSC_REGISTER_CALLBACKS 0u
+#define USE_HAL_UART_REGISTER_CALLBACKS 0u
+#define USE_HAL_USART_REGISTER_CALLBACKS 0u
+#define USE_HAL_WWDG_REGISTER_CALLBACKS 0u
+
+/* ########################## Oscillator Values adaptation ####################*/
+/**
+ * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSE is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSE_VALUE)
+#define HSE_VALUE 32000000U /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (HSE_STARTUP_TIMEOUT)
+ #define HSE_STARTUP_TIMEOUT ((uint32_t)100) /*!< Time out for HSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief Internal Multiple Speed oscillator (MSI) default value.
+ * This value is the default MSI range value after Reset.
+ */
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+/**
+ * @brief Internal High Speed oscillator (HSI) value.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSI is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSI_VALUE)
+#define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @brief Internal Low Speed oscillator (LSI1) value.
+ */
+#if !defined (LSI1_VALUE)
+ #define LSI1_VALUE ((uint32_t)32000) /*!< LSI1 Typical Value in Hz*/
+#endif /* LSI1_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+/**
+ * @brief Internal Low Speed oscillator (LSI2) value.
+ */
+#if !defined (LSI2_VALUE)
+ #define LSI2_VALUE ((uint32_t)32000) /*!< LSI2 Typical Value in Hz*/
+#endif /* LSI2_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+
+/**
+ * @brief External Low Speed oscillator (LSE) value.
+ * This value is used by the UART, RTC HAL module to compute the system frequency
+ */
+#if !defined (LSE_VALUE)
+#define LSE_VALUE 32768U /*!< Value of the External oscillator in Hz*/
+#endif /* LSE_VALUE */
+
+/**
+ * @brief Internal Multiple Speed oscillator (HSI48) default value.
+ * This value is the default HSI48 range value after Reset.
+ */
+#if !defined (HSI48_VALUE)
+ #define HSI48_VALUE ((uint32_t)48000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI48_VALUE */
+
+#if !defined (LSE_STARTUP_TIMEOUT)
+#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief External clock source for SAI1 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI1_CLOCK_VALUE)
+ #define EXTERNAL_SAI1_CLOCK_VALUE ((uint32_t)48000) /*!< Value of the SAI1 External clock source in Hz*/
+#endif /* EXTERNAL_SAI1_CLOCK_VALUE */
+
+/* Tip: To avoid modifying this file each time you need to use different HSE,
+ === you can define the HSE value in your toolchain compiler preprocessor. */
+
+/* ########################### System Configuration ######################### */
+/**
+ * @brief This is the HAL system configuration section
+ */
+
+#define VDD_VALUE 3300U /*!< Value of VDD in mv */
+#define TICK_INT_PRIORITY 0U /*!< tick interrupt priority */
+#define USE_RTOS 0U
+#define PREFETCH_ENABLE 1U
+#define INSTRUCTION_CACHE_ENABLE 1U
+#define DATA_CACHE_ENABLE 1U
+
+/* ########################## Assert Selection ############################## */
+/**
+ * @brief Uncomment the line below to expanse the "assert_param" macro in the
+ * HAL drivers code
+ */
+/* #define USE_FULL_ASSERT 1U */
+
+/* ################## SPI peripheral configuration ########################## */
+
+/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
+ * Activated: CRC code is present inside driver
+ * Deactivated: CRC code cleaned from driver
+ */
+
+#define USE_SPI_CRC 0U
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Include module's header file
+ */
+#ifdef HAL_DMA_MODULE_ENABLED
+ #include "stm32wbxx_hal_dma.h"
+#endif /* HAL_DMA_MODULE_ENABLED */
+
+#ifdef HAL_ADC_MODULE_ENABLED
+ #include "stm32wbxx_hal_adc.h"
+#endif /* HAL_ADC_MODULE_ENABLED */
+
+#ifdef HAL_COMP_MODULE_ENABLED
+ #include "stm32wbxx_hal_comp.h"
+#endif /* HAL_COMP_MODULE_ENABLED */
+
+#ifdef HAL_CORTEX_MODULE_ENABLED
+ #include "stm32wbxx_hal_cortex.h"
+#endif /* HAL_CORTEX_MODULE_ENABLED */
+
+#ifdef HAL_CRC_MODULE_ENABLED
+ #include "stm32wbxx_hal_crc.h"
+#endif /* HAL_CRC_MODULE_ENABLED */
+
+#ifdef HAL_CRYP_MODULE_ENABLED
+ #include "stm32wbxx_hal_cryp.h"
+#endif /* HAL_CRYP_MODULE_ENABLED */
+
+#ifdef HAL_EXTI_MODULE_ENABLED
+ #include "stm32wbxx_hal_exti.h"
+#endif /* HAL_EXTI_MODULE_ENABLED */
+
+#ifdef HAL_FLASH_MODULE_ENABLED
+ #include "stm32wbxx_hal_flash.h"
+#endif /* HAL_FLASH_MODULE_ENABLED */
+
+#ifdef HAL_GPIO_MODULE_ENABLED
+ #include "stm32wbxx_hal_gpio.h"
+#endif /* HAL_GPIO_MODULE_ENABLED */
+
+#ifdef HAL_HSEM_MODULE_ENABLED
+ #include "stm32wbxx_hal_hsem.h"
+#endif /* HAL_HSEM_MODULE_ENABLED */
+
+#ifdef HAL_I2C_MODULE_ENABLED
+ #include "stm32wbxx_hal_i2c.h"
+#endif /* HAL_I2C_MODULE_ENABLED */
+
+#ifdef HAL_IPCC_MODULE_ENABLED
+ #include "stm32wbxx_hal_ipcc.h"
+#endif /* HAL_IPCC_MODULE_ENABLED */
+
+#ifdef HAL_IRDA_MODULE_ENABLED
+ #include "stm32wbxx_hal_irda.h"
+#endif /* HAL_IRDA_MODULE_ENABLED */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+ #include "stm32wbxx_hal_iwdg.h"
+#endif /* HAL_IWDG_MODULE_ENABLED */
+
+#ifdef HAL_LCD_MODULE_ENABLED
+ #include "stm32wbxx_hal_lcd.h"
+#endif /* HAL_LCD_MODULE_ENABLED */
+
+#ifdef HAL_LPTIM_MODULE_ENABLED
+ #include "stm32wbxx_hal_lptim.h"
+#endif /* HAL_LPTIM_MODULE_ENABLED */
+
+#ifdef HAL_PCD_MODULE_ENABLED
+ #include "stm32wbxx_hal_pcd.h"
+#endif /* HAL_PCD_MODULE_ENABLED */
+
+#ifdef HAL_PKA_MODULE_ENABLED
+ #include "stm32wbxx_hal_pka.h"
+#endif /* HAL_PKA_MODULE_ENABLED */
+
+#ifdef HAL_PWR_MODULE_ENABLED
+ #include "stm32wbxx_hal_pwr.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_QSPI_MODULE_ENABLED
+ #include "stm32wbxx_hal_qspi.h"
+#endif /* HAL_QSPI_MODULE_ENABLED */
+
+#ifdef HAL_RCC_MODULE_ENABLED
+ #include "stm32wbxx_hal_rcc.h"
+#endif /* HAL_RCC_MODULE_ENABLED */
+
+#ifdef HAL_RNG_MODULE_ENABLED
+ #include "stm32wbxx_hal_rng.h"
+#endif /* HAL_RNG_MODULE_ENABLED */
+
+#ifdef HAL_RTC_MODULE_ENABLED
+ #include "stm32wbxx_hal_rtc.h"
+#endif /* HAL_RTC_MODULE_ENABLED */
+
+#ifdef HAL_SAI_MODULE_ENABLED
+ #include "stm32wbxx_hal_sai.h"
+#endif /* HAL_SAI_MODULE_ENABLED */
+
+#ifdef HAL_SMARTCARD_MODULE_ENABLED
+ #include "stm32wbxx_hal_smartcard.h"
+#endif /* HAL_SMARTCARD_MODULE_ENABLED */
+
+#ifdef HAL_SMBUS_MODULE_ENABLED
+ #include "stm32wbxx_hal_smbus.h"
+#endif /* HAL_SMBUS_MODULE_ENABLED */
+
+#ifdef HAL_SPI_MODULE_ENABLED
+ #include "stm32wbxx_hal_spi.h"
+#endif /* HAL_SPI_MODULE_ENABLED */
+
+#ifdef HAL_TIM_MODULE_ENABLED
+ #include "stm32wbxx_hal_tim.h"
+#endif /* HAL_TIM_MODULE_ENABLED */
+
+#ifdef HAL_TSC_MODULE_ENABLED
+ #include "stm32wbxx_hal_tsc.h"
+#endif /* HAL_TSC_MODULE_ENABLED */
+
+#ifdef HAL_UART_MODULE_ENABLED
+ #include "stm32wbxx_hal_uart.h"
+#endif /* HAL_UART_MODULE_ENABLED */
+
+#ifdef HAL_USART_MODULE_ENABLED
+ #include "stm32wbxx_hal_usart.h"
+#endif /* HAL_USART_MODULE_ENABLED */
+
+#ifdef HAL_WWDG_MODULE_ENABLED
+ #include "stm32wbxx_hal_wwdg.h"
+#endif /* HAL_WWDG_MODULE_ENABLED */
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval None
+ */
+ #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+ void assert_failed(uint8_t* file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32WBxx_HAL_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_it.h
new file mode 100644
index 000000000..51355b028
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_it.h
@@ -0,0 +1,81 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32WBxx_IT_H
+#define __STM32WBxx_IT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void RTC_WKUP_IRQHandler(void);
+void IPCC_C1_RX_IRQHandler(void);
+void IPCC_C1_TX_IRQHandler(void);
+void HSEM_IRQHandler(void);
+/* USER CODE BEGIN EFP */
+void RTC_WKUP_IRQHandler(void);
+void PUSH_BUTTON_SW1_EXTI_IRQHandler(void);
+void PUSH_BUTTON_SW2_EXTI_IRQHandler(void);
+void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
+void USART1_IRQHandler(void);
+void CFG_HW_USART1_DMA_TX_IRQHandler( void );
+void LPUART1_IRQHandler(void);
+void CFG_HW_LPUART1_DMA_TX_IRQHandler( void );
+
+void POWEROFF_EXTI_IRQHandler(void);
+void TIM2_IRQHandler(void);
+void TIM1_CC_IRQHandler(void);
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32WBxx_IT_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/utilities_conf.h
new file mode 100644
index 000000000..66b51180a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/utilities_conf.h
@@ -0,0 +1,65 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef UTILITIES_CONF_H
+#define UTILITIES_CONF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "cmsis_compiler.h"
+#include "string.h"
+
+/******************************************************************************
+ * common
+ ******************************************************************************/
+#define UTILS_ENTER_CRITICAL_SECTION( ) uint32_t primask_bit = __get_PRIMASK( );\
+ __disable_irq( )
+
+#define UTILS_EXIT_CRITICAL_SECTION( ) __set_PRIMASK( primask_bit )
+
+#define UTILS_MEMSET8( dest, value, size ) memset( dest, value, size);
+
+/******************************************************************************
+ * tiny low power manager
+ * (any macro that does not need to be modified can be removed)
+ ******************************************************************************/
+#define UTIL_LPM_INIT_CRITICAL_SECTION( )
+#define UTIL_LPM_ENTER_CRITICAL_SECTION( ) UTILS_ENTER_CRITICAL_SECTION( )
+#define UTIL_LPM_EXIT_CRITICAL_SECTION( ) UTILS_EXIT_CRITICAL_SECTION( )
+
+/******************************************************************************
+ * sequencer
+ * (any macro that does not need to be modified can be removed)
+ ******************************************************************************/
+#define UTIL_SEQ_INIT_CRITICAL_SECTION( )
+#define UTIL_SEQ_ENTER_CRITICAL_SECTION( ) UTILS_ENTER_CRITICAL_SECTION( )
+#define UTIL_SEQ_EXIT_CRITICAL_SECTION( ) UTILS_EXIT_CRITICAL_SECTION( )
+#define UTIL_SEQ_CONF_TASK_NBR (32)
+#define UTIL_SEQ_CONF_PRIO_NBR (2)
+#define UTIL_SEQ_MEMSET8( dest, value, size ) UTILS_MEMSET8( dest, value, size )
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*UTILITIES_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/vcp_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/vcp_conf.h
new file mode 100644
index 000000000..91a63aceb
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Inc/vcp_conf.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file vcp_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of the vcp interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __VCP_CONF_H
+#define __VCP_CONF_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+#define VCP_BAUD_RATE (115200)
+#define VCP_TX_PATH_INTERFACE_READY_SETUP_TIME (20*1000*1000/CFG_TS_TICK_VAL) /** 20s */
+#define VCP_TASK_ID (CFG_TASK_VCP_SEND_DATA_ID)
+#define VCP_TASK_PRIO (CFG_SEQ_PRIO_1)
+
+#ifdef VCP_TX_PATH_INTERFACE_READY_SETUP_TIME
+#define VCP_TIMER_PROC_ID (CFG_TIM_PROC_ID_ISR)
+#endif
+
+/* External variables --------------------------------------------------------*/
+/* Exported macros -----------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__VCP_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_debug.c
new file mode 100644
index 000000000..852be7f8e
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_debug.c
@@ -0,0 +1,423 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "app_common.h"
+
+#include "app_debug.h"
+#include "utilities_common.h"
+#include "shci.h"
+#include "tl.h"
+#include "dbg_trace.h"
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+typedef PACKED_STRUCT
+{
+ GPIO_TypeDef* port;
+ uint16_t pin;
+ uint8_t enable;
+ uint8_t reserved;
+} APPD_GpioConfig_t;
+/* USER CODE END PTD */
+
+/* Private defines -----------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+#define GPIO_NBR_OF_RF_SIGNALS 9
+#define GPIO_CFG_NBR_OF_FEATURES 38
+#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
+#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
+
+/**
+ * THIS SHALL BE SET TO A VALUE DIFFERENT FROM 0 ONLY ON REQUEST FROM ST SUPPORT
+ */
+#define BLE_DTB_CFG 0
+
+/**
+ * System Debug Options flags to be configured with:
+ * - SHCI_C2_DEBUG_OPTIONS_IPCORE_LP
+ * - SHCI_C2_DEBUG_OPTIONS_IPCORE_NO_LP
+ * - SHCI_C2_DEBUG_OPTIONS_CPU2_STOP_EN
+ * - SHCI_C2_DEBUG_OPTIONS_CPU2_STOP_DIS
+ * which are used to set following configuration bits:
+ * - bit 0: 0: IP BLE core in LP mode 1: IP BLE core in run mode (no LP supported)
+ * - bit 1: 0: CPU2 STOP mode Enable 1: CPU2 STOP mode Disable
+ * - bit [2-7]: bits reserved ( shall be set to 0)
+ */
+#define SYS_DBG_CFG1 (SHCI_C2_DEBUG_OPTIONS_IPCORE_LP | SHCI_C2_DEBUG_OPTIONS_CPU2_STOP_EN)
+/* USER CODE END PD */
+
+/* Private macros ------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_TracesConfig_t APPD_TracesConfig={0, 0, 0, 0};
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_GeneralConfig_t APPD_GeneralConfig={BLE_DTB_CFG, SYS_DBG_CFG1, {0, 0}};
+
+#ifdef CFG_DEBUG_TRACE_UART
+#if(CFG_HW_LPUART1_ENABLED == 1)
+extern void MX_LPUART1_UART_Init(void);
+#endif
+#if(CFG_HW_USART1_ENABLED == 1)
+extern void MX_USART1_UART_Init(void);
+#endif
+#endif
+
+/**
+ * THE DEBUG ON GPIO FOR CPU2 IS INTENDED TO BE USED ONLY ON REQUEST FROM ST SUPPORT
+ * It provides timing information on the CPU2 activity.
+ * All configuration of (port, pin) is supported for each features and can be selected by the user
+ * depending on the availability
+ */
+static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
+{
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ISR - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_STACK_TICK - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_CMD_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ACL_DATA_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* SYS_CMD_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* RNG_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVM_PROCESS - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_GENERAL - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_EVT_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_ACL_DATA_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_SYS_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_SYS_EVT_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_CLI_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_OT_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_OT_ACK_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_CLI_ACK_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_MEM_MANAGER_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_TRACES_TX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* HARD_FAULT - Set on Entry / Reset on Exit */
+/* From v1.1.1 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IP_CORE_LP_STATUS - Set on Entry / Reset on Exit */
+/* From v1.2.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* END_OF_CONNECTION_EVENT - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* TIMER_SERVER_CALLBACK - Toggle on Entry */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* PES_ACTIVITY - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* MB_BLE_SEND_EVT - Set on Entry / Reset on Exit */
+/* From v1.3.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_NO_DELAY - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_STACK_STORE_NVM_CB - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_WRITE_ONGOING - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_WRITE_COMPLETE - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_CLEANUP - Set on Entry / Reset on Exit */
+/* From v1.4.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
+};
+
+/**
+ * THE DEBUG ON GPIO FOR CPU2 IS INTENDED TO BE USED ONLY ON REQUEST FROM ST SUPPORT
+ * This table is relevant only for BLE
+ * It provides timing information on BLE RF activity.
+ * New signals may be allocated at any location when requested by ST
+ * The GPIO allocated to each signal depend on the BLE_DTB_CFG value and cannot be changed
+ */
+#if( BLE_DTB_CFG == 7)
+static const APPD_GpioConfig_t aRfConfigList[GPIO_NBR_OF_RF_SIGNALS] =
+{
+ { GPIOB, LL_GPIO_PIN_2, 0, 0}, /* DTB10 - Tx/Rx SPI */
+ { GPIOB, LL_GPIO_PIN_7, 0, 0}, /* DTB11 - Tx/Tx SPI Clk */
+ { GPIOA, LL_GPIO_PIN_8, 0, 0}, /* DTB12 - Tx/Rx Ready & SPI Select */
+ { GPIOA, LL_GPIO_PIN_9, 0, 0}, /* DTB13 - Tx/Rx Start */
+ { GPIOA, LL_GPIO_PIN_10, 0, 0}, /* DTB14 - FSM0 */
+ { GPIOA, LL_GPIO_PIN_11, 0, 0}, /* DTB15 - FSM1 */
+ { GPIOB, LL_GPIO_PIN_8, 0, 0}, /* DTB16 - FSM2 */
+#if (STM32WB55xx != 0)
+ { GPIOB, LL_GPIO_PIN_11, 0, 0}, /* DTB17 - FSM3 */
+ { GPIOB, LL_GPIO_PIN_10, 0, 0}, /* DTB18 - FSM4 */
+#else
+ { GPIOA, LL_GPIO_PIN_13, 0, 0}, /* DTB17 - FSM3 */
+ { GPIOA, LL_GPIO_PIN_14, 0, 0}, /* DTB18 - FSM4 */
+#endif
+};
+#endif
+/* USER CODE END PV */
+
+/* Global variables ----------------------------------------------------------*/
+/* USER CODE BEGIN GV */
+/* USER CODE END GV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+static void APPD_SetCPU2GpioConfig( void );
+static void APPD_BleDtbCfg( void );
+/* USER CODE END PFP */
+
+/* Functions Definition ------------------------------------------------------*/
+void APPD_Init( void )
+{
+/* USER CODE BEGIN APPD_Init */
+#if (CFG_DEBUGGER_SUPPORTED == 1)
+ /**
+ * Keep debugger enabled while in any low power mode
+ */
+ HAL_DBGMCU_EnableDBGSleepMode();
+ HAL_DBGMCU_EnableDBGStopMode();
+
+ /***************** ENABLE DEBUGGER *************************************/
+ LL_EXTI_EnableIT_32_63(LL_EXTI_LINE_48);
+
+#else
+ GPIO_InitTypeDef gpio_config = {0};
+
+ gpio_config.Pull = GPIO_NOPULL;
+ gpio_config.Mode = GPIO_MODE_ANALOG;
+
+ gpio_config.Pin = GPIO_PIN_15 | GPIO_PIN_14 | GPIO_PIN_13;
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOA, &gpio_config);
+ __HAL_RCC_GPIOA_CLK_DISABLE();
+
+ gpio_config.Pin = GPIO_PIN_4 | GPIO_PIN_3;
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOB, &gpio_config);
+ __HAL_RCC_GPIOB_CLK_DISABLE();
+
+ HAL_DBGMCU_DisableDBGSleepMode();
+ HAL_DBGMCU_DisableDBGStopMode();
+ HAL_DBGMCU_DisableDBGStandbyMode();
+
+#endif /* (CFG_DEBUGGER_SUPPORTED == 1) */
+
+#if(CFG_DEBUG_TRACE != 0)
+ DbgTraceInit();
+#endif
+
+ APPD_SetCPU2GpioConfig( );
+ APPD_BleDtbCfg( );
+
+/* USER CODE END APPD_Init */
+ return;
+}
+
+void APPD_EnableCPU2( void )
+{
+/* USER CODE BEGIN APPD_EnableCPU2 */
+ SHCI_C2_DEBUG_Init_Cmd_Packet_t DebugCmdPacket =
+ {
+ {{0,0,0}}, /**< Does not need to be initialized */
+ {(uint8_t *)aGpioConfigList,
+ (uint8_t *)&APPD_TracesConfig,
+ (uint8_t *)&APPD_GeneralConfig,
+ GPIO_CFG_NBR_OF_FEATURES,
+ NBR_OF_TRACES_CONFIG_PARAMETERS,
+ NBR_OF_GENERAL_CONFIG_PARAMETERS}
+ };
+
+ /**< Traces channel initialization */
+ TL_TRACES_Init( );
+
+ /** GPIO DEBUG Initialization */
+ SHCI_C2_DEBUG_Init( &DebugCmdPacket );
+
+/* USER CODE END APPD_EnableCPU2 */
+ return;
+}
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+static void APPD_SetCPU2GpioConfig( void )
+{
+/* USER CODE BEGIN APPD_SetCPU2GpioConfig */
+ GPIO_InitTypeDef gpio_config = {0};
+ uint8_t local_loop;
+ uint16_t gpioa_pin_list;
+ uint16_t gpiob_pin_list;
+ uint16_t gpioc_pin_list;
+
+ gpioa_pin_list = 0;
+ gpiob_pin_list = 0;
+ gpioc_pin_list = 0;
+
+ for(local_loop = 0 ; local_loop < GPIO_CFG_NBR_OF_FEATURES; local_loop++)
+ {
+ if( aGpioConfigList[local_loop].enable != 0)
+ {
+ switch((uint32_t)aGpioConfigList[local_loop].port)
+ {
+ case (uint32_t)GPIOA:
+ gpioa_pin_list |= aGpioConfigList[local_loop].pin;
+ break;
+
+ case (uint32_t)GPIOB:
+ gpiob_pin_list |= aGpioConfigList[local_loop].pin;
+ break;
+
+ case (uint32_t)GPIOC:
+ gpioc_pin_list |= aGpioConfigList[local_loop].pin;
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+
+ gpio_config.Pull = GPIO_NOPULL;
+ gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
+ gpio_config.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+
+ if(gpioa_pin_list != 0)
+ {
+ gpio_config.Pin = gpioa_pin_list;
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_C2GPIOA_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOA, &gpio_config);
+ HAL_GPIO_WritePin(GPIOA, gpioa_pin_list, GPIO_PIN_RESET);
+ }
+
+ if(gpiob_pin_list != 0)
+ {
+ gpio_config.Pin = gpiob_pin_list;
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_C2GPIOB_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOB, &gpio_config);
+ HAL_GPIO_WritePin(GPIOB, gpiob_pin_list, GPIO_PIN_RESET);
+ }
+
+ if(gpioc_pin_list != 0)
+ {
+ gpio_config.Pin = gpioc_pin_list;
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_C2GPIOC_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOC, &gpio_config);
+ HAL_GPIO_WritePin(GPIOC, gpioc_pin_list, GPIO_PIN_RESET);
+ }
+
+/* USER CODE END APPD_SetCPU2GpioConfig */
+ return;
+}
+
+static void APPD_BleDtbCfg( void )
+{
+/* USER CODE BEGIN APPD_BleDtbCfg */
+#if (BLE_DTB_CFG != 0)
+ GPIO_InitTypeDef gpio_config = {0};
+ uint8_t local_loop;
+ uint16_t gpioa_pin_list;
+ uint16_t gpiob_pin_list;
+
+ gpioa_pin_list = 0;
+ gpiob_pin_list = 0;
+
+ for(local_loop = 0 ; local_loop < GPIO_NBR_OF_RF_SIGNALS; local_loop++)
+ {
+ if( aRfConfigList[local_loop].enable != 0)
+ {
+ switch((uint32_t)aRfConfigList[local_loop].port)
+ {
+ case (uint32_t)GPIOA:
+ gpioa_pin_list |= aRfConfigList[local_loop].pin;
+ break;
+
+ case (uint32_t)GPIOB:
+ gpiob_pin_list |= aRfConfigList[local_loop].pin;
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+
+ gpio_config.Pull = GPIO_NOPULL;
+ gpio_config.Mode = GPIO_MODE_AF_PP;
+ gpio_config.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ gpio_config.Alternate = GPIO_AF6_RF_DTB7;
+
+ if(gpioa_pin_list != 0)
+ {
+ gpio_config.Pin = gpioa_pin_list;
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_C2GPIOA_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOA, &gpio_config);
+ }
+
+ if(gpiob_pin_list != 0)
+ {
+ gpio_config.Pin = gpiob_pin_list;
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_C2GPIOB_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOB, &gpio_config);
+ }
+#endif
+
+/* USER CODE END APPD_BleDtbCfg */
+ return;
+}
+
+/*************************************************************
+ *
+ * WRAP FUNCTIONS
+ *
+*************************************************************/
+#if(CFG_DEBUG_TRACE != 0)
+void DbgOutputInit( void )
+{
+/* USER CODE BEGIN DbgOutputInit */
+#ifdef CFG_DEBUG_TRACE_UART
+if (CFG_DEBUG_TRACE_UART == hw_lpuart1)
+{
+#if(CFG_HW_LPUART1_ENABLED == 1)
+ MX_LPUART1_UART_Init();
+#endif
+}
+else if (CFG_DEBUG_TRACE_UART == hw_uart1)
+{
+#if(CFG_HW_USART1_ENABLED == 1)
+ MX_USART1_UART_Init();
+#endif
+}
+#endif
+
+/* USER CODE END DbgOutputInit */
+ return;
+}
+
+void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
+{
+/* USER CODE END DbgOutputTraces */
+ HW_UART_Transmit_DMA(CFG_DEBUG_TRACE_UART, p_data, size, cb);
+
+/* USER CODE END DbgOutputTraces */
+ return;
+}
+#endif
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_entry.c
new file mode 100644
index 000000000..91272fbeb
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/app_entry.c
@@ -0,0 +1,735 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+#include "main.h"
+#include "app_entry.h"
+#include "app_ble.h"
+#include "ble.h"
+#include "tl.h"
+#include "stm32_seq.h"
+#include "shci_tl.h"
+#include "stm32_lpm.h"
+#include "app_debug.h"
+#include "otp.h"
+
+#include "appli_mesh.h"
+#include "appli_nvm.h"
+#include "pal_nvm.h"
+#include "lp_timer.h"
+#include "mesh_cfg.h"
+
+#include "shci.h"
+#include "dbg_trace.h"
+
+
+/* Private includes -----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+extern RTC_HandleTypeDef hrtc;
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+extern MOBLEUINT8 PowerOnOff_flag;
+#endif
+#ifdef ENABLE_OCCUPANCY_SENSOR
+extern MOBLEUINT8 Occupancy_Flag;
+#endif
+extern const void *mobleNvmBase;
+extern const void *appNvmBase;
+extern const void *prvsnr_data;
+#if (LOW_POWER_FEATURE == 1)
+extern __IO uint32_t uwTick;
+extern HAL_TickFreqTypeDef uwTickFreq;
+#if ( CFG_LPM_SUPPORTED == 1)
+static uint32_t BleMesh_sleepTime;
+#endif
+extern volatile uint8_t BleProcessInit;
+#endif
+
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private defines -----------------------------------------------------------*/
+#define POOL_SIZE (CFG_TLBLE_EVT_QUEUE_LENGTH*4U*DIVC(( sizeof(TL_PacketHeader_t) + TL_BLE_EVENT_FRAME_SIZE ), 4U))
+
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macros ------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static uint8_t EvtPool[POOL_SIZE];
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static TL_CmdPacket_t SystemCmdBuffer;
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static uint8_t SystemSpareEvtBuffer[sizeof(TL_PacketHeader_t) + TL_EVT_HDR_SIZE + 255U];
+PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static uint8_t BleSpareEvtBuffer[sizeof(TL_PacketHeader_t) + TL_EVT_HDR_SIZE + 255];
+
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private functions prototypes-----------------------------------------------*/
+static void Config_HSE(void);
+static void Reset_Device( void );
+#if ( CFG_HW_RESET_BY_FW == 1 )
+static void Reset_IPCC( void );
+static void Reset_BackupDomain( void );
+#endif /* CFG_HW_RESET_BY_FW */
+static void System_Init( void );
+static void SystemPower_Config( void );
+static void appe_Tl_Init( void );
+static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
+static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
+static void Init_Rtc( void );
+
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+uint8_t Mesh_Stop_Mode;
+
+/* Functions Definition ------------------------------------------------------*/
+void MX_APPE_Config( void )
+{
+ /**
+ * The OPTVERR flag is wrongly set at power on
+ * It shall be cleared before using any HAL_FLASH_xxx() api
+ */
+ __HAL_FLASH_CLEAR_FLAG( FLASH_FLAG_OPTVERR );
+
+ /**
+ * Reset some configurations so that the system behave in the same way
+ * when either out of nReset or Power On
+ */
+ Reset_Device( );
+
+ /* Configure HSE Tuning */
+ Config_HSE();
+
+ return;
+}
+
+void MX_APPE_Init( void )
+{
+#ifdef STM32WB15xx
+ MOBLEUINT32 last_user_flash_address = ((READ_BIT(FLASH->SFR, FLASH_SFR_SFSA) >> FLASH_SFR_SFSA_Pos) << 11) + FLASH_BASE;
+#endif
+#ifdef STM32WB55xx
+ MOBLEUINT32 last_user_flash_address = ((READ_BIT(FLASH->SFR, FLASH_SFR_SFSA) >> FLASH_SFR_SFSA_Pos) << 12) + FLASH_BASE;
+#endif
+
+ System_Init( ); /**< System initialization */
+
+ SystemPower_Config(); /**< Configure the system Power Mode */
+
+ HW_TS_Init(hw_ts_InitMode_Full, &hrtc); /**< Initialize the TimerServer */
+
+/* USER CODE BEGIN APPE_Init_1 */
+ APPD_Init( );
+
+ /**
+ * The Standby mode should not be entered before the initialization is over
+ * The default state of the Low Power Manager is to allow the Standby Mode so an request is needed here
+ */
+ UTIL_LPM_SetOffMode(1 << CFG_LPM_APP, UTIL_LPM_DISABLE);
+
+ APPE_Led_Init();
+
+ APPE_Button_Init();
+
+ mobleNvmBase = (const void *)(last_user_flash_address - NVM_SIZE);
+ appNvmBase = (const void *)(last_user_flash_address - NVM_SIZE - APP_NVM_SIZE);
+ prvsnr_data = (const void *)(last_user_flash_address - NVM_SIZE - APP_NVM_SIZE - PRVN_NVM_PAGE_SIZE);
+
+#if (LOW_POWER_FEATURE == 1)
+ /**
+ * Initialize the lp timer to be used when the systick is stopped in low power mode
+ */
+ LpTimerInit();
+#endif
+
+/* USER CODE END APPE_Init_1 */
+ appe_Tl_Init(); /* Initialize all transport layers */
+
+ /**
+ * From now, the application is waiting for the ready event ( VS_HCI_C2_Ready )
+ * received on the system channel before starting the Stack
+ * This system event is received with APPE_SysUserEvtRx()
+ */
+/* USER CODE BEGIN APPE_Init_2 */
+
+/* USER CODE END APPE_Init_2 */
+ return;
+}
+
+void Init_Smps( void )
+{
+#if (CFG_USE_SMPS != 0)
+ /**
+ * Configure and enable SMPS
+ *
+ * The SMPS configuration is not yet supported by CubeMx
+ * when SMPS output voltage is set to 1.4V, the RF output power is limited to 3.7dBm
+ * the SMPS output voltage shall be increased for higher RF output power
+ */
+ LL_PWR_SMPS_SetStartupCurrent(LL_PWR_SMPS_STARTUP_CURRENT_80MA);
+ LL_PWR_SMPS_SetOutputVoltageLevel(LL_PWR_SMPS_OUTPUT_VOLTAGE_1V40);
+ LL_PWR_SMPS_Enable();
+#endif
+
+ return;
+}
+
+void Init_Exti( void )
+{
+ /* Enable IPCC(36), HSEM(38) wakeup interrupts on CPU1 */
+ LL_EXTI_EnableIT_32_63( LL_EXTI_LINE_36 & LL_EXTI_LINE_38 );
+
+ return;
+}
+
+/* USER CODE BEGIN FD */
+
+/* USER CODE END FD */
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+static void Reset_Device( void )
+{
+#if ( CFG_HW_RESET_BY_FW == 1 )
+ Reset_BackupDomain();
+
+ Reset_IPCC();
+#endif /* CFG_HW_RESET_BY_FW */
+
+ return;
+}
+
+#if ( CFG_HW_RESET_BY_FW == 1 )
+static void Reset_BackupDomain( void )
+{
+ if ((LL_RCC_IsActiveFlag_PINRST() != FALSE) && (LL_RCC_IsActiveFlag_SFTRST() == FALSE))
+ {
+ HAL_PWR_EnableBkUpAccess(); /**< Enable access to the RTC registers */
+
+ /**
+ * Write twice the value to flush the APB-AHB bridge
+ * This bit shall be written in the register before writing the next one
+ */
+ HAL_PWR_EnableBkUpAccess();
+
+ __HAL_RCC_BACKUPRESET_FORCE();
+ __HAL_RCC_BACKUPRESET_RELEASE();
+ }
+
+ return;
+}
+
+static void Reset_IPCC( void )
+{
+ LL_AHB3_GRP1_EnableClock(LL_AHB3_GRP1_PERIPH_IPCC);
+
+ LL_C1_IPCC_ClearFlag_CHx(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C2_IPCC_ClearFlag_CHx(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C1_IPCC_DisableTransmitChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C2_IPCC_DisableTransmitChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C1_IPCC_DisableReceiveChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ LL_C2_IPCC_DisableReceiveChannel(
+ IPCC,
+ LL_IPCC_CHANNEL_1 | LL_IPCC_CHANNEL_2 | LL_IPCC_CHANNEL_3 | LL_IPCC_CHANNEL_4
+ | LL_IPCC_CHANNEL_5 | LL_IPCC_CHANNEL_6);
+
+ return;
+}
+#endif /* CFG_HW_RESET_BY_FW */
+
+static void Config_HSE(void)
+{
+ OTP_ID0_t * p_otp;
+
+ /**
+ * Read HSE_Tuning from OTP
+ */
+ p_otp = (OTP_ID0_t *) OTP_Read(0);
+ if (p_otp)
+ {
+ LL_RCC_HSE_SetCapacitorTuning(p_otp->hse_tuning);
+ }
+
+ return;
+}
+
+static void System_Init( void )
+{
+ Init_Smps( );
+
+ Init_Exti( );
+
+ Init_Rtc( );
+
+ return;
+}
+
+static void Init_Rtc( void )
+{
+ /* Disable RTC registers write protection */
+ LL_RTC_DisableWriteProtection(RTC);
+
+ LL_RTC_WAKEUP_SetClock(RTC, CFG_RTC_WUCKSEL_DIVIDER);
+
+ /* Enable RTC registers write protection */
+ LL_RTC_EnableWriteProtection(RTC);
+
+ return;
+}
+
+/**
+ * @brief Configure the system for power optimization
+ *
+ * @note This API configures the system to be ready for low power mode
+ *
+ * @param None
+ * @retval None
+ */
+static void SystemPower_Config( void )
+{
+ /**
+ * Select HSI as system clock source after Wake Up from Stop mode
+ */
+ LL_RCC_SetClkAfterWakeFromStop(LL_RCC_STOP_WAKEUPCLOCK_HSI);
+
+ /* Initialize low power manager */
+ UTIL_LPM_Init( );
+ /* Initialize the CPU2 reset value before starting CPU2 with C2BOOT */
+ LL_C2_PWR_SetPowerMode(LL_PWR_MODE_SHUTDOWN);
+
+#if (CFG_USB_INTERFACE_ENABLE != 0)
+ /**
+ * Enable USB power
+ */
+ HAL_PWREx_EnableVddUSB();
+#endif
+ /**
+ * Active SRAM retention for standby support
+ */
+ HAL_PWREx_EnableSRAMRetention();
+
+ return;
+}
+
+static void appe_Tl_Init( void )
+{
+ TL_MM_Config_t tl_mm_config;
+ SHCI_TL_HciInitConf_t SHci_Tl_Init_Conf;
+ /**< Reference table initialization */
+ TL_Init();
+
+ /**< System channel initialization */
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID, UTIL_SEQ_RFU, shci_user_evt_proc );
+ SHci_Tl_Init_Conf.p_cmdbuffer = (uint8_t*)&SystemCmdBuffer;
+ SHci_Tl_Init_Conf.StatusNotCallBack = APPE_SysStatusNot;
+ shci_init(APPE_SysUserEvtRx, (void*) &SHci_Tl_Init_Conf);
+
+ /**< Memory Manager channel initialization */
+ tl_mm_config.p_BleSpareEvtBuffer = BleSpareEvtBuffer;
+ tl_mm_config.p_SystemSpareEvtBuffer = SystemSpareEvtBuffer;
+ tl_mm_config.p_AsynchEvtPool = EvtPool;
+ tl_mm_config.AsynchEvtPoolSize = POOL_SIZE;
+ TL_MM_Init( &tl_mm_config );
+
+ TL_Enable();
+
+ return;
+}
+
+static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
+{
+ UNUSED(status);
+ return;
+}
+
+/**
+* The type of the payload for a system user event is tSHCI_UserEvtRxParam
+* When the system event is both :
+* - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
+* - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
+* The buffer shall not be released
+* ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
+* When the status is not filled, the buffer is released by default
+*/
+static void APPE_SysUserEvtRx( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+/**
+* @brief Notify when ready system event from the M0 firmware
+*/
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+
+ } else {
+
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY – UNEXPECTED CASE \n");
+ }
+ return;
+}
+
+/**
+* @brief Notify a system error coming from the M0 firmware
+*/
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT) {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – ERR_BLE_INIT \n");
+ } else {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – BLE ERROR \n");
+ }
+ return;
+}
+
+/* USER CODE BEGIN FD_LOCAL_FUNCTIONS */
+void APPE_Led_Init( void )
+{
+#if (CFG_LED_SUPPORTED == 1)
+ /**
+ * Leds Initialization
+ */
+
+ BSP_LED_Init(LED_BLUE);
+ BSP_LED_Init(LED_GREEN);
+ BSP_LED_Init(LED_RED);
+#endif
+
+ return;
+}
+
+void APPE_Button_Init( void )
+{
+#if (CFG_BUTTON_SUPPORTED == 1)
+ /**
+ * Button Initialization
+ */
+
+ BSP_PB_Init(BUTTON_SW1, BUTTON_MODE_EXTI);
+ BSP_PB_Init(BUTTON_SW2, BUTTON_MODE_EXTI);
+ BSP_PB_Init(BUTTON_SW3, BUTTON_MODE_EXTI);
+#endif
+
+ return;
+}
+/* USER CODE END FD_LOCAL_FUNCTIONS */
+
+/*************************************************************
+ *
+ * WRAP FUNCTIONS
+ *
+ *************************************************************/
+void HAL_Delay(uint32_t Delay)
+{
+ uint32_t tickstart = HAL_GetTick();
+ uint32_t wait = Delay;
+
+ /* Add a freq to guarantee minimum wait */
+ if (wait < HAL_MAX_DELAY)
+ {
+ wait += HAL_GetTickFreq();
+ }
+
+ while ((HAL_GetTick() - tickstart) < wait)
+ {
+ /************************************************************************************
+ * ENTER SLEEP MODE
+ ***********************************************************************************/
+ LL_LPM_EnableSleep( ); /**< Clear SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+ #if defined ( __CC_ARM)
+ __force_stores();
+ #endif
+
+ __WFI( );
+ }
+}
+
+void MX_APPE_Process(void)
+{
+ /* USER CODE BEGIN MX_APPE_Process_1 */
+
+ /* USER CODE END MX_APPE_Process_1 */
+ UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
+ /* USER CODE BEGIN MX_APPE_Process_2 */
+
+ /* USER CODE END MX_APPE_Process_2 */
+}
+
+void UTIL_SEQ_Idle( void )
+{
+#if ( CFG_LPM_SUPPORTED == 1)
+#if (LOW_POWER_FEATURE == 1)
+ if(BleProcessInit != 0)
+ {
+ BleMesh_sleepTime = (uint32_t)BLEMesh_GetSleepDuration();
+
+ if (BleMesh_sleepTime > 0)
+ {
+ LpTimerStart(BleMesh_sleepTime);
+
+ UTIL_LPM_EnterLowPower( );
+
+ uwTick += (uwTickFreq*LpGetElapsedTime());
+ }
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+ }
+#else
+ UTIL_LPM_EnterLowPower( );
+#endif
+#else
+#if (LOW_POWER_FEATURE == 1)
+ if(BleProcessInit != 0)
+ {
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+ }
+#endif
+#endif
+ return;
+}
+
+/**
+ * @brief This function is called by the scheduler each time an event
+ * is pending.
+ *
+ * @param evt_waited_bm : Event pending.
+ * @retval None
+ */
+void UTIL_SEQ_EvtIdle( UTIL_SEQ_bm_t task_id_bm, UTIL_SEQ_bm_t evt_waited_bm )
+{
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_Run( 0 );
+#else
+ UTIL_SEQ_Run( UTIL_SEQ_DEFAULT );
+#endif
+}
+
+void shci_notify_asynch_evt(void* pdata)
+{
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID, CFG_SCH_PRIO_0);
+ return;
+}
+
+void shci_cmd_resp_release(uint32_t flag)
+{
+ UTIL_SEQ_SetEvt( 1<< CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID );
+ return;
+}
+
+void shci_cmd_resp_wait(uint32_t timeout)
+{
+ UTIL_SEQ_WaitEvt( 1<< CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID );
+ return;
+}
+
+/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
+void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
+{
+ switch (GPIO_Pin)
+ {
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+ case POWEROFF_PIN:
+ {
+ PowerOnOff_flag = 1;
+ }
+ break;
+#endif
+
+ case BUTTON_SW1_PIN:
+ {
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_SW1_REQ_ID, CFG_SCH_PRIO_0);
+ }
+ break;
+
+#ifdef ENABLE_OCCUPANCY_SENSOR
+ case BUTTON_SW3_PIN:
+ {
+ Occupancy_Flag = 1;
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_SW3_REQ_ID, CFG_SCH_PRIO_0);
+ }
+ break;
+#endif
+
+
+ default:
+ break;
+
+ }
+ return;
+}
+/* USER CODE END FD_WRAP_FUNCTIONS */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_flash.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_flash.c
new file mode 100644
index 000000000..7efae7ce8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_flash.c
@@ -0,0 +1,152 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_flash.c
+ * @author MCD Application Team
+ * @brief This file contains the FLASH driver needed by EE module
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "common.h"
+#include "stm32_seq.h"
+//#include "dbg_gpio.h"
+#include "hw_flash.h"
+#include "stm32wbxx_hal.h"
+
+static void HW_FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data);
+static void HW_FLASH_PageErase(uint32_t Page);
+//static void HW_FLASH_WaitEndOfOperation(void);
+
+/*****************************************************************************/
+
+MOBLE_RESULT HW_FLASH_Write(uint32_t address, uint64_t data)
+{
+ /* Enable EOP interrupt */
+ // __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP);
+
+ // __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
+
+ HW_FLASH_Program_DoubleWord(address, data);
+
+ // HW_FLASH_WaitEndOfOperation();
+
+ /* Disable EOP interrupt */
+// __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP);
+
+ /* Clear the PG bit once data has been written */
+ CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
+
+ return (MOBLE_RESULT_SUCCESS);
+}
+
+/*****************************************************************************/
+
+MOBLE_RESULT HW_FLASH_Erase(uint32_t page, uint16_t n, int interrupt)
+{
+ UNUSED(interrupt);
+
+ uint32_t loop;
+
+ /* Enable EOP interrupt */
+ __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP);
+
+ for( loop = 0; loop < n ; loop++)
+ {
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
+
+ HW_FLASH_PageErase(page+loop);
+
+// HW_FLASH_WaitEndOfOperation();
+ }
+
+ /* Disable EOP interrupt */
+ __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP);
+
+ /* Clear the page erase bit */
+ CLEAR_BIT(FLASH->CR, (FLASH_CR_PER | FLASH_CR_PNB));
+
+ return (MOBLE_RESULT_SUCCESS);
+}
+
+#if 0
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetIPCCBufferAddr(void)
+{
+ return READ_BIT(FLASH->IPCCBR, FLASH_IPCCBR_IPCCDBA);
+}
+
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetSFSA(void)
+{
+ return (READ_BIT(FLASH->SFR, FLASH_SFR_SFSA) >> FLASH_SFR_SFSA_Pos);
+}
+
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetSBRSA(void)
+{
+ return (READ_BIT(FLASH->SRRVR, FLASH_SRRVR_SBRSA) >> FLASH_SRRVR_SBRSA_Pos);
+}
+
+/*****************************************************************************/
+
+uint32_t HW_FLASH_OB_GetSNBRSA(void)
+{
+ return (READ_BIT(FLASH->SRRVR, FLASH_SRRVR_SNBRSA) >> FLASH_SRRVR_SNBRSA_Pos);
+}
+#endif
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+
+/**
+ * This is a copy of FLASH_Program_DoubleWord() from the HAL
+ */
+static void HW_FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data)
+{
+// DBG_GPIO_Gr2Set(DBG_GPIO_GR2_FLASH_WRITE);
+
+ /* Set PG bit */
+ SET_BIT(FLASH->CR, FLASH_CR_PG);
+
+ /* Program first word */
+ *(uint32_t *)Address = (uint32_t)Data;
+
+ /* Barrier to ensure programming is performed in 2 steps, in right order
+ (independently of compiler optimization behavior) */
+ __ISB();
+
+ /* Program second word */
+ *(uint32_t *)(Address + 4U) = (uint32_t)(Data >> 32U);
+
+// DBG_GPIO_Gr2Reset(DBG_GPIO_GR2_FLASH_WRITE);
+}
+
+/**
+ * This is a copy of LASH_PageErase() from the HAL
+ */
+static void HW_FLASH_PageErase(uint32_t Page)
+{
+// DBG_GPIO_Gr2Set(DBG_GPIO_GR2_FLASH_ERASE);
+
+ /* Proceed to erase the page */
+ MODIFY_REG(FLASH->CR, FLASH_CR_PNB, ((Page << FLASH_CR_PNB_Pos) | FLASH_CR_PER | FLASH_CR_STRT));
+
+// DBG_GPIO_Gr2Set(DBG_GPIO_GR2_FLASH_ERASE);
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_timerserver.c
new file mode 100644
index 000000000..23a5bcdc6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_timerserver.c
@@ -0,0 +1,892 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+#include "hw_conf.h"
+
+/* Private typedef -----------------------------------------------------------*/
+typedef enum
+{
+ TimerID_Free,
+ TimerID_Created,
+ TimerID_Running
+}TimerIDStatus_t;
+
+typedef enum
+{
+ SSR_Read_Requested,
+ SSR_Read_Not_Requested
+}RequestReadSSR_t;
+
+typedef enum
+{
+ WakeupTimerValue_Overpassed,
+ WakeupTimerValue_LargeEnough
+}WakeupTimerLimitation_Status_t;
+
+typedef struct
+{
+ HW_TS_pTimerCb_t pTimerCallBack;
+ uint32_t CounterInit;
+ uint32_t CountLeft;
+ TimerIDStatus_t TimerIDStatus;
+ HW_TS_Mode_t TimerMode;
+ uint32_t TimerProcessID;
+ uint8_t PreviousID;
+ uint8_t NextID;
+}TimerContext_t;
+
+/* Private defines -----------------------------------------------------------*/
+#define SSR_FORBIDDEN_VALUE 0xFFFFFFFF
+#define TIMER_LIST_EMPTY 0xFFFF
+
+/* Private macros ------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+/**
+ * START of Section TIMERSERVER_CONTEXT
+ */
+
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile TimerContext_t aTimerContext[CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER];
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile uint8_t CurrentRunningTimerID;
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile uint8_t PreviousRunningTimerID;
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile uint32_t SSRValueOnLastSetup;
+PLACE_IN_SECTION("TIMERSERVER_CONTEXT") static volatile WakeupTimerLimitation_Status_t WakeupTimerLimitation;
+
+/**
+ * END of Section TIMERSERVER_CONTEXT
+ */
+
+static RTC_HandleTypeDef *phrtc; /**< RTC handle */
+static uint8_t WakeupTimerDivider;
+static uint8_t AsynchPrescalerUserConfig;
+static uint16_t SynchPrescalerUserConfig;
+static volatile uint16_t MaxWakeupTimerSetup;
+
+/* Global variables ----------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+static void RestartWakeupCounter(uint16_t Value);
+static uint16_t ReturnTimeElapsed(void);
+static void RescheduleTimerList(void);
+static void UnlinkTimer(uint8_t TimerID, RequestReadSSR_t RequestReadSSR);
+static void LinkTimerBefore(uint8_t TimerID, uint8_t RefTimerID);
+static void LinkTimerAfter(uint8_t TimerID, uint8_t RefTimerID);
+static uint16_t linkTimer(uint8_t TimerID);
+static uint32_t ReadRtcSsrValue(void);
+
+__weak void HW_TS_RTC_CountUpdated_AppNot(void);
+
+/* Functions Definition ------------------------------------------------------*/
+
+/**
+ * @brief Read the RTC_SSR value
+ * As described in the reference manual, the RTC_SSR shall be read twice to ensure
+ * reliability of the value
+ * @param None
+ * @retval SSR value read
+ */
+static uint32_t ReadRtcSsrValue(void)
+{
+ uint32_t first_read;
+ uint32_t second_read;
+
+ first_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS));
+
+ second_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS));
+
+ while(first_read != second_read)
+ {
+ first_read = second_read;
+
+ second_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS));
+ }
+
+ return second_read;
+}
+
+/**
+ * @brief Insert a Timer in the list after the Timer ID specified
+ * @param TimerID: The ID of the Timer
+ * @param RefTimerID: The ID of the Timer to be linked after
+ * @retval None
+ */
+static void LinkTimerAfter(uint8_t TimerID, uint8_t RefTimerID)
+{
+ uint8_t next_id;
+
+ next_id = aTimerContext[RefTimerID].NextID;
+
+ if(next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ aTimerContext[next_id].PreviousID = TimerID;
+ }
+ aTimerContext[TimerID].NextID = next_id;
+ aTimerContext[TimerID].PreviousID = RefTimerID ;
+ aTimerContext[RefTimerID].NextID = TimerID;
+
+ return;
+}
+
+/**
+ * @brief Insert a Timer in the list before the ID specified
+ * @param TimerID: The ID of the Timer
+ * @param RefTimerID: The ID of the Timer to be linked before
+ * @retval None
+ */
+static void LinkTimerBefore(uint8_t TimerID, uint8_t RefTimerID)
+{
+ uint8_t previous_id;
+
+ if(RefTimerID != CurrentRunningTimerID)
+ {
+ previous_id = aTimerContext[RefTimerID].PreviousID;
+
+ aTimerContext[previous_id].NextID = TimerID;
+ aTimerContext[TimerID].NextID = RefTimerID;
+ aTimerContext[TimerID].PreviousID = previous_id ;
+ aTimerContext[RefTimerID].PreviousID = TimerID;
+ }
+ else
+ {
+ aTimerContext[TimerID].NextID = RefTimerID;
+ aTimerContext[RefTimerID].PreviousID = TimerID;
+ }
+
+ return;
+}
+
+/**
+ * @brief Insert a Timer in the list
+ * @param TimerID: The ID of the Timer
+ * @retval None
+ */
+static uint16_t linkTimer(uint8_t TimerID)
+{
+ uint32_t time_left;
+ uint16_t time_elapsed;
+ uint8_t timer_id_lookup;
+ uint8_t next_id;
+
+ if(CurrentRunningTimerID == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ /**
+ * No timer in the list
+ */
+ PreviousRunningTimerID = CurrentRunningTimerID;
+ CurrentRunningTimerID = TimerID;
+ aTimerContext[TimerID].NextID = CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER;
+
+ SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE;
+ time_elapsed = 0;
+ }
+ else
+ {
+ time_elapsed = ReturnTimeElapsed();
+
+ /**
+ * update count of the timer to be linked
+ */
+ aTimerContext[TimerID].CountLeft += time_elapsed;
+ time_left = aTimerContext[TimerID].CountLeft;
+
+ /**
+ * Search for index where the new timer shall be linked
+ */
+ if(aTimerContext[CurrentRunningTimerID].CountLeft <= time_left)
+ {
+ /**
+ * Search for the ID after the first one
+ */
+ timer_id_lookup = CurrentRunningTimerID;
+ next_id = aTimerContext[timer_id_lookup].NextID;
+ while((next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (aTimerContext[next_id].CountLeft <= time_left))
+ {
+ timer_id_lookup = aTimerContext[timer_id_lookup].NextID;
+ next_id = aTimerContext[timer_id_lookup].NextID;
+ }
+
+ /**
+ * Link after the ID
+ */
+ LinkTimerAfter(TimerID, timer_id_lookup);
+ }
+ else
+ {
+ /**
+ * Link before the first ID
+ */
+ LinkTimerBefore(TimerID, CurrentRunningTimerID);
+ PreviousRunningTimerID = CurrentRunningTimerID;
+ CurrentRunningTimerID = TimerID;
+ }
+ }
+
+ return time_elapsed;
+}
+
+/**
+ * @brief Remove a Timer from the list
+ * @param TimerID: The ID of the Timer
+ * @param RequestReadSSR: Request to read the SSR register or not
+ * @retval None
+ */
+static void UnlinkTimer(uint8_t TimerID, RequestReadSSR_t RequestReadSSR)
+{
+ uint8_t previous_id;
+ uint8_t next_id;
+
+ if(TimerID == CurrentRunningTimerID)
+ {
+ PreviousRunningTimerID = CurrentRunningTimerID;
+ CurrentRunningTimerID = aTimerContext[TimerID].NextID;
+ }
+ else
+ {
+ previous_id = aTimerContext[TimerID].PreviousID;
+ next_id = aTimerContext[TimerID].NextID;
+
+ aTimerContext[previous_id].NextID = aTimerContext[TimerID].NextID;
+ if(next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ aTimerContext[next_id].PreviousID = aTimerContext[TimerID].PreviousID;
+ }
+ }
+
+ /**
+ * Timer is out of the list
+ */
+ aTimerContext[TimerID].TimerIDStatus = TimerID_Created;
+
+ if((CurrentRunningTimerID == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (RequestReadSSR == SSR_Read_Requested))
+ {
+ SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE;
+ }
+
+ return;
+}
+
+/**
+ * @brief Return the number of ticks counted by the wakeuptimer since it has been started
+ * @note The API is reading the SSR register to get how many ticks have been counted
+ * since the time the timer has been started
+ * @param None
+ * @retval Time expired in Ticks
+ */
+static uint16_t ReturnTimeElapsed(void)
+{
+ uint32_t return_value;
+ uint32_t wrap_counter;
+
+ if(SSRValueOnLastSetup != SSR_FORBIDDEN_VALUE)
+ {
+ return_value = ReadRtcSsrValue(); /**< Read SSR register first */
+
+ if (SSRValueOnLastSetup >= return_value)
+ {
+ return_value = SSRValueOnLastSetup - return_value;
+ }
+ else
+ {
+ wrap_counter = SynchPrescalerUserConfig - return_value;
+ return_value = SSRValueOnLastSetup + wrap_counter;
+ }
+
+ /**
+ * At this stage, ReturnValue holds the number of ticks counted by SSR
+ * Need to translate in number of ticks counted by the Wakeuptimer
+ */
+ return_value = return_value*AsynchPrescalerUserConfig;
+ return_value = return_value >> WakeupTimerDivider;
+ }
+ else
+ {
+ return_value = 0;
+ }
+
+ return (uint16_t)return_value;
+}
+
+/**
+ * @brief Set the wakeup counter
+ * @note The API is writing the counter value so that the value is decreased by one to cope with the fact
+ * the interrupt is generated with 1 extra clock cycle (See RefManuel)
+ * It assumes all condition are met to be allowed to write the wakeup counter
+ * @param Value: Value to be written in the counter
+ * @retval None
+ */
+static void RestartWakeupCounter(uint16_t Value)
+{
+ /**
+ * The wakeuptimer has been disabled in the calling function to reduce the time to poll the WUTWF
+ * FLAG when the new value will have to be written
+ * __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc);
+ */
+
+ if(Value == 0)
+ {
+ SSRValueOnLastSetup = ReadRtcSsrValue();
+
+ /**
+ * Simulate that the Timer expired
+ */
+ HAL_NVIC_SetPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID);
+ }
+ else
+ {
+ if((Value > 1) ||(WakeupTimerDivider != 1))
+ {
+ Value -= 1;
+ }
+
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == RESET);
+
+ /**
+ * make sure to clear the flags after checking the WUTWF.
+ * It takes 2 RTCCLK between the time the WUTE bit is disabled and the
+ * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable
+ * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between
+ * due to the autoreload feature
+ */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+ HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */
+
+ MODIFY_REG(RTC->WUTR, RTC_WUTR_WUT, Value);
+
+ /**
+ * Update the value here after the WUTWF polling that may take some time
+ */
+ SSRValueOnLastSetup = ReadRtcSsrValue();
+
+ __HAL_RTC_WAKEUPTIMER_ENABLE(phrtc); /**< Enable the Wakeup Timer */
+
+ HW_TS_RTC_CountUpdated_AppNot();
+ }
+
+ return ;
+}
+
+/**
+ * @brief Reschedule the list of timer
+ * @note 1) Update the count left for each timer in the list
+ * 2) Setup the wakeuptimer
+ * @param None
+ * @retval None
+ */
+static void RescheduleTimerList(void)
+{
+ uint8_t localTimerID;
+ uint32_t timecountleft;
+ uint16_t wakeup_timer_value;
+ uint16_t time_elapsed;
+
+ /**
+ * The wakeuptimer is disabled now to reduce the time to poll the WUTWF
+ * FLAG when the new value will have to be written
+ */
+ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET)
+ {
+ /**
+ * Wait for the flag to be back to 0 when the wakeup timer is enabled
+ */
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == SET);
+ }
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc); /**< Disable the Wakeup Timer */
+
+ localTimerID = CurrentRunningTimerID;
+
+ /**
+ * Calculate what will be the value to write in the wakeuptimer
+ */
+ timecountleft = aTimerContext[localTimerID].CountLeft;
+
+ /**
+ * Read how much has been counted
+ */
+ time_elapsed = ReturnTimeElapsed();
+
+ if(timecountleft < time_elapsed )
+ {
+ /**
+ * There is no tick left to count
+ */
+ wakeup_timer_value = 0;
+ WakeupTimerLimitation = WakeupTimerValue_LargeEnough;
+ }
+ else
+ {
+ if(timecountleft > (time_elapsed + MaxWakeupTimerSetup))
+ {
+ /**
+ * The number of tick left is greater than the Wakeuptimer maximum value
+ */
+ wakeup_timer_value = MaxWakeupTimerSetup;
+
+ WakeupTimerLimitation = WakeupTimerValue_Overpassed;
+ }
+ else
+ {
+ wakeup_timer_value = timecountleft - time_elapsed;
+ WakeupTimerLimitation = WakeupTimerValue_LargeEnough;
+ }
+
+ }
+
+ /**
+ * update ticks left to be counted for each timer
+ */
+ while(localTimerID != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ if (aTimerContext[localTimerID].CountLeft < time_elapsed)
+ {
+ aTimerContext[localTimerID].CountLeft = 0;
+ }
+ else
+ {
+ aTimerContext[localTimerID].CountLeft -= time_elapsed;
+ }
+ localTimerID = aTimerContext[localTimerID].NextID;
+ }
+
+ /**
+ * Write next count
+ */
+ RestartWakeupCounter(wakeup_timer_value);
+
+ return ;
+}
+
+/* Public functions ----------------------------------------------------------*/
+
+/**
+ * For all public interface except that may need write access to the RTC, the RTC
+ * shall be unlock at the beginning and locked at the output
+ * In order to ease maintainability, the unlock is done at the top and the lock at then end
+ * in case some new implementation is coming in the future
+ */
+
+void HW_TS_RTC_Wakeup_Handler(void)
+{
+ HW_TS_pTimerCb_t ptimer_callback;
+ uint32_t timer_process_id;
+ uint8_t local_current_running_timer_id;
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+/* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ /**
+ * Disable the Wakeup Timer
+ * This may speed up a bit the processing to wait the timer to be disabled
+ * The timer is still counting 2 RTCCLK
+ */
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc);
+
+ local_current_running_timer_id = CurrentRunningTimerID;
+
+ if(aTimerContext[local_current_running_timer_id].TimerIDStatus == TimerID_Running)
+ {
+ ptimer_callback = aTimerContext[local_current_running_timer_id].pTimerCallBack;
+ timer_process_id = aTimerContext[local_current_running_timer_id].TimerProcessID;
+
+ /**
+ * It should be good to check whether the TimeElapsed is greater or not than the tick left to be counted
+ * However, due to the inaccuracy of the reading of the time elapsed, it may return there is 1 tick
+ * to be left whereas the count is over
+ * A more secure implementation has been done with a flag to state whereas the full count has been written
+ * in the wakeuptimer or not
+ */
+ if(WakeupTimerLimitation != WakeupTimerValue_Overpassed)
+ {
+ if(aTimerContext[local_current_running_timer_id].TimerMode == hw_ts_Repeated)
+ {
+ UnlinkTimer(local_current_running_timer_id, SSR_Read_Not_Requested);
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ HW_TS_Start(local_current_running_timer_id, aTimerContext[local_current_running_timer_id].CounterInit);
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+ }
+ else
+ {
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ HW_TS_Stop(local_current_running_timer_id);
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+ }
+
+ HW_TS_RTC_Int_AppNot(timer_process_id, local_current_running_timer_id, ptimer_callback);
+ }
+ else
+ {
+ RescheduleTimerList();
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ }
+ }
+ else
+ {
+ /**
+ * We should never end up in this case
+ * However, if due to any bug in the timer server this is the case, the mistake may not impact the user.
+ * We could just clean the interrupt flag and get out from this unexpected interrupt
+ */
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == RESET);
+
+ /**
+ * make sure to clear the flags after checking the WUTWF.
+ * It takes 2 RTCCLK between the time the WUTE bit is disabled and the
+ * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable
+ * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between
+ * due to the autoreload feature
+ */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ return;
+}
+
+void HW_TS_Init(HW_TS_InitMode_t TimerInitMode, RTC_HandleTypeDef *hrtc)
+{
+ uint8_t loop;
+ uint32_t localmaxwakeuptimersetup;
+
+ /**
+ * Get RTC handler
+ */
+ phrtc = hrtc;
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ SET_BIT(RTC->CR, RTC_CR_BYPSHAD);
+
+ /**
+ * Readout the user config
+ */
+ WakeupTimerDivider = (4 - ((uint32_t)(READ_BIT(RTC->CR, RTC_CR_WUCKSEL))));
+
+ AsynchPrescalerUserConfig = (uint8_t)(READ_BIT(RTC->PRER, RTC_PRER_PREDIV_A) >> (uint32_t)POSITION_VAL(RTC_PRER_PREDIV_A)) + 1;
+
+ SynchPrescalerUserConfig = (uint16_t)(READ_BIT(RTC->PRER, RTC_PRER_PREDIV_S)) + 1;
+
+ /**
+ * Margin is taken to avoid wrong calculation when the wrap around is there and some
+ * application interrupts may have delayed the reading
+ */
+ localmaxwakeuptimersetup = ((((SynchPrescalerUserConfig - 1)*AsynchPrescalerUserConfig) - CFG_HW_TS_RTC_HANDLER_MAX_DELAY) >> WakeupTimerDivider);
+
+ if(localmaxwakeuptimersetup >= 0xFFFF)
+ {
+ MaxWakeupTimerSetup = 0xFFFF;
+ }
+ else
+ {
+ MaxWakeupTimerSetup = (uint16_t)localmaxwakeuptimersetup;
+ }
+
+ /**
+ * Configure EXTI module
+ */
+ LL_EXTI_EnableRisingTrig_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT);
+ LL_EXTI_EnableIT_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT);
+
+ if(TimerInitMode == hw_ts_InitMode_Full)
+ {
+ WakeupTimerLimitation = WakeupTimerValue_LargeEnough;
+ SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE;
+
+ /**
+ * Initialize the timer server
+ */
+ for(loop = 0; loop < CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; loop++)
+ {
+ aTimerContext[loop].TimerIDStatus = TimerID_Free;
+ }
+
+ CurrentRunningTimerID = CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; /**< Set ID to non valid value */
+
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc); /**< Disable the Wakeup Timer */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+ HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */
+ __HAL_RTC_WAKEUPTIMER_ENABLE_IT(phrtc, RTC_IT_WUT); /**< Enable interrupt in RTC module */
+ }
+ else
+ {
+ if(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTF) != RESET)
+ {
+ /**
+ * Simulate that the Timer expired
+ */
+ HAL_NVIC_SetPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID);
+ }
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ HAL_NVIC_SetPriority(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID, CFG_HW_TS_NVIC_RTC_WAKEUP_IT_PREEMPTPRIO, CFG_HW_TS_NVIC_RTC_WAKEUP_IT_SUBPRIO); /**< Set NVIC priority */
+ HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */
+
+ return;
+}
+
+HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pftimeout_handler)
+{
+ HW_TS_ReturnStatus_t localreturnstatus;
+ uint8_t loop = 0;
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+ while((loop < CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (aTimerContext[loop].TimerIDStatus != TimerID_Free))
+ {
+ loop++;
+ }
+
+ if(loop != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ aTimerContext[loop].TimerIDStatus = TimerID_Created;
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ aTimerContext[loop].TimerProcessID = TimerProcessID;
+ aTimerContext[loop].TimerMode = TimerMode;
+ aTimerContext[loop].pTimerCallBack = pftimeout_handler;
+ *pTimerId = loop;
+
+ localreturnstatus = hw_ts_Successful;
+ }
+ else
+ {
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ localreturnstatus = hw_ts_Failed;
+ }
+
+ return(localreturnstatus);
+}
+
+void HW_TS_Delete(uint8_t timer_id)
+{
+ HW_TS_Stop(timer_id);
+
+ aTimerContext[timer_id].TimerIDStatus = TimerID_Free; /**< release ID */
+
+ return;
+}
+
+void HW_TS_Stop(uint8_t timer_id)
+{
+ uint8_t localcurrentrunningtimerid;
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+ HAL_NVIC_DisableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Disable NVIC */
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ if(aTimerContext[timer_id].TimerIDStatus == TimerID_Running)
+ {
+ UnlinkTimer(timer_id, SSR_Read_Requested);
+ localcurrentrunningtimerid = CurrentRunningTimerID;
+
+ if(localcurrentrunningtimerid == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER)
+ {
+ /**
+ * List is empty
+ */
+
+ /**
+ * Disable the timer
+ */
+ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET)
+ {
+ /**
+ * Wait for the flag to be back to 0 when the wakeup timer is enabled
+ */
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == SET);
+ }
+ __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc); /**< Disable the Wakeup Timer */
+
+ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(phrtc, RTC_FLAG_WUTWF) == RESET);
+
+ /**
+ * make sure to clear the flags after checking the WUTWF.
+ * It takes 2 RTCCLK between the time the WUTE bit is disabled and the
+ * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable
+ * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between
+ * due to the autoreload feature
+ */
+ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(phrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */
+ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */
+ HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */
+ }
+ else if(PreviousRunningTimerID != localcurrentrunningtimerid)
+ {
+ RescheduleTimerList();
+ }
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ return;
+}
+
+void HW_TS_Start(uint8_t timer_id, uint32_t timeout_ticks)
+{
+ uint16_t time_elapsed;
+ uint8_t localcurrentrunningtimerid;
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ uint32_t primask_bit;
+#endif
+
+ if(aTimerContext[timer_id].TimerIDStatus == TimerID_Running)
+ {
+ HW_TS_Stop( timer_id );
+ }
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+#endif
+
+ HAL_NVIC_DisableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Disable NVIC */
+
+ /* Disable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_DISABLE( phrtc );
+
+ aTimerContext[timer_id].TimerIDStatus = TimerID_Running;
+
+ aTimerContext[timer_id].CountLeft = timeout_ticks;
+ aTimerContext[timer_id].CounterInit = timeout_ticks;
+
+ time_elapsed = linkTimer(timer_id);
+
+ localcurrentrunningtimerid = CurrentRunningTimerID;
+
+ if(PreviousRunningTimerID != localcurrentrunningtimerid)
+ {
+ RescheduleTimerList();
+ }
+ else
+ {
+ aTimerContext[timer_id].CountLeft -= time_elapsed;
+ }
+
+ /* Enable the write protection for RTC registers */
+ __HAL_RTC_WRITEPROTECTION_ENABLE( phrtc );
+
+ HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */
+
+#if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1)
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+#endif
+
+ return;
+}
+
+uint16_t HW_TS_RTC_ReadLeftTicksToCount(void)
+{
+ uint32_t primask_bit;
+ uint16_t return_value, auro_reload_value, elapsed_time_value;
+
+ primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */
+ __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/
+
+ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET)
+ {
+ auro_reload_value = (uint32_t)(READ_BIT(RTC->WUTR, RTC_WUTR_WUT));
+
+ elapsed_time_value = ReturnTimeElapsed();
+
+ if(auro_reload_value > elapsed_time_value)
+ {
+ return_value = auro_reload_value - elapsed_time_value;
+ }
+ else
+ {
+ return_value = 0;
+ }
+ }
+ else
+ {
+ return_value = TIMER_LIST_EMPTY;
+ }
+
+ __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/
+
+ return (return_value);
+}
+
+__weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS_pTimerCb_t pTimerCallBack)
+{
+ pTimerCallBack();
+
+ return;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_uart.c
new file mode 100644
index 000000000..77b78c12f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/hw_uart.c
@@ -0,0 +1,236 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_uart.c
+ * @author MCD Application Team
+ * @brief hardware access
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+
+extern UART_HandleTypeDef hlpuart1;
+extern UART_HandleTypeDef huart1;
+
+/* Macros --------------------------------------------------------------------*/
+#define HW_UART_RX_IT(__HANDLE__, __USART_BASE__) \
+ do{ \
+ HW_##__HANDLE__##RxCb = cb; \
+ (__HANDLE__).Instance = (__USART_BASE__); \
+ HAL_UART_Receive_IT(&(__HANDLE__), p_data, size); \
+ } while(0)
+
+#define HW_UART_TX_IT(__HANDLE__, __USART_BASE__) \
+ do{ \
+ HW_##__HANDLE__##TxCb = cb; \
+ (__HANDLE__).Instance = (__USART_BASE__); \
+ HAL_UART_Transmit_IT(&(__HANDLE__), p_data, size); \
+ } while(0)
+
+#define HW_UART_TX(__HANDLE__, __USART_BASE__) \
+ do{ \
+ (__HANDLE__).Instance = (__USART_BASE__); \
+ hal_status = HAL_UART_Transmit(&(__HANDLE__), p_data, size, timeout); \
+ } while(0)
+
+/* Variables -----------------------------------------------------------------*/
+DMA_HandleTypeDef HW_hdma_huart1_tx ={0};
+void (*HW_huart1RxCb)(void);
+void (*HW_huart1TxCb)(void);
+
+DMA_HandleTypeDef HW_hdma_hlpuart1_tx ={0};
+void (*HW_hlpuart1RxCb)(void);
+void (*HW_hlpuart1TxCb)(void);
+
+void HW_UART_Receive_IT(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*cb)(void))
+{
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_UART_RX_IT(huart1, USART1);
+ break;
+
+ case hw_lpuart1:
+ HW_UART_RX_IT(hlpuart1, LPUART1);
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+void HW_UART_Transmit_IT(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*cb)(void))
+{
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_UART_TX_IT(huart1, USART1);
+ break;
+
+ case hw_lpuart1:
+ HW_UART_TX_IT(hlpuart1, LPUART1);
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+hw_status_t HW_UART_Transmit(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, uint32_t timeout)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ hw_status_t hw_status = hw_uart_ok;
+
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_UART_TX(huart1, USART1);
+ break;
+
+ case hw_lpuart1:
+ HW_UART_TX(hlpuart1, LPUART1);
+ break;
+
+ default:
+ break;
+ }
+
+ switch (hal_status)
+ {
+ case HAL_OK:
+ hw_status = hw_uart_ok;
+ break;
+
+ case HAL_ERROR:
+ hw_status = hw_uart_error;
+ break;
+
+ case HAL_BUSY:
+ hw_status = hw_uart_busy;
+ break;
+
+ case HAL_TIMEOUT:
+ hw_status = hw_uart_to;
+ break;
+
+ default:
+ break;
+ }
+
+ return hw_status;
+}
+
+hw_status_t HW_UART_Transmit_DMA(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*cb)(void))
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ hw_status_t hw_status = hw_uart_ok;
+
+ switch (hw_uart_id)
+ {
+ case hw_uart1:
+ HW_huart1TxCb = cb;
+ huart1.Instance = USART1;
+ hal_status = HAL_UART_Transmit_DMA(&huart1, p_data, size);
+ break;
+
+ case hw_lpuart1:
+ HW_hlpuart1TxCb = cb;
+ hlpuart1.Instance = LPUART1;
+ hal_status = HAL_UART_Transmit_DMA(&hlpuart1, p_data, size);
+ break;
+
+ default:
+ break;
+ }
+
+ switch (hal_status)
+ {
+ case HAL_OK:
+ hw_status = hw_uart_ok;
+ break;
+
+ case HAL_ERROR:
+ hw_status = hw_uart_error;
+ break;
+
+ case HAL_BUSY:
+ hw_status = hw_uart_busy;
+ break;
+
+ case HAL_TIMEOUT:
+ hw_status = hw_uart_to;
+ break;
+
+ default:
+ break;
+ }
+
+ return hw_status;
+}
+
+void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
+{
+ switch ((uint32_t)huart->Instance)
+ {
+ case (uint32_t)USART1:
+ if(HW_huart1RxCb)
+ {
+ HW_huart1RxCb();
+ }
+ break;
+
+ case (uint32_t)LPUART1:
+ if(HW_hlpuart1RxCb)
+ {
+ HW_hlpuart1RxCb();
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
+{
+ switch ((uint32_t)huart->Instance)
+ {
+ case (uint32_t)USART1:
+ if(HW_huart1TxCb)
+ {
+ HW_huart1TxCb();
+ }
+ break;
+
+ case (uint32_t)LPUART1:
+ if(HW_hlpuart1TxCb)
+ {
+ HW_hlpuart1TxCb();
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/lp_timer.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/lp_timer.c
new file mode 100644
index 000000000..9eac8fb92
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/lp_timer.c
@@ -0,0 +1,134 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file lp_timer.c
+ * @author MCD Application Team
+ * @brief Low power timer to be used within Mesh Application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+
+#include "lp_timer.h"
+
+/* Exported variables --------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+static void LpTimerCb(void);
+
+/* Private typedef -----------------------------------------------------------*/
+typedef struct
+{
+ uint32_t LpTimeLeftOnEntry;
+ uint8_t LpTimer_Id;
+} LpTimerContext_t;
+
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+static LpTimerContext_t LpTimerContext;
+
+/* Functions Definition ------------------------------------------------------*/
+
+/**
+ * @brief Initialize the low power timer
+ *
+ * @param None
+ * @retval None
+ */
+void LpTimerInit(void)
+{
+ (void) HW_TS_Create(CFG_TIM_PROC_ID_ISR, &(LpTimerContext.LpTimer_Id), hw_ts_SingleShot, LpTimerCb);
+
+ return;
+}
+
+/**
+ * @brief Request to start a low power timer ( running is stop mode )
+ *
+ * @param time_to_sleep : in ms
+ * @retval None
+ */
+void LpTimerStart(uint32_t time_to_sleep)
+{
+ /* Converts the number of ms into hw timer tick */
+ if(time_to_sleep > 0x400000)
+ {
+ time_to_sleep = time_to_sleep / (CFG_TS_TICK_VAL);
+ time_to_sleep *= 1000;
+ }
+ else
+ {
+ time_to_sleep *= 1000;
+ time_to_sleep = time_to_sleep / (CFG_TS_TICK_VAL);
+ }
+
+ HW_TS_Start(LpTimerContext.LpTimer_Id, time_to_sleep);
+
+ /**
+ * There might be other timers already running in the timer server that may elapse
+ * before this one.
+ * Store how long before the next event so that on wakeup, it will be possible to calculate
+ * how long the tick has been suppressed
+ */
+ LpTimerContext.LpTimeLeftOnEntry = HW_TS_RTC_ReadLeftTicksToCount();
+
+ return;
+}
+
+/**
+ * @brief Read how long the timer has run
+ *
+ * @param None
+ * @retval The time elapsed in ms
+ */
+uint32_t LpGetElapsedTime(void)
+{
+ uint32_t return_value;
+
+ return_value = (CFG_TS_TICK_VAL) * (uint32_t)(LpTimerContext.LpTimeLeftOnEntry - HW_TS_RTC_ReadLeftTicksToCount());
+ return_value = return_value / 1000;
+
+ /**
+ * The system may have been out from another reason than the timer
+ * Stop the timer after the elapsed time is calculated other wise, HW_TS_RTC_ReadLeftTicksToCount()
+ * may return 0xFFFF ( TIMER LIST EMPTY )
+ * It does not hurt stopping a timer that exists but is not running.
+ */
+ HW_TS_Stop(LpTimerContext.LpTimer_Id);
+
+ return return_value;
+}
+
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+/**
+ * @brief Low power timer callback
+ *
+ * @param None
+ * @retval None
+ */
+static void LpTimerCb( void )
+{
+ /**
+ * Nothing to be done
+ */
+
+ return;
+}
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/main.c
new file mode 100644
index 000000000..f61078fdb
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/main.c
@@ -0,0 +1,337 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.c
+ * @brief : Main program body
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ @verbatim
+ ==============================================================================
+ ##### IMPORTANT NOTE #####
+ ==============================================================================
+
+ This application requests having the stm32wb1x_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 following directory:
+ /Projects/STM32_Copro_Wireless_Binaries
+
+ 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.
+
+ @endverbatim
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "stm32_lpm.h"
+#include "stm32_seq.h"
+#include "dbg_trace.h"
+#include "hw_conf.h"
+#include "otp.h"
+
+#include "app_entry.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "models_if.h"
+#include "mesh_cfg.h"
+#include "stm32wbxx_hal_rcc.h"
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+IPCC_HandleTypeDef hipcc;
+
+RTC_HandleTypeDef hrtc = { 0 }; /**< RTC handler declaration */
+TIM_HandleTypeDef htim1 = { 0 };
+TIM_HandleTypeDef htim2 = { 0 };
+UART_HandleTypeDef hlpuart1;
+UART_HandleTypeDef huart1;
+DMA_HandleTypeDef hdma_lpuart1_tx;
+DMA_HandleTypeDef hdma_usart1_tx;
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config( void );
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main( void )
+{
+ /* USER CODE BEGIN 1 */
+
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+ /* Config code for STM32_WPAN (HSE Tuning must be done before system clock configuration) */
+ MX_APPE_Config();
+
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+
+ /* IPCC initialisation */
+ MX_IPCC_Init();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ MX_RTC_Init();
+ /* USER CODE BEGIN 2 */
+
+ /* USER CODE END 2 */
+
+ /* Init code for STM32_WPAN */
+ MX_APPE_Init();
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+ while(1)
+ {
+ /* USER CODE END WHILE */
+ MX_APPE_Process();
+
+ /* USER CODE BEGIN 3 */
+ }
+ /* USER CODE END 3 */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Configure LSE Drive Capability
+ */
+ HAL_PWR_EnableBkUpAccess();
+ __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE
+ |RCC_OSCILLATORTYPE_LSE;
+ RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+ RCC_OscInitStruct.LSEState = RCC_LSE_ON;
+ RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /** Configure the SYSCLKSource, HCLK, PCLK1 and PCLK2 clocks dividers
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK4|RCC_CLOCKTYPE_HCLK2
+ |RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSE;
+#if ( CFG_LPM_SUPPORTED == 1)
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV2;
+#else
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+#endif
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.AHBCLK2Divider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.AHBCLK4Divider = RCC_SYSCLK_DIV1;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /** Initializes the peripherals clocks
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP
+ |RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART1
+ |RCC_PERIPHCLK_LPUART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ PeriphClkInitStruct.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1;
+ PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+ PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_LSE;
+ PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSE;
+ PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN Smps */
+
+ /* USER CODE END Smps */
+}
+
+/**
+ * @brief IPCC Initialization Function
+ * @param None
+ * @retval None
+ */
+void MX_IPCC_Init(void)
+{
+
+ /* USER CODE BEGIN IPCC_Init 0 */
+
+ /* USER CODE END IPCC_Init 0 */
+
+ /* USER CODE BEGIN IPCC_Init 1 */
+
+ /* USER CODE END IPCC_Init 1 */
+ hipcc.Instance = IPCC;
+ if (HAL_IPCC_Init(&hipcc) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN IPCC_Init 2 */
+
+ /* USER CODE END IPCC_Init 2 */
+
+}
+
+/**
+ * @brief RTC Initialization Function
+ * @param None
+ * @retval None
+ */
+void MX_RTC_Init(void)
+{
+
+ /* USER CODE BEGIN RTC_Init 0 */
+
+ /* USER CODE END RTC_Init 0 */
+
+ /* USER CODE BEGIN RTC_Init 1 */
+
+ /* USER CODE END RTC_Init 1 */
+ /** Initialize RTC Only
+ */
+ hrtc.Instance = RTC;
+ hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
+ hrtc.Init.AsynchPrediv = CFG_RTC_ASYNCH_PRESCALER;
+ hrtc.Init.SynchPrediv = CFG_RTC_SYNCH_PRESCALER;
+ hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
+ hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
+ hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE;
+ if (HAL_RTC_Init(&hrtc) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /** Enable the WakeUp
+ */
+ if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 0, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN RTC_Init 2 */
+ /* Disable RTC registers write protection */
+ LL_RTC_DisableWriteProtection(RTC);
+
+ LL_RTC_WAKEUP_SetClock(RTC, CFG_RTC_WUCKSEL_DIVIDER);
+
+ /* Enable RTC registers write protection */
+ LL_RTC_EnableWriteProtection(RTC);
+ /* USER CODE END RTC_Init 2 */
+
+}
+
+/**
+ * @brief GPIO Initialization Function
+ * @param None
+ * @retval None
+ */
+void MX_GPIO_Init(void)
+{
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+
+}
+
+/* USER CODE BEGIN 4 */
+
+/* USER CODE END 4 */
+
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ __disable_irq();
+ while (1)
+ {
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(uint8_t *file, uint32_t line)
+{
+ /* USER CODE BEGIN 6 */
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+ /* USER CODE END 6 */
+}
+#endif /* USE_FULL_ASSERT */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/standby_stm32wb15.c
new file mode 100644
index 000000000..f7172d804
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/standby_stm32wb15.c
@@ -0,0 +1,164 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file standby_stm32wb15.c
+ * @author MCD Application Team
+ * @brief Specific code for standby mode
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "app_entry.h"
+#include "app_common.h"
+#include "app_debug.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+uint32_t backup_MSP;
+uint32_t backup_IPCC_C1MR;
+uint32_t boot_after_standby;
+extern RTC_HandleTypeDef hrtc;
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+uint32_t standby_boot_mng(void);
+void standby_hw_save(void);
+void standby_hw_restore(void);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*******************************************************************************
+ * This part may be updated by the user
+ ******************************************************************************/
+
+ /**
+ * @brief standby_hw_save function, saves hardware context to restore
+ * @param None
+ * @retval None
+ */
+void standby_hw_save(void)
+{
+ backup_IPCC_C1MR = READ_REG(IPCC->C1MR);
+
+ /* USER CODE BEGIN standby_hw_save */
+
+ /* USER CODE END standby_hw_save */
+ return;
+}
+
+ /**
+ * @brief standby_hw_restore function, restore and reconfigure hardware context
+ * @param None
+ * @retval None
+ */
+void standby_hw_restore(void)
+{
+ /* USER CODE BEGIN standby_hw_restore_1 */
+
+ /* USER CODE END standby_hw_restore_1 */
+
+ APPD_Init();
+ Init_Exti();
+ Init_Smps();
+ HAL_Init();
+
+ HW_IPCC_Init();
+ HW_IPCC_Enable();
+ WRITE_REG(IPCC->C1MR, backup_IPCC_C1MR);
+
+ if( !LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) )
+ {
+ LL_RCC_SetClkAfterWakeFromStop(LL_RCC_STOP_WAKEUPCLOCK_HSI);
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+ }
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_PWR_STANDBY_SEMID, 0 );
+
+ /* In this user section add MX init functions present in main.c , except MX_RTC_Init() */
+ /* USER CODE BEGIN standby_hw_restore_2 */
+
+ MX_GPIO_Init();
+
+ /* USER CODE END standby_hw_restore_2 */
+
+ HW_TS_Init(hw_ts_InitMode_Limited, &hrtc);
+
+ LL_PWR_EnableSRAM2Retention();
+
+ /* USER CODE BEGIN standby_hw_restore_3 */
+ APPE_Led_Init();
+ APPE_Button_Init();
+ /* USER CODE END standby_hw_restore_3 */
+
+ return;
+}
+
+/*******************************************************************************
+ * Do not update code from this limit.
+ ******************************************************************************/
+
+ /**
+ * @brief standby_boot_mng function, will restore MCU context if wakeup from standby
+ * @param None
+ * @retval None
+ */
+uint32_t standby_boot_mng(void)
+{
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+ __HAL_RCC_HSEM_CLK_ENABLE();
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_PWR_STANDBY_SEMID ) );
+
+ if( __HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET )
+ {
+ __disable_irq( );
+
+ boot_after_standby = 1;
+ }else{
+ boot_after_standby = 0;
+
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_PWR_STANDBY_SEMID, 0 );
+ }
+#else
+ boot_after_standby = 0;
+#endif
+
+ return boot_after_standby;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32_lpm_if.c
new file mode 100644
index 000000000..0847a023f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32_lpm_if.c
@@ -0,0 +1,446 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32_lpm_if.h"
+#include "stm32_lpm.h"
+#include "app_conf.h"
+/* USER CODE BEGIN include */
+
+/* USER CODE END include */
+
+/* Exported variables --------------------------------------------------------*/
+const struct UTIL_LPM_Driver_s UTIL_PowerDriver =
+{
+ PWR_EnterSleepMode,
+ PWR_ExitSleepMode,
+
+ PWR_EnterStopMode,
+ PWR_ExitStopMode,
+
+ PWR_EnterOffMode,
+ PWR_ExitOffMode,
+};
+
+extern uint32_t boot_after_standby;
+extern RTC_HandleTypeDef hrtc;
+
+#define CSTACK_PREAMBLE_NUMBER 16
+uint32_t cStackPreamble[CSTACK_PREAMBLE_NUMBER];
+
+typedef void( *intfunc )( void );
+typedef union { intfunc __fun; void * __ptr; } intvec_elem;
+extern const intvec_elem __vector_table[];
+
+void CPUcontextSave(void); /* this function is implemented in startup assembly file */
+void standby_hw_save(void);
+void standby_hw_restore(void);
+void SystemClock_Config(void);
+
+/* Private function prototypes -----------------------------------------------*/
+static void Switch_On_HSI( void );
+static void EnterLowPower( void );
+static void ExitLowPower( void );
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+static void ExitLowPower_standby( void );
+#endif
+/* USER CODE BEGIN Private_Function_Prototypes */
+
+/* USER CODE END Private_Function_Prototypes */
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN Private_Typedef */
+
+/* USER CODE END Private_Typedef */
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Private_Define */
+
+/* USER CODE END Private_Define */
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Private_Macro */
+
+/* USER CODE END Private_Macro */
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN Private_Variables */
+
+/* USER CODE END Private_Variables */
+
+/* Functions Definition ------------------------------------------------------*/
+/**
+ * @brief Enters Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_EnterOffMode( void )
+{
+/* USER CODE BEGIN PWR_EnterOffMode_1 */
+
+/* USER CODE END PWR_EnterOffMode_1 */
+ /**
+ * The systick should be disabled for the same reason than when the device enters stop mode because
+ * at this time, the device may enter either OffMode or StopMode.
+ */
+ HAL_SuspendTick();
+
+ EnterLowPower();
+
+ /************************************************************************************
+ * ENTER OFF MODE
+ ***********************************************************************************/
+ /*
+ * There is no risk to clear all the WUF here because in the current implementation, this API is called
+ * in critical section. If an interrupt occurs while in that critical section before that point,
+ * the flag is set and will be cleared here but the system will not enter Off Mode
+ * because an interrupt is pending in the NVIC. The ISR will be executed when moving out
+ * of this critical section
+ */
+ LL_PWR_ClearFlag_WU( );
+
+ LL_PWR_SetPowerMode( LL_PWR_MODE_STANDBY );
+
+ LL_LPM_EnableDeepSleep( ); /**< Set SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+#if defined ( __CC_ARM)
+ __force_stores( );
+#endif
+
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+ /* This part of code must not put in a function as it deals with C stack calls.
+ * A function call will push data in C stack and impact algorithm.
+ */
+ /* local variable are here for better view */
+ uint8_t i = 0;
+ uint32_t* ptr;
+ /* Save part of the stack that will be restored at wakeup */
+ ptr = __vector_table[0].__ptr ;
+ ptr -= CSTACK_PREAMBLE_NUMBER;
+ do {
+ cStackPreamble[i] = *ptr;
+ i++;
+ ptr++;
+ } while (i < CSTACK_PREAMBLE_NUMBER);
+
+ LL_EXTI_EnableEvent_32_63( LL_EXTI_LINE_40 );
+ LL_EXTI_EnableRisingTrig_32_63( LL_EXTI_LINE_40 );
+
+ standby_hw_save();
+
+ CPUcontextSave();/* this function will call WFI instruction */
+#endif
+
+/* USER CODE BEGIN PWR_EnterOffMode_2 */
+
+/* USER CODE END PWR_EnterOffMode_2 */
+ return;
+}
+
+/**
+ * @brief Exits Low Power Off Mode
+ * @param none
+ * @retval none
+ */
+void PWR_ExitOffMode( void )
+{
+/* USER CODE BEGIN PWR_ExitOffMode_1 */
+
+/* USER CODE END PWR_ExitOffMode_1 */
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+ /* This part of code must not put in a function as it deals with C stack calls.
+ * A function call will push data in C stack and impact algorithm.
+ */
+ if(boot_after_standby != 0)
+ {
+ boot_after_standby = 0;
+ /* local variable are here for better view */
+ uint8_t i = 0;
+ uint32_t* ptr;
+ /* Restore the part of stack that has been saved before the sleep */
+ ptr = __vector_table[0].__ptr ;
+ ptr -= CSTACK_PREAMBLE_NUMBER;
+ do {
+ *ptr = cStackPreamble[i];
+ i++;
+ ptr++;
+ } while (i < CSTACK_PREAMBLE_NUMBER);
+
+ standby_hw_restore();
+
+ ExitLowPower_standby();
+ }
+ else
+ {
+ ExitLowPower();
+ }
+
+ HAL_ResumeTick();
+#endif
+/* USER CODE BEGIN PWR_ExitOffMode_2 */
+
+/* USER CODE END PWR_ExitOffMode_2 */
+ return;
+}
+
+/**
+ * @brief Enters Low Power Stop Mode
+ * @note ARM exists the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterStopMode( void )
+{
+/* USER CODE BEGIN PWR_EnterStopMode_1 */
+
+/* USER CODE END PWR_EnterStopMode_1 */
+ /**
+ * When HAL_DBGMCU_EnableDBGStopMode() is called to keep the debugger active in Stop Mode,
+ * the systick shall be disabled otherwise the cpu may crash when moving out from stop mode
+ *
+ * When in production, the HAL_DBGMCU_EnableDBGStopMode() is not called so that the device can reach best power consumption
+ * However, the systick should be disabled anyway to avoid the case when it is about to expire at the same time the device enters
+ * stop mode ( this will abort the Stop Mode entry ).
+ */
+ HAL_SuspendTick();
+
+ /**
+ * This function is called from CRITICAL SECTION
+ */
+ EnterLowPower();
+
+ /************************************************************************************
+ * ENTER STOP MODE
+ ***********************************************************************************/
+ LL_PWR_SetPowerMode( LL_PWR_MODE_STOP1 );
+
+ LL_LPM_EnableDeepSleep( ); /**< Set SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+#if defined ( __CC_ARM)
+ __force_stores( );
+#endif
+
+ __WFI();
+
+/* USER CODE BEGIN PWR_EnterStopMode_2 */
+
+/* USER CODE END PWR_EnterStopMode_2 */
+ return;
+}
+
+/**
+ * @brief Exits Low Power Stop Mode
+ * @note Enable the pll at 32MHz
+ * @param none
+ * @retval none
+ */
+void PWR_ExitStopMode( void )
+{
+/* USER CODE BEGIN PWR_ExitStopMode_1 */
+
+/* USER CODE END PWR_ExitStopMode_1 */
+ /**
+ * This function is called from CRITICAL SECTION
+ */
+ ExitLowPower();
+
+ HAL_ResumeTick();
+/* USER CODE BEGIN PWR_ExitStopMode_2 */
+
+/* USER CODE END PWR_ExitStopMode_2 */
+ return;
+}
+
+/**
+ * @brief Enters Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_EnterSleepMode( void )
+{
+/* USER CODE BEGIN PWR_EnterSleepMode_1 */
+
+/* USER CODE END PWR_EnterSleepMode_1 */
+
+ HAL_SuspendTick();
+
+ /************************************************************************************
+ * ENTER SLEEP MODE
+ ***********************************************************************************/
+ LL_LPM_EnableSleep( ); /**< Clear SLEEPDEEP bit of Cortex System Control Register */
+
+ /**
+ * This option is used to ensure that store operations are completed
+ */
+#if defined ( __CC_ARM)
+ __force_stores();
+#endif
+
+ __WFI( );
+/* USER CODE BEGIN PWR_EnterSleepMode_2 */
+
+/* USER CODE END PWR_EnterSleepMode_2 */
+ return;
+}
+
+/**
+ * @brief Exits Low Power Sleep Mode
+ * @note ARM exits the function when waking up
+ * @param none
+ * @retval none
+ */
+void PWR_ExitSleepMode( void )
+{
+/* USER CODE BEGIN PWR_ExitSleepMode_1 */
+
+/* USER CODE END PWR_ExitSleepMode_1 */
+ HAL_ResumeTick();
+/* USER CODE BEGIN PWR_ExitSleepMode_2 */
+
+/* USER CODE END PWR_ExitSleepMode_2 */
+ return;
+}
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+/**
+ * @brief Setup the system to enter either stop or off mode
+ * @param none
+ * @retval none
+ */
+static void EnterLowPower( void )
+{
+ /**
+ * This function is called from CRITICAL SECTION
+ */
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) );
+
+ if ( ! LL_HSEM_1StepLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID ) )
+ {
+ if( LL_PWR_IsActiveFlag_C2DS() || LL_PWR_IsActiveFlag_C2SB() )
+ {
+ /* Release ENTRY_STOP_MODE semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
+
+ Switch_On_HSI( );
+ }
+ }
+ else
+ {
+ Switch_On_HSI( );
+ }
+
+ /* Release RCC semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+
+ return;
+}
+
+/**
+ * @brief Restore the system to exit stop mode
+ * @param none
+ * @retval none
+ */
+static void ExitLowPower( void )
+{
+ /* Release ENTRY_STOP_MODE semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) );
+
+ if(LL_RCC_GetSysClkSource( ) == LL_RCC_SYS_CLKSOURCE_STATUS_HSI)
+ {
+/* Restore the clock configuration of the application in this user section */
+/* USER CODE BEGIN ExitLowPower_1 */
+ LL_RCC_HSE_Enable( );
+ __HAL_FLASH_SET_LATENCY(FLASH_LATENCY_1);
+ while(!LL_RCC_HSE_IsReady( ));
+ LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSE);
+ while (LL_RCC_GetSysClkSource( ) != LL_RCC_SYS_CLKSOURCE_STATUS_HSE);
+/* USER CODE END ExitLowPower_1 */
+ }
+ else
+ {
+/* If the application is not running on HSE restore the clock configuration in this user section */
+/* USER CODE BEGIN ExitLowPower_2 */
+
+/* USER CODE END ExitLowPower_2 */
+ }
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+
+ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);
+#endif
+
+ /* Release RCC semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+
+ return;
+}
+
+#if ( CFG_LPM_STANDBY_SUPPORTED != 0 )
+/**
+ * @brief Restore the system to exit standby mode
+ * @param none
+ * @retval none
+ */
+static void ExitLowPower_standby( void )
+{
+/* Release ENTRY_STOP_MODE semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_RCC_SEMID ) );
+/* USER CODE BEGIN ExitLowPower_standby */
+ SystemClock_Config();
+/* USER CODE END ExitLowPower_standby */
+ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);
+
+ /* Release RCC semaphore */
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_RCC_SEMID, 0 );
+
+ return;
+}
+#endif
+
+/**
+ * @brief Switch the system clock on HSI
+ * @param none
+ * @retval none
+ */
+static void Switch_On_HSI( void )
+{
+ LL_RCC_HSI_Enable( );
+ while(!LL_RCC_HSI_IsReady( ));
+ LL_RCC_SetSysClkSource( LL_RCC_SYS_CLKSOURCE_HSI );
+ LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
+ while (LL_RCC_GetSysClkSource( ) != LL_RCC_SYS_CLKSOURCE_STATUS_HSI);
+ return;
+}
+
+/* USER CODE BEGIN Private_Functions */
+
+/* USER CODE END Private_Functions */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_hal_msp.c
new file mode 100644
index 000000000..8414ecb7b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_hal_msp.c
@@ -0,0 +1,198 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_hal_msp.c
+ * @brief This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Define */
+
+/* USER CODE END Define */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Macro */
+
+/* USER CODE END Macro */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External functions --------------------------------------------------------*/
+/* USER CODE BEGIN ExternalFunctions */
+
+/* USER CODE END ExternalFunctions */
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+/**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_HSEM_CLK_ENABLE();
+
+ /* System interrupt init*/
+
+ /* Peripheral interrupt init */
+ /* HSEM_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(HSEM_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(HSEM_IRQn);
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/**
+* @brief IPCC MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hipcc: IPCC handle pointer
+* @retval None
+*/
+void HAL_IPCC_MspInit(IPCC_HandleTypeDef* hipcc)
+{
+ if(hipcc->Instance==IPCC)
+ {
+ /* USER CODE BEGIN IPCC_MspInit 0 */
+
+ /* USER CODE END IPCC_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_IPCC_CLK_ENABLE();
+ /* IPCC interrupt Init */
+ HAL_NVIC_SetPriority(IPCC_C1_RX_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(IPCC_C1_RX_IRQn);
+ HAL_NVIC_SetPriority(IPCC_C1_TX_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(IPCC_C1_TX_IRQn);
+ /* USER CODE BEGIN IPCC_MspInit 1 */
+
+ /* USER CODE END IPCC_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief IPCC MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hipcc: IPCC handle pointer
+* @retval None
+*/
+void HAL_IPCC_MspDeInit(IPCC_HandleTypeDef* hipcc)
+{
+ if(hipcc->Instance==IPCC)
+ {
+ /* USER CODE BEGIN IPCC_MspDeInit 0 */
+
+ /* USER CODE END IPCC_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_IPCC_CLK_DISABLE();
+
+ /* IPCC interrupt DeInit */
+ HAL_NVIC_DisableIRQ(IPCC_C1_RX_IRQn);
+ HAL_NVIC_DisableIRQ(IPCC_C1_TX_IRQn);
+ /* USER CODE BEGIN IPCC_MspDeInit 1 */
+
+ /* USER CODE END IPCC_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief RTC MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hrtc: RTC handle pointer
+* @retval None
+*/
+void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
+{
+ if(hrtc->Instance==RTC)
+ {
+ /* USER CODE BEGIN RTC_MspInit 0 */
+ HAL_PWR_EnableBkUpAccess(); /**< Enable access to the RTC registers */
+
+ /**
+ * Write twice the value to flush the APB-AHB bridge
+ * This bit shall be written in the register before writing the next one
+ */
+ HAL_PWR_EnableBkUpAccess();
+
+ __HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); /**< Select LSI as RTC Input */
+ /* USER CODE END RTC_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_RTC_ENABLE();
+ __HAL_RCC_RTCAPB_CLK_ENABLE();
+ /* RTC interrupt Init */
+ HAL_NVIC_SetPriority(RTC_WKUP_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(RTC_WKUP_IRQn);
+ /* USER CODE BEGIN RTC_MspInit 1 */
+ HAL_RTCEx_EnableBypassShadow(hrtc);
+ /* USER CODE END RTC_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief RTC MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hrtc: RTC handle pointer
+* @retval None
+*/
+void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
+{
+ if(hrtc->Instance==RTC)
+ {
+ /* USER CODE BEGIN RTC_MspDeInit 0 */
+
+ /* USER CODE END RTC_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_RTC_DISABLE();
+ __HAL_RCC_RTCAPB_CLK_DISABLE();
+
+ /* RTC interrupt DeInit */
+ HAL_NVIC_DisableIRQ(RTC_WKUP_IRQn);
+ /* USER CODE BEGIN RTC_MspDeInit 1 */
+
+ /* USER CODE END RTC_MspDeInit 1 */
+ }
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_it.c
new file mode 100644
index 000000000..50214eaa6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_it.c
@@ -0,0 +1,374 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "stm32wbxx_it.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "appli_mesh.h"
+#include "PWM_handlers.h"
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* External variables --------------------------------------------------------*/
+extern IPCC_HandleTypeDef hipcc;
+extern RTC_HandleTypeDef hrtc;
+extern TIM_HandleTypeDef htim1;
+extern TIM_HandleTypeDef htim2;
+extern UART_HandleTypeDef hlpuart1;
+extern UART_HandleTypeDef huart1;
+extern DMA_HandleTypeDef hdma_lpuart1_tx;
+extern DMA_HandleTypeDef hdma_usart1_tx;
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/******************************************************************************/
+/* Cortex Processor Interruption and Exception Handlers */
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+ while (1)
+ {
+ }
+ /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+ BSP_LED_On(LED_RED);
+#ifndef DISABLE_TRACES
+ printf("HARDFAULT !\r\n");
+#endif
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ /* USER CODE END W1_HardFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
+ /* USER CODE END W1_MemoryManagement_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Prefetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_BusFault_IRQn 0 */
+ /* USER CODE END W1_BusFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
+ /* USER CODE END W1_UsageFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ /* USER CODE BEGIN SVCall_IRQn 0 */
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ /* USER CODE BEGIN DebugMonitor_IRQn 0 */
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void)
+{
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+
+/******************************************************************************/
+/* STM32WBxx Peripheral Interrupt Handlers */
+/* Add here the Interrupt Handlers for the used peripherals. */
+/* For the available peripheral interrupt handler names, */
+/* please refer to the startup file (startup_stm32wbxx.s). */
+/******************************************************************************/
+
+/**
+ * @brief This function handles RTC wake-up interrupt through EXTI line 19.
+ */
+void RTC_WKUP_IRQHandler(void)
+{
+ /* USER CODE BEGIN RTC_WKUP_IRQn 0 */
+
+ /* USER CODE END RTC_WKUP_IRQn 0 */
+ HAL_RTCEx_WakeUpTimerIRQHandler(&hrtc);
+ /* USER CODE BEGIN RTC_WKUP_IRQn 1 */
+
+ /* USER CODE END RTC_WKUP_IRQn 1 */
+}
+
+/**
+ * @brief This function handles IPCC RX occupied interrupt.
+ */
+void IPCC_C1_RX_IRQHandler(void)
+{
+ /* USER CODE BEGIN IPCC_C1_RX_IRQn 0 */
+
+ /* USER CODE END IPCC_C1_RX_IRQn 0 */
+ HAL_IPCC_RX_IRQHandler(&hipcc);
+ /* USER CODE BEGIN IPCC_C1_RX_IRQn 1 */
+
+ /* USER CODE END IPCC_C1_RX_IRQn 1 */
+}
+
+/**
+ * @brief This function handles IPCC TX free interrupt.
+ */
+void IPCC_C1_TX_IRQHandler(void)
+{
+ /* USER CODE BEGIN IPCC_C1_TX_IRQn 0 */
+
+ /* USER CODE END IPCC_C1_TX_IRQn 0 */
+ HAL_IPCC_TX_IRQHandler(&hipcc);
+ /* USER CODE BEGIN IPCC_C1_TX_IRQn 1 */
+
+ /* USER CODE END IPCC_C1_TX_IRQn 1 */
+}
+
+/**
+ * @brief This function handles HSEM global interrupt.
+ */
+void HSEM_IRQHandler(void)
+{
+ /* USER CODE BEGIN HSEM_IRQn 0 */
+
+ /* USER CODE END HSEM_IRQn 0 */
+ HAL_HSEM_IRQHandler();
+ /* USER CODE BEGIN HSEM_IRQn 1 */
+
+ /* USER CODE END HSEM_IRQn 1 */
+}
+
+/* USER CODE BEGIN 1 */
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void PUSH_BUTTON_SW1_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(BUTTON_SW1_PIN);
+}
+
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void PUSH_BUTTON_SW2_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(BUTTON_SW2_PIN);
+}
+
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void PUSH_BUTTON_SW3_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(BUTTON_SW3_PIN);
+}
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+/**
+ * @brief This function handles External line
+ * interrupt request.
+ * @param None
+ * @retval None
+ */
+void POWEROFF_EXTI_IRQHandler(void)
+{
+ HAL_GPIO_EXTI_IRQHandler(POWEROFF_PIN);
+}
+#endif
+
+#if(CFG_HW_USART1_ENABLED == 1)
+void USART1_IRQHandler(void)
+{
+ HAL_UART_IRQHandler(&huart1);
+}
+#endif
+
+#if(CFG_HW_USART1_DMA_TX_SUPPORTED == 1)
+void CFG_HW_USART1_DMA_TX_IRQHandler( void )
+{
+ HAL_DMA_IRQHandler(&hdma_usart1_tx);
+}
+#endif
+
+#if(CFG_HW_LPUART1_ENABLED == 1)
+void LPUART1_IRQHandler(void)
+{
+ HAL_UART_IRQHandler(&hw_lpuart1);
+}
+#endif
+
+#if(CFG_HW_LPUART1_DMA_TX_SUPPORTED == 1)
+void CFG_HW_LPUART1_DMA_TX_IRQHandler( void )
+{
+ HAL_DMA_IRQHandler(&hdma_lpuart1_tx);
+}
+#endif
+
+#if 0
+/**
+ * @brief This function handles TIM2 global interrupt.
+ */
+void TIM2_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM2_IRQn 0 */
+
+ /* USER CODE END TIM2_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim2);
+ /* USER CODE BEGIN TIM2_IRQn 1 */
+
+ /* USER CODE END TIM2_IRQn 1 */
+}
+
+/**
+ * @brief This function handles TIM1 global interrupt.
+ */
+void TIM1_CC_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM1_IRQn 0 */
+
+ /* USER CODE END TIM1_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim1);
+ /* USER CODE BEGIN TIM1_IRQn 1 */
+
+ /* USER CODE END TIM1_IRQn 1 */
+}
+#endif
+
+/* USER CODE END 1 */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/system_stm32wbxx.c
new file mode 100644
index 000000000..6a4aa6327
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/Core/Src/system_stm32wbxx.c
@@ -0,0 +1,354 @@
+/**
+ ******************************************************************************
+ * @file system_stm32wbxx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex Device Peripheral Access Layer System Source File
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32wbxx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ * After each device reset the MSI (4 MHz) is used as system clock source.
+ * Then SystemInit() function is called, in "startup_stm32wbxx.s" file, to
+ * configure the system clock before to branch to main program.
+ *
+ * This file configures the system clock as follows:
+ *=============================================================================
+ *-----------------------------------------------------------------------------
+ * System Clock source | MSI
+ *-----------------------------------------------------------------------------
+ * SYSCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * HCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * AHB Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB1 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB2 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * PLL_M | 1
+ *-----------------------------------------------------------------------------
+ * PLL_N | 8
+ *-----------------------------------------------------------------------------
+ * PLL_P | 7
+ *-----------------------------------------------------------------------------
+ * PLL_Q | 2
+ *-----------------------------------------------------------------------------
+ * PLL_R | 2
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_R | NA
+ *-----------------------------------------------------------------------------
+ * Require 48MHz for USB OTG FS, | Disabled
+ * SDIO and RNG clock |
+ *-----------------------------------------------------------------------------
+ *=============================================================================
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32WBxx_system
+ * @{
+ */
+
+/** @addtogroup stm32WBxx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32wbxx.h"
+
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE (32000000UL) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE (4000000UL) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE (16000000UL) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE (32000UL) /*!< Value of LSI in Hz*/
+#endif /* LSI_VALUE */
+
+#if !defined (LSE_VALUE)
+ #define LSE_VALUE (32768UL) /*!< Value of LSE in Hz*/
+#endif /* LSE_VALUE */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Defines
+ * @{
+ */
+
+/*!< Uncomment the following line if you need to relocate your vector Table in
+ Internal SRAM. */
+/* #define VECT_TAB_SRAM */
+#define VECT_TAB_OFFSET 0x0U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+
+#define VECT_TAB_BASE_ADDRESS SRAM1_BASE /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Variables
+ * @{
+ */
+/* The SystemCoreClock variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+ uint32_t SystemCoreClock = 4000000UL ; /*CPU1: M4 on MSI clock after startup (4MHz)*/
+
+ const uint32_t AHBPrescTable[16UL] = {1UL, 3UL, 5UL, 1UL, 1UL, 6UL, 10UL, 32UL, 2UL, 4UL, 8UL, 16UL, 64UL, 128UL, 256UL, 512UL};
+
+ const uint32_t APBPrescTable[8UL] = {0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL};
+
+ const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
+ 4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
+
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB10xx)
+ const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
+ {2UL,6UL,4UL,3UL,2UL,4UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}};
+#endif
+
+/**
+ * @}
+ */
+
+ /** @addtogroup STM32WBxx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+ /**
+ * @}
+ */
+
+ /** @addtogroup STM32WBxx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * @param None
+ * @retval None
+ */
+void SystemInit(void)
+{
+ /* Configure the Vector Table location add offset address ------------------*/
+#if defined(VECT_TAB_SRAM) && defined(VECT_TAB_BASE_ADDRESS)
+ /* program in SRAMx */
+ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAMx for CPU1 */
+#else /* program in FLASH */
+ SCB->VTOR = VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
+#endif
+
+ /* FPU settings ------------------------------------------------------------*/
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+ SCB->CPACR |= ((3UL << (10UL*2UL))|(3UL << (11UL*2UL))); /* set CP10 and CP11 Full Access */
+#endif
+
+ /* Reset the RCC clock configuration to the default reset state ------------*/
+ /* Set MSION bit */
+ RCC->CR |= RCC_CR_MSION;
+
+ /* Reset CFGR register */
+ RCC->CFGR = 0x00070000U;
+
+ /* Reset PLLSAI1ON, PLLON, HSECSSON, HSEON, HSION, and MSIPLLON bits */
+ RCC->CR &= (uint32_t)0xFAF6FEFBU;
+
+ /*!< Reset LSI1 and LSI2 bits */
+ RCC->CSR &= (uint32_t)0xFFFFFFFAU;
+
+ /*!< Reset HSI48ON bit */
+ RCC->CRRCR &= (uint32_t)0xFFFFFFFEU;
+
+ /* Reset PLLCFGR register */
+ RCC->PLLCFGR = 0x22041000U;
+
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx)
+ /* Reset PLLSAI1CFGR register */
+ RCC->PLLSAI1CFGR = 0x22041000U;
+#endif
+
+ /* Reset HSEBYP bit */
+ RCC->CR &= 0xFFFBFFFFU;
+
+ /* Disable all interrupts */
+ RCC->CIER = 0x00000000;
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***)
+ * or HSI_VALUE(*) or MSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) MSI_VALUE is a constant defined in stm32wbxx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSI_VALUE is a constant defined in stm32wbxx_hal_conf.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***) HSE_VALUE is a constant defined in stm32wbxx_hal_conf.h file (default value
+ * 32 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ *
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate(void)
+{
+ uint32_t tmp, msirange, pllvco, pllr, pllsource , pllm;
+
+ /* Get MSI Range frequency--------------------------------------------------*/
+
+ /*MSI frequency range in Hz*/
+ msirange = MSIRangeTable[(RCC->CR & RCC_CR_MSIRANGE) >> RCC_CR_MSIRANGE_Pos];
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case 0x00: /* MSI used as system clock source */
+ SystemCoreClock = msirange;
+ break;
+
+ case 0x04: /* HSI used as system clock source */
+ /* HSI used as system clock source */
+ SystemCoreClock = HSI_VALUE;
+ break;
+
+ case 0x08: /* HSE used as system clock source */
+ SystemCoreClock = HSE_VALUE;
+ break;
+
+ case 0x0C: /* PLL used as system clock source */
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or MSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC);
+ pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1UL ;
+
+ if(pllsource == 0x02UL) /* HSI used as PLL clock source */
+ {
+ pllvco = (HSI_VALUE / pllm);
+ }
+ else if(pllsource == 0x03UL) /* HSE used as PLL clock source */
+ {
+ pllvco = (HSE_VALUE / pllm);
+ }
+ else /* MSI used as PLL clock source */
+ {
+ pllvco = (msirange / pllm);
+ }
+
+ pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos);
+ pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1UL);
+
+ SystemCoreClock = pllvco/pllr;
+ break;
+
+ default:
+ SystemCoreClock = msirange;
+ break;
+ }
+
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK1 prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos)];
+ /* HCLK clock frequency */
+ SystemCoreClock = SystemCoreClock / tmp;
+
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewd b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewd
new file mode 100644
index 000000000..371665414
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewd
@@ -0,0 +1,2834 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <fileVersion>3</fileVersion>
+ <configuration>
+ <name>Lighting_PRF_Node</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>29</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>MemOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MemFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\debugger\ST\STM32WB15_M4.ddf</state>
+ </option>
+ <option>
+ <name>RunToEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDDFArgumentProducer</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadSuppressDownload</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDownloadVerifyAll</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>OCDynDriverList</name>
+ <state>STLINK_ID</state>
+ </option>
+ <option>
+ <name>OCLastSavedByProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>UseFlashLoader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CLowLevel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacFile2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CDevice</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>FlashLoadersV3</name>
+ <state>$TOOLKIT_DIR$\config\flashloader\ST\FlashSTM32WB15xx_M4.board</state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OverrideDefFlashBoard</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesOffset1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesUse1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDeviceConfigMacroFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDebuggerExtraOption</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAllMTBOptions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreNrOfCores</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreMaster</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCMulticorePort</name>
+ <state>53461</state>
+ </option>
+ <option>
+ <name>OCMulticoreWorkspace</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveProject</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveConfiguration</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadExtraImage</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAttachSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MassEraseBeforeFlashing</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ARMSIM_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCSimDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCSimEnablePSP</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspOverrideConfig</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspConfigFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CADI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCadiMemory</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Fast Model</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCADILogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCADILogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CMSISDAP_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CMSISDAPResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>CMSISDAPDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CMSISDAPProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>GDBSERVER_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IJET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>IjetHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>IjetHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>IjetPowerFromProbe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPowerRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>IjetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetProtocolRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSwoPin</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetSwoPrescalerList</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPreferETB</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetTraceSettingsList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetTraceSizeList</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>FlashBoardPathSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>16</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>JLinkSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCJLinkDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCDoJlinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkResetList</name>
+ <version>6</version>
+ <state>5</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCTcpIpAlt</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTcpIpSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSourceDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkDeviceName</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>PEMICRO_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>3</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJPEMicroShowSettings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>STLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkResetList</name>
+ <version>3</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state>32.0</state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCSTLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkDAPNumber</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkDebugAccessPortRadio</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>THIRDPARTY_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CThirdPartyDriverDll</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>TIFET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVccTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVoltage</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CCMSPFetVCCDefault</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetSettlingtime</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioJtagSpeedType</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetConnection</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetUsbComPort</name>
+ <state>Automatic</state>
+ </option>
+ <option>
+ <name>CCMSPFetAllowAccessToBSL</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioEraseFlash</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XDS100_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TIPackageOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>TIPackage</name>
+ <state></state>
+ </option>
+ <option>
+ <name>BoardFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCXds100BreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100DoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCXds100CatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockEdit</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCXds100HWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100JtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceRadio</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ProbeList</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPortRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPort</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+ <configuration>
+ <name>Lighting_Provisioner</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>29</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>MemOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MemFile</name>
+ <state>$TOOLKIT_DIR$\CONFIG\debugger\ST\STM32WB_M4.ddf</state>
+ </option>
+ <option>
+ <name>RunToEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDDFArgumentProducer</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadSuppressDownload</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDownloadVerifyAll</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>OCDynDriverList</name>
+ <state>STLINK_ID</state>
+ </option>
+ <option>
+ <name>OCLastSavedByProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>UseFlashLoader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CLowLevel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacFile2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CDevice</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>FlashLoadersV3</name>
+ <state>$TOOLKIT_DIR$\config\flashloader\ST\FlashSTM32WB_M4.board</state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OverrideDefFlashBoard</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesOffset1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesOffset3</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCImagesUse1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDeviceConfigMacroFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDebuggerExtraOption</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAllMTBOptions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreNrOfCores</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreMaster</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCMulticorePort</name>
+ <state>53461</state>
+ </option>
+ <option>
+ <name>OCMulticoreWorkspace</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveProject</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCMulticoreSlaveConfiguration</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadExtraImage</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAttachSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MassEraseBeforeFlashing</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ARMSIM_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCSimDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCSimEnablePSP</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspOverrideConfig</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspConfigFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CADI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCadiMemory</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Fast Model</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCADILogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCADILogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CMSISDAP_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CMSISDAPResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>CMSISDAPDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CMSISDAPProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>GDBSERVER_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IJET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>IjetHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>IjetHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>IjetPowerFromProbe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPowerRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>IjetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetProtocolRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSwoPin</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetSwoPrescalerList</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IjetProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPreferETB</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetTraceSettingsList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetTraceSizeList</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>FlashBoardPathSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>16</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>JLinkSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCJLinkDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCDoJlinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkResetList</name>
+ <version>6</version>
+ <state>5</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCTcpIpAlt</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTcpIpSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSourceDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkDeviceName</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>PEMICRO_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>3</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJPEMicroShowSettings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>STLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkResetList</name>
+ <version>3</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state>32.0</state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCSTLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkDAPNumber</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCSTLinkDebugAccessPortRadio</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>THIRDPARTY_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CThirdPartyDriverDll</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>TIFET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVccTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVoltage</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CCMSPFetVCCDefault</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetSettlingtime</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioJtagSpeedType</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetConnection</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetUsbComPort</name>
+ <state>Automatic</state>
+ </option>
+ <option>
+ <name>CCMSPFetAllowAccessToBSL</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioEraseFlash</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XDS100_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TIPackageOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>TIPackage</name>
+ <state></state>
+ </option>
+ <option>
+ <name>BoardFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCXds100BreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100DoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCXds100CatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CpuClockEdit</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockEdit</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCXds100HWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNo</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100JtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceRadio</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ProbeList</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPortRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPort</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+</project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewp b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewp
new file mode 100644
index 000000000..435e65d0f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/BLE_MeshLightingPRFNode.ewp
@@ -0,0 +1,1313 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <fileVersion>3</fileVersion>
+ <configuration>
+ <name>Lighting_PRF_Node</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>30</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>ExePath</name>
+ <state>Lighting_PRF_Node\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Lighting_PRF_Node\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Lighting_PRF_Node\List</state>
+ </option>
+ <option>
+ <name>GEndianMode</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>Automatic choice of formatter, without multibyte support.</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>Automatic choice of formatter, without multibyte support.</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGCoreOrChip</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>OGProductVersion</name>
+ <state>7.80.2.11970</state>
+ </option>
+ <option>
+ <name>OGLastSavedByProductVersion</name>
+ <state>8.20.2.14834</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>STM32WB15CC ST STM32WB15CC</state>
+ </option>
+ <option>
+ <name>GenLowLevelInterface</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GEndianModeBE</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGBufferedTerminalOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenStdoutInterface</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>RTConfigPath2</name>
+ <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state>
+ </option>
+ <option>
+ <name>GBECoreSlave</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGUseCmsis</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGUseCmsisDspLib</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibThreads</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreVariant</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>GFPUDeviceSlave</name>
+ <state>STM32WB15CC ST STM32WB15CC</state>
+ </option>
+ <option>
+ <name>FPU2</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>NrRegs</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>NEON</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GFPUCoreSlave2</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGCMSISPackSelectDevice</name>
+ </option>
+ <option>
+ <name>OgLibHeap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGLibAdditionalLocale</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGPrintfVariant</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGPrintfMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGScanfVariant</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGScanfMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenLocaleTags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>GenLocaleDisplayOnly</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DSPExtension</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TrustZone</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>34</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCDefines</name>
+ <state>USE_STM32WBXX_NUCLEO</state>
+ <state>USE_HAL_DRIVER</state>
+ <state>STM32WB15xx</state>
+ <state>ENABLE_USART</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>1</version>
+ <state>11111110</state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IEndianMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCLangConformance</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSignedPlainChar</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$/../Core/Inc</state>
+ <state>$PROJ_DIR$/../STM32_WPAN/app</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc/Legacy</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities</state>
+ <state>$PROJ_DIR$/../../../../../../Utilities/lpm/tiny_lpm</state>
+ <state>$PROJ_DIR$/../../../../../../Utilities/sequencer</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/CMSIS/Include</state>
+ <state>$PROJ_DIR$/../../../../../../Drivers/BSP/NUCLEO-WB15CC</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc</state>
+ <state>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeSection</name>
+ <state>.text</state>
+ </option>
+ <option>
+ <name>IProcessorMode2</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CCPosIndRopi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndRwpi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndNoDynInit</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccLang</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccAllowVLA</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccStaticDestr</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccCppInlineSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccFloatSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptimizationNoSizeConstraints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptStrategySlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCGuardCalls</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExceptions2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccRTTI2</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>10</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AltRegisterNames</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AsmNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>OBJCOPY</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OOCOutputFormat</name>
+ <version>3</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCOutputOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCOutputFile</name>
+ <state>BLE_MeshLightingPRFNode.hex</state>
+ </option>
+ <option>
+ <name>OOCCommandLineProducer</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCObjCopyEnable</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ <hasPrio>0</hasPrio>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data />
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>ILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>20</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IlinkLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkInputFileSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOutputFile</name>
+ <state>BLE_MeshLightingPRFNode.out</state>
+ </option>
+ <option>
+ <name>IlinkDebugInfoEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkKeepSymbols</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkConfigDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkMapFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogInitialization</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogModule</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogSection</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogVeneer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile</name>
+ <state>$PROJ_DIR$\stm32wb15xx_flash_cm4.icf</state>
+ </option>
+ <option>
+ <name>IlinkIcfFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkSuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsRem</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkWarningsAreErrors</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkUseExtraOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkLowLevelInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAutoLibEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAdditionalLibs</name>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Library\libBle_Mesh_CM4_WB15xx_IAR.a</state>
+ </option>
+ <option>
+ <name>IlinkOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabel</name>
+ <state>__iar_program_start</state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>FillerStart</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>FillerEnd</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkBufferedTerminalOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkStdoutInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcFullSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIElfToolPostProcess</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogAutoLibSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogRedirSymbols</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogUnusedFragments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcReverseByteOrder</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcUseAsInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptInline</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsAllow</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsForce</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptMergeDuplSections</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptUseVfe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptForceVfe</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackAnalysisEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackControlFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkStackCallGraphFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlgorithm</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcUnitSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkThreadsSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogCallGraph</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile_AltDefault</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkHeapSelect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLocaleSelect</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IARCHIVE</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IarchiveInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IarchiveOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IarchiveOutput</name>
+ <state>###Unitialized###</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data />
+ </settings>
+ <settings>
+ <name>Coder</name>
+ <archiveVersion>0</archiveVersion>
+ <data />
+ </settings>
+ </configuration>
+ <group>
+ <name>Application</name>
+ <group>
+ <name>EWARM</name>
+ <file>
+ <name>$PROJ_DIR$\startup_stm32wb15xx_cm4.s</name>
+ </file>
+ </group>
+ <group>
+ <name>User</name>
+ <group>
+ <name>Core</name>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\app_debug.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\app_entry.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\hw_flash.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\hw_timerserver.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\hw_uart.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\lp_timer.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\standby_stm32wb15.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32_lpm_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_hal_msp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\stm32wbxx_it.c</name>
+ </file>
+ </group>
+ <group>
+ <name>STM32_WPAN</name>
+ <group>
+ <name>App</name>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\app_ble.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_config.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_generic.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_light.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_light_lc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_mesh.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_nvm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_sensor.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\appli_vendor.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\models_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\app\pal_nvm.c</name>
+ </file>
+ </group>
+ <group>
+ <name>Target</name>
+ <file>
+ <name>$PROJ_DIR$\..\STM32_WPAN\target\hw_ipcc.c</name>
+ </file>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group>
+ <name>Doc</name>
+ <file>
+ <name>$PROJ_DIR$\..\readme.txt</name>
+ </file>
+ </group>
+ <group>
+ <name>Drivers</name>
+ <group>
+ <name>BSP</name>
+ <group>
+ <name>NUCLEO-WB15CC</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>CMSIS</name>
+ <file>
+ <name>$PROJ_DIR$\..\Core\Src\system_stm32wbxx.c</name>
+ </file>
+ </group>
+ <group>
+ <name>STM32WBxx_HAL_Driver</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_cortex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_gpio.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc_ex.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart_ex.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>Middlewares</name>
+ <group>
+ <name>STM32_WPAN</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gap_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gatt_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hal_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hci_le.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_l2cap_aci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\common.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\dbg_trace.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\generic.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\light.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\light_lc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\mesh.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Src\mesh_cfg.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\template\osal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\otp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\sensors.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\shci\shci.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl_if.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_list.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_queue.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\svc_ctl.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\tl_mbox.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\MeshModel\Src\vendor.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>Utilities</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\lpm\tiny_lpm\stm32_lpm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\sequencer\stm32_seq.c</name>
+ </file>
+ </group>
+</project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/Project.eww b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/Project.eww
new file mode 100644
index 000000000..0ac00f960
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/Project.eww
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workspace>
+ <project>
+ <path>$WS_DIR$\BLE_MeshLightingPRFNode.ewp</path>
+ </project>
+ <batchBuild />
+</workspace>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/startup_stm32wb15xx_cm4.s
new file mode 100644
index 000000000..1a107ce9a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/startup_stm32wb15xx_cm4.s
@@ -0,0 +1,469 @@
+;******************************************************************************
+;* File Name : startup_stm32wb15xx_cm4.s
+;* Author : MCD Application Team
+;* Description : M4 core vector table of the STM32WB15xx devices for the
+;* IAR (EWARM) toolchain with support of standby.
+;*
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == _iar_program_start,
+;* - Set the vector table entries with the exceptions ISR
+;* address.
+;* - Branches to main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+;
+;
+; The modules in this file are included in the libraries, and may be replaced
+; by any user-defined modules that define the PUBLIC symbol _program_start or
+; a user defined start symbol.
+; To override the cstartup defined in the library, simply add your modified
+; version to the workbench project.
+;
+; The vector table is normally located at address 0.
+; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
+; The name "__vector_table" has special meaning for C-SPY:
+; it is where the SP start value is found, and the NVIC vector
+; table register (VTOR) is initialized to this address if != 0.
+;
+; Cortex-M version
+;
+
+ MODULE ?cstartup
+
+ ;; Forward declaration of sections.
+ SECTION CSTACK:DATA:NOROOT(3)
+
+ SECTION .intvec:CODE:NOROOT(2)
+
+ EXTERN __iar_program_start
+ EXTERN SystemInit
+ EXTERN standby_boot_mng
+ PUBLIC __vector_table
+
+ DATA
+__vector_table
+ DCD sfe(CSTACK)
+ DCD Reset_Handler ; Reset Handler
+
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD and PVM Interrupt
+ DCD TAMP_STAMP_LSECSS_IRQHandler ; RTC Tamper, TimeStamp Interrupts and LSECSS Interrupts
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup Interrupt
+ DCD FLASH_IRQHandler ; FLASH global Interrupt
+ DCD RCC_IRQHandler ; RCC Interrupt
+ DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
+ DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
+ DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
+ DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 Interrupt
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 Interrupt
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 Interrupt
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 Interrupt
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 Interrupt
+ DCD ADC1_IRQHandler ; ADC1 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD C2SEV_PWR_C2H_IRQHandler ; CPU M0+ SEV Interrupt
+ DCD COMP_IRQHandler ; COMP1 Interrupts
+ DCD EXTI9_5_IRQHandler ; EXTI Lines [9:5] Interrupt
+ DCD TIM1_BRK_IRQHandler ; TIM1 Break Interrupt
+ DCD TIM1_UP_IRQHandler ; TIM1 Update Interrupt
+ DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Communication Interrupts
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare Interrupt
+ DCD TIM2_IRQHandler ; TIM2 Global Interrupt
+ DCD PKA_IRQHandler ; PKA Interrupt
+ DCD I2C1_EV_IRQHandler ; I2C1 Event Interrupt
+ DCD I2C1_ER_IRQHandler ; I2C1 Error Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SPI1_IRQHandler ; SPI1 Interrupt
+ DCD 0 ; Reserved
+ DCD USART1_IRQHandler ; USART1 Interrupt
+ DCD LPUART1_IRQHandler ; LPUART1 Interrupt
+ DCD 0 ; Reserved
+ DCD TSC_IRQHandler ; TSC Interrupt
+ DCD EXTI15_10_IRQHandler ; EXTI Lines1[15:10 ]Interrupts
+ DCD RTC_Alarm_IRQHandler ; RTC Alarms (A and B) Interrupt
+ DCD 0 ; Reserved
+ DCD PWR_SOTF_BLEACT_RFPHASE_IRQHandler ; WKUP Interrupt from PWR
+ DCD IPCC_C1_RX_IRQHandler ; IPCC CPU1 RX occupied interrupt
+ DCD IPCC_C1_TX_IRQHandler ; IPCC CPU1 RX free interrupt
+ DCD HSEM_IRQHandler ; HSEM0 Interrupt
+ DCD LPTIM1_IRQHandler ; LPTIM1 Interrupt
+ DCD LPTIM2_IRQHandler ; LPTIM2 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD AES2_IRQHandler ; AES2 Interrupt
+ DCD RNG_IRQHandler ; RNG1 Interrupt
+ DCD FPU_IRQHandler ; FPU Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD DMAMUX1_OVR_IRQHandler ; DMAMUX overrun Interrupt
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Default interrupt handlers.
+;;
+ THUMB
+
+ IMPORT backup_MSP
+ EXPORT CPUcontextSave
+ PUBWEAK Reset_Handler
+ SECTION .text:CODE:NOROOT:REORDER(2)
+Reset_Handler
+/* If we exit from standby mode, restore CPU context and jump to asleep point. */
+ BL standby_boot_mng
+ CMP R0, #1
+ BEQ CPUcontextRestore
+/* end of specific code section for standby */
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__iar_program_start
+ BX R0
+/* These 2 functions are designed to save and then restore CPU context. */
+CPUcontextSave
+ PUSH { r4 - r7, lr } /* store R4-R7 and LR (5 words) onto the stack */
+ MOV R3, R8 /* mov thread {r8 - r12} to {r3 - r7} */
+ MOV R4, R9
+ MOV R5, R10
+ MOV R6, R11
+ MOV R7, R12
+ PUSH {R3-R7} /* store R8-R12 (5 words) onto the stack */
+ LDR R4, =backup_MSP /* load address of backup_MSP into R4 */
+ MOV R3, SP /* load the stack pointer into R3 */
+ STR R3, [R4] /* store the MSP into backup_MSP */
+ DSB
+ WFI /* all saved, trigger deep sleep */
+
+CPUcontextRestore
+ /* Even if we fall through the WFI instruction, we will immediately
+ * execute a context restore and end up where we left off with no
+ * ill effects. Normally at this point the core will either be
+ * powered off or reset (depending on the deep sleep level). */
+ LDR R4, =backup_MSP /* load address of backup_MSP into R4 */
+ LDR R4, [R4] /* load the SP from backup_MSP */
+ MOV SP, R4 /* restore the SP from R4 */
+ POP {R3-R7} /* load R8-R12 (5 words) from the stack */
+ MOV R8, R3 /* mov {r3 - r7} to {r8 - r12} */
+ MOV R9, R4
+ MOV R10, R5
+ MOV R11, R6
+ MOV R12, R7
+ POP { R4 - R7, PC } /*load R4-R7 and PC (5 words) from the stack */
+/* end of specific code section for standby */
+
+ PUBWEAK NMI_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+NMI_Handler
+ B NMI_Handler
+
+ PUBWEAK HardFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+HardFault_Handler
+ B HardFault_Handler
+
+ PUBWEAK MemManage_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+MemManage_Handler
+ B MemManage_Handler
+
+ PUBWEAK BusFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+BusFault_Handler
+ B BusFault_Handler
+
+ PUBWEAK UsageFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+UsageFault_Handler
+ B UsageFault_Handler
+
+ PUBWEAK SVC_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SVC_Handler
+ B SVC_Handler
+
+ PUBWEAK DebugMon_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DebugMon_Handler
+ B DebugMon_Handler
+
+ PUBWEAK PendSV_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PendSV_Handler
+ B PendSV_Handler
+
+ PUBWEAK SysTick_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SysTick_Handler
+ B SysTick_Handler
+
+ PUBWEAK WWDG_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+WWDG_IRQHandler
+ B WWDG_IRQHandler
+
+ PUBWEAK PVD_PVM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PVD_PVM_IRQHandler
+ B PVD_PVM_IRQHandler
+
+ PUBWEAK TAMP_STAMP_LSECSS_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TAMP_STAMP_LSECSS_IRQHandler
+ B TAMP_STAMP_LSECSS_IRQHandler
+
+ PUBWEAK RTC_WKUP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RTC_WKUP_IRQHandler
+ B RTC_WKUP_IRQHandler
+
+ PUBWEAK FLASH_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+FLASH_IRQHandler
+ B FLASH_IRQHandler
+
+ PUBWEAK RCC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RCC_IRQHandler
+ B RCC_IRQHandler
+
+ PUBWEAK EXTI0_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI0_IRQHandler
+ B EXTI0_IRQHandler
+
+ PUBWEAK EXTI1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI1_IRQHandler
+ B EXTI1_IRQHandler
+
+ PUBWEAK EXTI2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI2_IRQHandler
+ B EXTI2_IRQHandler
+
+ PUBWEAK EXTI3_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI3_IRQHandler
+ B EXTI3_IRQHandler
+
+ PUBWEAK EXTI4_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI4_IRQHandler
+ B EXTI4_IRQHandler
+
+ PUBWEAK DMA1_Channel1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel1_IRQHandler
+ B DMA1_Channel1_IRQHandler
+
+ PUBWEAK DMA1_Channel2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel2_IRQHandler
+ B DMA1_Channel2_IRQHandler
+
+ PUBWEAK DMA1_Channel3_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel3_IRQHandler
+ B DMA1_Channel3_IRQHandler
+
+ PUBWEAK DMA1_Channel4_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel4_IRQHandler
+ B DMA1_Channel4_IRQHandler
+
+ PUBWEAK DMA1_Channel5_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel5_IRQHandler
+ B DMA1_Channel5_IRQHandler
+
+ PUBWEAK DMA1_Channel6_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel6_IRQHandler
+ B DMA1_Channel6_IRQHandler
+
+ PUBWEAK DMA1_Channel7_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel7_IRQHandler
+ B DMA1_Channel7_IRQHandler
+
+ PUBWEAK ADC1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+ADC1_IRQHandler
+ B ADC1_IRQHandler
+
+ PUBWEAK C2SEV_PWR_C2H_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+C2SEV_PWR_C2H_IRQHandler
+ B C2SEV_PWR_C2H_IRQHandler
+
+ PUBWEAK COMP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+COMP_IRQHandler
+ B COMP_IRQHandler
+
+ PUBWEAK EXTI9_5_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI9_5_IRQHandler
+ B EXTI9_5_IRQHandler
+
+ PUBWEAK TIM1_BRK_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_BRK_IRQHandler
+ B TIM1_BRK_IRQHandler
+
+ PUBWEAK TIM1_UP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_UP_IRQHandler
+ B TIM1_UP_IRQHandler
+
+ PUBWEAK TIM1_TRG_COM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_TRG_COM_IRQHandler
+ B TIM1_TRG_COM_IRQHandler
+
+ PUBWEAK TIM1_CC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_CC_IRQHandler
+ B TIM1_CC_IRQHandler
+
+ PUBWEAK TIM2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM2_IRQHandler
+ B TIM2_IRQHandler
+
+ PUBWEAK PKA_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PKA_IRQHandler
+ B PKA_IRQHandler
+
+ PUBWEAK I2C1_EV_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+I2C1_EV_IRQHandler
+ B I2C1_EV_IRQHandler
+
+ PUBWEAK I2C1_ER_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+I2C1_ER_IRQHandler
+ B I2C1_ER_IRQHandler
+
+ PUBWEAK SPI1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SPI1_IRQHandler
+ B SPI1_IRQHandler
+
+ PUBWEAK USART1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+USART1_IRQHandler
+ B USART1_IRQHandler
+
+ PUBWEAK LPUART1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPUART1_IRQHandler
+ B LPUART1_IRQHandler
+
+ PUBWEAK TSC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TSC_IRQHandler
+ B TSC_IRQHandler
+
+ PUBWEAK EXTI15_10_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI15_10_IRQHandler
+ B EXTI15_10_IRQHandler
+
+ PUBWEAK RTC_Alarm_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RTC_Alarm_IRQHandler
+ B RTC_Alarm_IRQHandler
+
+ PUBWEAK PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ B PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+
+ PUBWEAK IPCC_C1_RX_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+IPCC_C1_RX_IRQHandler
+ B IPCC_C1_RX_IRQHandler
+
+ PUBWEAK IPCC_C1_TX_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+IPCC_C1_TX_IRQHandler
+ B IPCC_C1_TX_IRQHandler
+
+ PUBWEAK HSEM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+HSEM_IRQHandler
+ B HSEM_IRQHandler
+
+ PUBWEAK LPTIM1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPTIM1_IRQHandler
+ B LPTIM1_IRQHandler
+
+ PUBWEAK LPTIM2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPTIM2_IRQHandler
+ B LPTIM2_IRQHandler
+
+ PUBWEAK AES2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+AES2_IRQHandler
+ B AES2_IRQHandler
+
+ PUBWEAK RNG_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RNG_IRQHandler
+ B RNG_IRQHandler
+
+ PUBWEAK FPU_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+FPU_IRQHandler
+ B FPU_IRQHandler
+
+ PUBWEAK DMAMUX1_OVR_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMAMUX1_OVR_IRQHandler
+ B DMAMUX1_OVR_IRQHandler
+
+ END
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/stm32wb15xx_flash_cm4.icf
new file mode 100644
index 000000000..85c580b6e
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/EWARM/stm32wb15xx_flash_cm4.icf
@@ -0,0 +1,42 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/
+/*-Editor annotation file-*/
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
+/*-Specials-*/
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+/*-Memory Regions-*/
+/***** FLASH Part dedicated to M4 *****/
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080217FF;
+define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
+define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
+/*-Sizes-*/
+define symbol __ICFEDIT_size_cstack__ = 0x1000;
+define symbol __ICFEDIT_size_heap__ = 0x400;
+/**** End of ICF editor section. ###ICF###*/
+
+define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
+define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF;
+
+define memory mem with size = 4G;
+define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
+define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
+define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__];
+define region Total_RAM_region = RAM_region | RAM_SHARED_region ;
+
+define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
+define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
+
+/* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */
+initialize by copy { readwrite };
+do not initialize { section .noinit,
+ section MAPPING_TABLE,
+ section MB_MEM1 };
+
+place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
+
+place in ROM_region { readonly };
+place in RAM_region { block CSTACK, block HEAP };
+place in RAM_SHARED_region { section MB_MEM1};
+place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvoptx b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvoptx
new file mode 100644
index 000000000..0b0461e1d
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvoptx
@@ -0,0 +1,1144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
+
+ <SchemaVersion>1.0</SchemaVersion>
+
+ <Header>### uVision Project, (C) Keil Software</Header>
+
+ <Extensions>
+ <cExt>*.c</cExt>
+ <aExt>*.s*; *.src; *.a*</aExt>
+ <oExt>*.obj; *.o</oExt>
+ <lExt>*.lib</lExt>
+ <tExt>*.txt; *.h; *.inc; *.md</tExt>
+ <pExt>*.plm</pExt>
+ <CppX>*.cpp</CppX>
+ <nMigrate>0</nMigrate>
+ </Extensions>
+
+ <DaveTm>
+ <dwLowDateTime>0</dwLowDateTime>
+ <dwHighDateTime>0</dwHighDateTime>
+ </DaveTm>
+
+ <Target>
+ <TargetName>Lighting_PRFNode</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <TargetOption>
+ <CLKADS>32000000</CLKADS>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>79</PageWidth>
+ <PageLength>66</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath></ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>1</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>18</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <bEvRecOn>1</bEvRecOn>
+ <bSchkAxf>0</bSchkAxf>
+ <bTchkAxf>0</bTchkAxf>
+ <nTsel>0</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2CM3.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32WB1x_320_M4 -FL050000 -FS08000000 -FP0($$Device:STM32WB15CCUx$CMSIS\Flash\STM32WB1x_320_M4.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>0</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <bAutoGenD>0</bAutoGenD>
+ <LntExFlags>0</LntExFlags>
+ <pMisraName></pMisraName>
+ <pszMrule></pszMrule>
+ <pSingCmds></pSingCmds>
+ <pMultCmds></pMultCmds>
+ <pMisraNamep></pMisraNamep>
+ <pszMrulep></pszMrulep>
+ <pSingCmdsp></pSingCmdsp>
+ <pMultCmdsp></pMultCmdsp>
+ </TargetOption>
+ </Target>
+
+ <Group>
+ <GroupName>Application/Core</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>1</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/app_debug.c</PathWithFileName>
+ <FilenameWithoutPath>app_debug.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>2</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/app_entry.c</PathWithFileName>
+ <FilenameWithoutPath>app_entry.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>3</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/hw_flash.c</PathWithFileName>
+ <FilenameWithoutPath>hw_flash.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>4</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/hw_timerserver.c</PathWithFileName>
+ <FilenameWithoutPath>hw_timerserver.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>5</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/hw_uart.c</PathWithFileName>
+ <FilenameWithoutPath>hw_uart.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>6</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/lp_timer.c</PathWithFileName>
+ <FilenameWithoutPath>lp_timer.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>7</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/main.c</PathWithFileName>
+ <FilenameWithoutPath>main.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>8</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/stm32_lpm_if.c</PathWithFileName>
+ <FilenameWithoutPath>stm32_lpm_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>9</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/stm32wbxx_it.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_it.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Application/MDK-ARM</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>10</FileNumber>
+ <FileType>2</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>.\startup_stm32wb15xx_cm4.s</PathWithFileName>
+ <FilenameWithoutPath>startup_stm32wb15xx_cm4.s</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Application/STM32_WPAN/app</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>11</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/app_ble.c</PathWithFileName>
+ <FilenameWithoutPath>app_ble.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>12</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_generic.c</PathWithFileName>
+ <FilenameWithoutPath>appli_generic.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>13</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_light.c</PathWithFileName>
+ <FilenameWithoutPath>appli_light.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>14</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_light_lc.c</PathWithFileName>
+ <FilenameWithoutPath>appli_light_lc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>15</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_mesh.c</PathWithFileName>
+ <FilenameWithoutPath>appli_mesh.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>16</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_nvm.c</PathWithFileName>
+ <FilenameWithoutPath>appli_nvm.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>17</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/appli_sensor.c</PathWithFileName>
+ <FilenameWithoutPath>appli_sensor.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>18</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/models_if.c</PathWithFileName>
+ <FilenameWithoutPath>models_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>19</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/app/pal_nvm.c</PathWithFileName>
+ <FilenameWithoutPath>pal_nvm.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>20</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\STM32_WPAN\app\appli_config.c</PathWithFileName>
+ <FilenameWithoutPath>appli_config.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>21</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\STM32_WPAN\app\appli_vendor.c</PathWithFileName>
+ <FilenameWithoutPath>appli_vendor.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Application/STM32_WPAN/target</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>22</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../STM32_WPAN/target/hw_ipcc.c</PathWithFileName>
+ <FilenameWithoutPath>hw_ipcc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Doc</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>23</FileNumber>
+ <FileType>5</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../readme.txt</PathWithFileName>
+ <FilenameWithoutPath>readme.txt</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Drivers/BSP/P-NUCLEO-WB55.Nucleo</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>6</GroupNumber>
+ <FileNumber>24</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</PathWithFileName>
+ <FilenameWithoutPath>nucleo_wb15cc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Drivers/CMSIS</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>7</GroupNumber>
+ <FileNumber>25</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../Core/Src/system_stm32wbxx.c</PathWithFileName>
+ <FilenameWithoutPath>system_stm32wbxx.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Drivers/STM32WBxx_HAL_Driver</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>26</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>27</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_cortex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>28</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_dma.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>29</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_flash.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>30</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_flash_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>31</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_gpio.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>32</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_pwr.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>33</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_pwr_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>34</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rcc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>35</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rcc_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>36</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rtc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>37</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_rtc_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>38</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_uart.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>39</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_uart_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>40</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_ipcc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>41</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_hsem.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>42</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_exti.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>43</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32wbxx_hal_dma_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/blesvc</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>44</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/common.c</PathWithFileName>
+ <FilenameWithoutPath>common.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>45</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c</PathWithFileName>
+ <FilenameWithoutPath>generic.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>46</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light.c</PathWithFileName>
+ <FilenameWithoutPath>light.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>47</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light_lc.c</PathWithFileName>
+ <FilenameWithoutPath>light_lc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>48</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/mesh.c</PathWithFileName>
+ <FilenameWithoutPath>mesh.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>49</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Src/mesh_cfg.c</PathWithFileName>
+ <FilenameWithoutPath>mesh_cfg.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>50</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/sensors.c</PathWithFileName>
+ <FilenameWithoutPath>sensors.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>51</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</PathWithFileName>
+ <FilenameWithoutPath>svc_ctl.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>52</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/vendor.c</PathWithFileName>
+ <FilenameWithoutPath>vendor.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/core</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>53</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_gap_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>54</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_gatt_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>55</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_hal_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>56</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</PathWithFileName>
+ <FilenameWithoutPath>ble_hci_le.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>57</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</PathWithFileName>
+ <FilenameWithoutPath>ble_l2cap_aci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>10</GroupNumber>
+ <FileNumber>58</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</PathWithFileName>
+ <FilenameWithoutPath>osal.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/shci</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>11</GroupNumber>
+ <FileNumber>59</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</PathWithFileName>
+ <FilenameWithoutPath>shci.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>60</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</PathWithFileName>
+ <FilenameWithoutPath>hci_tl.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>61</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</PathWithFileName>
+ <FilenameWithoutPath>hci_tl_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>62</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</PathWithFileName>
+ <FilenameWithoutPath>shci_tl.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>63</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</PathWithFileName>
+ <FilenameWithoutPath>shci_tl_if.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>12</GroupNumber>
+ <FileNumber>64</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</PathWithFileName>
+ <FilenameWithoutPath>tl_mbox.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/utilities</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>65</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</PathWithFileName>
+ <FilenameWithoutPath>dbg_trace.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>66</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/otp.c</PathWithFileName>
+ <FilenameWithoutPath>otp.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>67</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Utilities/lpm/tiny_lpm/stm32_lpm.c</PathWithFileName>
+ <FilenameWithoutPath>stm32_lpm.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>68</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Utilities/sequencer/stm32_seq.c</PathWithFileName>
+ <FilenameWithoutPath>stm32_seq.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>69</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_list.c</PathWithFileName>
+ <FilenameWithoutPath>stm_list.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>13</GroupNumber>
+ <FileNumber>70</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</PathWithFileName>
+ <FilenameWithoutPath>stm_queue.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>Middlewares/ST/STM32_WPAN/ble/mesh/Library</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>14</GroupNumber>
+ <FileNumber>71</FileNumber>
+ <FileType>4</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Library\libBle_Mesh_CM4_WB15xx_Keil.lib</PathWithFileName>
+ <FilenameWithoutPath>libBle_Mesh_CM4_WB15xx_Keil.lib</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>1</RteFlg>
+ </Group>
+
+</ProjectOpt>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvprojx b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvprojx
new file mode 100644
index 000000000..20cda1348
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/BLE_MeshLightingDemoPRFNode.uvprojx
@@ -0,0 +1,828 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+ <SchemaVersion>2.1</SchemaVersion>
+
+ <Header>### uVision Project, (C) Keil Software</Header>
+
+ <Targets>
+ <Target>
+ <TargetName>Lighting_PRFNode</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
+ <uAC6>0</uAC6>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>STM32WB15CCUx</Device>
+ <Vendor>STMicroelectronics</Vendor>
+ <PackID>Keil.STM32WBxx_DFP.1.2.0</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00003000) IRAM2(0x20030000,0x00009000) IROM(0x08000000,0x00050000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ESEL ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32WB1x_320_M4 -FS08000000 -FL050000 -FP0($$Device:STM32WB15CCUx$CMSIS\Flash\STM32WB1x_320_M4.FLM))</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:STM32WB15CCUx$Drivers\CMSIS\Device\ST\STM32WBxx\Include\stm32wbxx.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:STM32WB15CCUx$CMSIS\SVD\STM32WB15_CM4.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>Lighting_PRFNode\Exe\</OutputDirectory>
+ <OutputName>BLE_MeshLightingPRFNodeDemo</OutputName>
+ <CreateExecutable>1</CreateExecutable>
+ <CreateLib>0</CreateLib>
+ <CreateHexFile>1</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>1</BrowseInformation>
+ <ListingPath></ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>0</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName>SARMCM3.DLL</SimDllName>
+ <SimDllArguments> -REMAP -MPU</SimDllArguments>
+ <SimDlgDll>DCM.DLL</SimDlgDll>
+ <SimDlgDllArguments>-pCM4</SimDlgDllArguments>
+ <TargetDllName>SARMCM3.DLL</TargetDllName>
+ <TargetDllArguments> -MPU</TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>1</Capability>
+ <DriverSelection>4096</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2CM3.DLL</Flash2>
+ <Flash3>"" ()</Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArmAds>
+ <ArmAdsMisc>
+ <GenerateListings>0</GenerateListings>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <AdsALst>1</AdsALst>
+ <AdsACrf>1</AdsACrf>
+ <AdsANop>0</AdsANop>
+ <AdsANot>0</AdsANot>
+ <AdsLLst>1</AdsLLst>
+ <AdsLmap>1</AdsLmap>
+ <AdsLcgr>1</AdsLcgr>
+ <AdsLsym>1</AdsLsym>
+ <AdsLszi>1</AdsLszi>
+ <AdsLtoi>1</AdsLtoi>
+ <AdsLsun>1</AdsLsun>
+ <AdsLven>1</AdsLven>
+ <AdsLsxf>1</AdsLsxf>
+ <RvctClst>0</RvctClst>
+ <GenPPlst>0</GenPPlst>
+ <AdsCpuType>"Cortex-M4"</AdsCpuType>
+ <RvctDeviceName></RvctDeviceName>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>2</RvdsVP>
+ <RvdsMve>0</RvdsMve>
+ <RvdsCdeCp>0</RvdsCdeCp>
+ <hadIRAM2>1</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <StupSel>8</StupSel>
+ <useUlib>1</useUlib>
+ <EndSel>1</EndSel>
+ <uLtcg>0</uLtcg>
+ <nSecure>0</nSecure>
+ <RoSelD>3</RoSelD>
+ <RwSelD>4</RwSelD>
+ <CodeSel>0</CodeSel>
+ <OptFeed>0</OptFeed>
+ <NoZi1>0</NoZi1>
+ <NoZi2>0</NoZi2>
+ <NoZi3>0</NoZi3>
+ <NoZi4>0</NoZi4>
+ <NoZi5>0</NoZi5>
+ <Ro1Chk>0</Ro1Chk>
+ <Ro2Chk>0</Ro2Chk>
+ <Ro3Chk>0</Ro3Chk>
+ <Ir1Chk>1</Ir1Chk>
+ <Ir2Chk>0</Ir2Chk>
+ <Ra1Chk>0</Ra1Chk>
+ <Ra2Chk>0</Ra2Chk>
+ <Ra3Chk>0</Ra3Chk>
+ <Im1Chk>1</Im1Chk>
+ <Im2Chk>1</Im2Chk>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x3000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x8000000</StartAddress>
+ <Size>0x50000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <OCR_RVCT1>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT1>
+ <OCR_RVCT2>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT2>
+ <OCR_RVCT3>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT3>
+ <OCR_RVCT4>
+ <Type>1</Type>
+ <StartAddress>0x8000000</StartAddress>
+ <Size>0x21800</Size>
+ </OCR_RVCT4>
+ <OCR_RVCT5>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT5>
+ <OCR_RVCT6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT6>
+ <OCR_RVCT7>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT7>
+ <OCR_RVCT8>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT8>
+ <OCR_RVCT9>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x3000</Size>
+ </OCR_RVCT9>
+ <OCR_RVCT10>
+ <Type>0</Type>
+ <StartAddress>0x20030000</StartAddress>
+ <Size>0x2800</Size>
+ </OCR_RVCT10>
+ </OnChipMemories>
+ <RvctStartVector></RvctStartVector>
+ </ArmAdsMisc>
+ <Cads>
+ <interw>1</interw>
+ <Optim>4</Optim>
+ <oTime>0</oTime>
+ <SplitLS>0</SplitLS>
+ <OneElfS>1</OneElfS>
+ <Strict>0</Strict>
+ <EnumInt>0</EnumInt>
+ <PlainCh>0</PlainCh>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <wLevel>2</wLevel>
+ <uThumb>0</uThumb>
+ <uSurpInc>0</uSurpInc>
+ <uC99>1</uC99>
+ <uGnu>0</uGnu>
+ <useXO>0</useXO>
+ <v6Lang>1</v6Lang>
+ <v6LangP>1</v6LangP>
+ <vShortEn>1</vShortEn>
+ <vShortWch>1</vShortWch>
+ <v6Lto>0</v6Lto>
+ <v6WtE>0</v6WtE>
+ <v6Rtti>0</v6Rtti>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define>USE_STM32WBXX_NUCLEO,USE_HAL_DRIVER,STM32WB15xx,ENABLE_USART</Define>
+ <Undefine></Undefine>
+ <IncludePath>../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include;../../../../../../Drivers/CMSIS/Include;../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc;../../../../../../Drivers/BSP/NUCLEO-WB15CC;../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc;../Core/Inc;../../../../../../Middlewares/ST/STM32_WPAN;../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto;../../../../../../Middlewares/ST/STM32_WPAN/utilities;../../../../../../Utilities/lpm/tiny_lpm;../../../../../../Utilities/sequencer;../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template;../../../../../../Middlewares/ST/STM32_WPAN/ble/core/;../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl;../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci;../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc;../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread;../STM32_WPAN/app;../../../../../../Middlewares/ST/STM32_WPAN/ble</IncludePath>
+ </VariousControls>
+ </Cads>
+ <Aads>
+ <interw>1</interw>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <thumb>0</thumb>
+ <SplitLS>0</SplitLS>
+ <SwStkChk>0</SwStkChk>
+ <NoWarn>0</NoWarn>
+ <uSurpInc>0</uSurpInc>
+ <useXO>0</useXO>
+ <ClangAsOpt>4</ClangAsOpt>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aads>
+ <LDads>
+ <umfTarg>0</umfTarg>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <noStLib>0</noStLib>
+ <RepFail>1</RepFail>
+ <useFile>0</useFile>
+ <TextAddressRange>0x08000000</TextAddressRange>
+ <DataAddressRange>0x20000000</DataAddressRange>
+ <pXoBase></pXoBase>
+ <ScatterFile>.\stm32wb15xx_flash_cm4.sct</ScatterFile>
+ <IncludeLibs></IncludeLibs>
+ <IncludeLibsPath></IncludeLibsPath>
+ <Misc></Misc>
+ <LinkerInputFile></LinkerInputFile>
+ <DisabledWarnings></DisabledWarnings>
+ </LDads>
+ </TargetArmAds>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Application/Core</GroupName>
+ <Files>
+ <File>
+ <FileName>app_debug.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/app_debug.c</FilePath>
+ </File>
+ <File>
+ <FileName>app_entry.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/app_entry.c</FilePath>
+ </File>
+ <File>
+ <FileName>hw_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/hw_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>hw_timerserver.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/hw_timerserver.c</FilePath>
+ </File>
+ <File>
+ <FileName>hw_uart.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/hw_uart.c</FilePath>
+ </File>
+ <File>
+ <FileName>lp_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/lp_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>main.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/main.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_lpm_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/stm32_lpm_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_it.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/stm32wbxx_it.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Application/MDK-ARM</GroupName>
+ <Files>
+ <File>
+ <FileName>startup_stm32wb15xx_cm4.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>.\startup_stm32wb15xx_cm4.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Application/STM32_WPAN/app</GroupName>
+ <Files>
+ <File>
+ <FileName>app_ble.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/app_ble.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_generic.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_generic.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_light.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_light.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_light_lc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_light_lc.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_mesh.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_mesh.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_nvm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_nvm.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_sensor.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/appli_sensor.c</FilePath>
+ </File>
+ <File>
+ <FileName>models_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/models_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>pal_nvm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/app/pal_nvm.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_config.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\STM32_WPAN\app\appli_config.c</FilePath>
+ </File>
+ <File>
+ <FileName>appli_vendor.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\STM32_WPAN\app\appli_vendor.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Application/STM32_WPAN/target</GroupName>
+ <Files>
+ <File>
+ <FileName>hw_ipcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../STM32_WPAN/target/hw_ipcc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Doc</GroupName>
+ <Files>
+ <File>
+ <FileName>readme.txt</FileName>
+ <FileType>5</FileType>
+ <FilePath>../readme.txt</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Drivers/BSP/P-NUCLEO-WB55.Nucleo</GroupName>
+ <Files>
+ <File>
+ <FileName>nucleo_wb15cc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\BSP\NUCLEO-WB15CC\nucleo_wb15cc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Drivers/CMSIS</GroupName>
+ <Files>
+ <File>
+ <FileName>system_stm32wbxx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../Core/Src/system_stm32wbxx.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Drivers/STM32WBxx_HAL_Driver</GroupName>
+ <Files>
+ <File>
+ <FileName>stm32wbxx_hal.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_cortex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_dma.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_flash_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_gpio.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_pwr.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_pwr_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rcc_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rtc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_rtc_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_uart.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_uart_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_ipcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_hsem.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_exti.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32wbxx_hal_dma_ex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/blesvc</GroupName>
+ <Files>
+ <File>
+ <FileName>common.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/common.c</FilePath>
+ </File>
+ <File>
+ <FileName>generic.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c</FilePath>
+ </File>
+ <File>
+ <FileName>light.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light.c</FilePath>
+ </File>
+ <File>
+ <FileName>light_lc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light_lc.c</FilePath>
+ </File>
+ <File>
+ <FileName>mesh.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/mesh.c</FilePath>
+ </File>
+ <File>
+ <FileName>mesh_cfg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Src/mesh_cfg.c</FilePath>
+ </File>
+ <File>
+ <FileName>sensors.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/sensors.c</FilePath>
+ </File>
+ <File>
+ <FileName>svc_ctl.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</FilePath>
+ </File>
+ <File>
+ <FileName>vendor.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/vendor.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/ble/core</GroupName>
+ <Files>
+ <File>
+ <FileName>ble_gap_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_gatt_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_hal_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_hci_le.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</FilePath>
+ </File>
+ <File>
+ <FileName>ble_l2cap_aci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</FilePath>
+ </File>
+ <File>
+ <FileName>osal.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/shci</GroupName>
+ <Files>
+ <File>
+ <FileName>shci.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl</GroupName>
+ <Files>
+ <File>
+ <FileName>hci_tl.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</FilePath>
+ </File>
+ <File>
+ <FileName>hci_tl_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>shci_tl.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</FilePath>
+ </File>
+ <File>
+ <FileName>shci_tl_if.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</FilePath>
+ </File>
+ <File>
+ <FileName>tl_mbox.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/STM32_WPAN/utilities</GroupName>
+ <Files>
+ <File>
+ <FileName>dbg_trace.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</FilePath>
+ </File>
+ <File>
+ <FileName>otp.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/otp.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_lpm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Utilities/lpm/tiny_lpm/stm32_lpm.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_seq.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Utilities/sequencer/stm32_seq.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm_list.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_list.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm_queue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Middlewares/ST/STM32_WPAN/ble/mesh/Library</GroupName>
+ <Files>
+ <File>
+ <FileName>libBle_Mesh_CM4_WB15xx_Keil.lib</FileName>
+ <FileType>4</FileType>
+ <FilePath>..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\mesh\Library\libBle_Mesh_CM4_WB15xx_Keil.lib</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ </Group>
+ </Groups>
+ </Target>
+ </Targets>
+
+ <RTE>
+ <apis/>
+ <components>
+ <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.4.0" condition="ARMv6_7_8-M Device">
+ <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.7.0"/>
+ <targetInfos>
+ <targetInfo name="Lighting_PRFNode"/>
+ </targetInfos>
+ </component>
+ </components>
+ <files/>
+ </RTE>
+
+</Project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/startup_stm32wb15xx_cm4.s
new file mode 100644
index 000000000..3b925699a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -0,0 +1,335 @@
+;******************************************************************************
+;* File Name : startup_stm32wb15xx_cm4.s
+;* Author : MCD Application Team
+;* Description : STM32WB15xx devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the CortexM4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;* <<< Use Configuration Wizard in Context Menu >>>
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; <h> Stack Configuration
+; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+; </h>
+
+Stack_Size EQU 0x1000
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; <h> Heap Configuration
+; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+; </h>
+
+Heap_Size EQU 0x400
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD and PVM detector
+ DCD TAMP_STAMP_LSECSS_IRQHandler ; RTC Tamper and TimeStamp Interrupts and LSECSS Interrupts
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup Interrupt
+ DCD FLASH_IRQHandler ; FLASH global Interrupt
+ DCD RCC_IRQHandler ; RCC Interrupt
+ DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
+ DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
+ DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
+ DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 Interrupt
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 Interrupt
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 Interrupt
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 Interrupt
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 Interrupt
+ DCD ADC1_IRQHandler ; ADC1 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD C2SEV_PWR_C2H_IRQHandler ; CPU M0+ SEV Interrupt
+ DCD COMP_IRQHandler ; COMP1 Interrupts
+ DCD EXTI9_5_IRQHandler ; EXTI Lines [9:5] Interrupt
+ DCD TIM1_BRK_IRQHandler ; TIM1 Break Interrupt
+ DCD TIM1_UP_IRQHandler ; TIM1 Update Interrupt
+ DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Communication Interrupts
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare Interrupt
+ DCD TIM2_IRQHandler ; TIM2 Global Interrupt
+ DCD PKA_IRQHandler ; PKA Interrupt
+ DCD I2C1_EV_IRQHandler ; I2C1 Event Interrupt
+ DCD I2C1_ER_IRQHandler ; I2C1 Error Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SPI1_IRQHandler ; SPI1 Interrupt
+ DCD 0 ; Reserved
+ DCD USART1_IRQHandler ; USART1 Interrupt
+ DCD LPUART1_IRQHandler ; LPUART1 Interrupt
+ DCD 0 ; Reserved
+ DCD TSC_IRQHandler ; TSC Interrupt
+ DCD EXTI15_10_IRQHandler ; EXTI Lines1[15:10 ]Interrupts
+ DCD RTC_Alarm_IRQHandler ; RTC Alarms (A and B) Interrupt
+ DCD 0 ; Reserved
+ DCD PWR_SOTF_BLEACT_RFPHASE_IRQHandler ; WKUP Interrupt from PWR
+ DCD IPCC_C1_RX_IRQHandler ; IPCC CPU1 RX occupied interrupt
+ DCD IPCC_C1_TX_IRQHandler ; IPCC CPU1 RX free interrupt
+ DCD HSEM_IRQHandler ; HSEM0 Interrupt
+ DCD LPTIM1_IRQHandler ; LPTIM1 Interrupt
+ DCD LPTIM2_IRQHandler ; LPTIM2 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD AES2_IRQHandler ; AES2 Interrupt
+ DCD RNG_IRQHandler ; RNG1 Interrupt
+ DCD FPU_IRQHandler ; FPU Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD DMAMUX1_OVR_IRQHandler ; DMAMUX overrun Interrupt
+
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT SystemInit
+ IMPORT __main
+
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_PVM_IRQHandler [WEAK]
+ EXPORT TAMP_STAMP_LSECSS_IRQHandler [WEAK]
+ EXPORT RTC_WKUP_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_IRQHandler [WEAK]
+ EXPORT C2SEV_PWR_C2H_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_IRQHandler [WEAK]
+ EXPORT TIM1_UP_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT PKA_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT LPUART1_IRQHandler [WEAK]
+ EXPORT TSC_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT PWR_SOTF_BLEACT_RFPHASE_IRQHandler [WEAK]
+ EXPORT IPCC_C1_RX_IRQHandler [WEAK]
+ EXPORT IPCC_C1_TX_IRQHandler [WEAK]
+ EXPORT HSEM_IRQHandler [WEAK]
+ EXPORT LPTIM1_IRQHandler [WEAK]
+ EXPORT LPTIM2_IRQHandler [WEAK]
+ EXPORT AES1_IRQHandler [WEAK]
+ EXPORT AES2_IRQHandler [WEAK]
+ EXPORT RNG_IRQHandler [WEAK]
+ EXPORT FPU_IRQHandler [WEAK]
+ EXPORT DMAMUX1_OVR_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_PVM_IRQHandler
+TAMP_STAMP_LSECSS_IRQHandler
+RTC_WKUP_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_IRQHandler
+C2SEV_PWR_C2H_IRQHandler
+COMP_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_IRQHandler
+TIM1_UP_IRQHandler
+TIM1_TRG_COM_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+PKA_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+SPI1_IRQHandler
+USART1_IRQHandler
+LPUART1_IRQHandler
+TSC_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+IPCC_C1_RX_IRQHandler
+IPCC_C1_TX_IRQHandler
+HSEM_IRQHandler
+LPTIM1_IRQHandler
+LPTIM2_IRQHandler
+AES1_IRQHandler
+AES2_IRQHandler
+RNG_IRQHandler
+FPU_IRQHandler
+DMAMUX1_OVR_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/stm32wb15xx_flash_cm4.sct
new file mode 100644
index 000000000..41a12523f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -0,0 +1,26 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00021800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00021800 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ }
+ RW_IRAM1 0x20000000 0x2FFF { ; RW data
+ .ANY (+RW +ZI)
+ }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
+ }
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.cproject b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.cproject
new file mode 100644
index 000000000..b99b1833a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.cproject
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.541126320">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.541126320" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.541126320" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
+ <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.541126320." name="/" resourcePath="">
+ <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.43847587" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.2101256857" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.93276180" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.280011629" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="false" value="STM32WB55RGVx" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1082898248" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.171542819" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.960453852" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.234219232" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.softfp" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.164151535" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-WB15CC" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1640871380" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32WB55RGVx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include | ../../../../../../../Drivers/CMSIS/Include | ../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc | ../../../../../../../Drivers/BSP/P-NUCLEO-WB55.Nucleo | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc | ../../Core/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto | ../../../../../../../Middlewares/ST/STM32_WPAN/utilities | ../../../../../../../Utilities/lpm/tiny_lpm | ../../../../../../../Utilities/sequencer | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread | ../../STM32_WPAN/app | ../../../../../../../Middlewares/ST/STM32_WPAN/ble || || || USE_HAL_DRIVER | STM32 | USE_STM32WBXX_NUCLEO | TRACE_ENABLE_NO_FUNCTION | SERVER | CORE_CM4 | ENABLE_USART | STM32WB55xx || || || || || ${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld} || true || NonSecure || || || " valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.344100357" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.2142952137" name="Convert to binary file (-O binary)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" useByScannerDiscovery="false" value="false" valueType="boolean"/>
+ <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1001565324" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
+ <builder buildPath="${workspace_loc:/BLE_MeshLightingPRFNode}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1149428197" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1113303039" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.183130093" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.486866416" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1607299127" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.511559384" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.398887361" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1182420041" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
+ <listOptionValue builtIn="false" value="USE_STM32WBXX_NUCLEO"/>
+ <listOptionValue builtIn="false" value="ENABLE_USART"/>
+ <listOptionValue builtIn="false" value="STM32WB15xx"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.340497097" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/BSP/NUCLEO-WB15CC"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc"/>
+ <listOptionValue builtIn="false" value="../../Core/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/utilities"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/lpm/tiny_lpm"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/sequencer"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread"/>
+ <listOptionValue builtIn="false" value="../../STM32_WPAN/app"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.721699402" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1882785234" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1626371909" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.277451319" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.817267184" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1160295639" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" useByScannerDiscovery="false" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries.1475678999" name="Libraries (-l)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries" useByScannerDiscovery="false" valueType="libs">
+ <listOptionValue builtIn="false" value=":libBle_Mesh_CM4_WB15xx_GCC.a"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories.1949808647" name="Library search path (-L)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories" useByScannerDiscovery="false" valueType="libPaths">
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Library"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1043008791" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1032979789" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.411505010" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.85078513" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.2147338539" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.788769453" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1248776822" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.644974610" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1700257038" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1721810941" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.183454624" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1162371285">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1162371285" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1162371285" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
+ <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1162371285." name="/" resourcePath="">
+ <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1291354975" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1510205290" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1332853257" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1468902887" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="false" value="STM32WB55RGVx" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1218039807" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1980334334" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.2026686711" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.332691187" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.softfp" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.2078497587" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-WB15CC" valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1091131758" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32WB55RGVx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include | ../../../../../../../Drivers/CMSIS/Include | ../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc | ../../../../../../../Drivers/BSP/P-NUCLEO-WB55.Nucleo | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc | ../../Core/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto | ../../../../../../../Middlewares/ST/STM32_WPAN/utilities | ../../../../../../../Utilities/lpm/tiny_lpm | ../../../../../../../Utilities/sequencer | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/core | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci | ../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc | ../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread | ../../STM32_WPAN/app | ../../../../../../../Middlewares/ST/STM32_WPAN/ble || || || USE_HAL_DRIVER | STM32 | USE_STM32WBXX_NUCLEO | TRACE_ENABLE_NO_FUNCTION | SERVER | CORE_CM4 | ENABLE_USART | STM32WB55xx || || || || || ${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld} || true || NonSecure || Size || || " valueType="string"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.428746191" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.1477607624" name="Convert to binary file (-O binary)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" useByScannerDiscovery="false" value="false" valueType="boolean"/>
+ <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.819601127" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
+ <builder buildPath="${workspace_loc:/BLE_MeshLightingPRFNode}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1372415875" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1030601993" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.691834335" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1698945557" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1134200041" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.274323287" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.221684725" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.705938647" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
+ <listOptionValue builtIn="false" value="USE_STM32WBXX_NUCLEO"/>
+ <listOptionValue builtIn="false" value="ENABLE_USART"/>
+ <listOptionValue builtIn="false" value="STM32WB15xx"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1938505762" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Include"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/STM32WBxx_HAL_Driver/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Drivers/BSP/NUCLEO-WB15CC"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Inc"/>
+ <listOptionValue builtIn="false" value="../../Core/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/utilities"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/lpm/tiny_lpm"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Utilities/sequencer"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/core"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread"/>
+ <listOptionValue builtIn="false" value="../../STM32_WPAN/app"/>
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.979307924" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.398824334" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.692090043" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.274377237" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.186788642" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1816151850" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" useByScannerDiscovery="false" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries.2094974091" name="Libraries (-l)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.libraries" useByScannerDiscovery="false" valueType="libs">
+ <listOptionValue builtIn="false" value=":libBle_Mesh_CM4_WB15xx_GCC.a"/>
+ </option>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories.739856649" name="Library search path (-L)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.directories" useByScannerDiscovery="false" valueType="libPaths">
+ <listOptionValue builtIn="false" value="../../../../../../../Middlewares/ST/STM32_WPAN/ble/mesh/Library"/>
+ </option>
+ <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1670498835" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1695617051" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
+ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.475012200" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32WB15CCUX_FLASH.ld}" valueType="string"/>
+ </tool>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.541123392" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.580437489" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1631574058" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.240410672" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1875205377" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.392418690" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1495548194" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
+ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.69790395" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="BLE_MeshLightingPRFNode.null.247194694" name="BLE_MeshLightingPRFNode"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.541126320;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.541126320.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1607299127;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.721699402">
+ <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1162371285;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1162371285.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1134200041;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.979307924">
+ <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/BLE_MeshLightingPRFNode"/>
+ </configuration>
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/BLE_MeshLightingPRFNode"/>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
+</cproject> \ No newline at end of file
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.project b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.project
new file mode 100644
index 000000000..4ea7494de
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/.project
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>BLE_MeshLightingPRFNode</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.st.stm32cube.ide.mcu.MCUProjectNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUNonUnderRootProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUCubeExampleProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUEndUserDisabledTrustZoneProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature>
+ <nature>com.st.stm32cube.ide.mcu.MCURootProjectNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>Doc/readme.txt</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/readme.txt</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/app_debug.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/app_debug.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/app_entry.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/app_entry.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_flash.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/hw_flash.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_timerserver.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/hw_timerserver.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/hw_uart.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/hw_uart.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/lp_timer.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/lp_timer.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/main.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/main.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/stm32_lpm_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/stm32_lpm_if.c</locationURI>
+ </link>
+ <link>
+ <name>Application/Core/stm32wbxx_it.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/stm32wbxx_it.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/CMSIS/system_stm32wbxx.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Core/Src/system_stm32wbxx.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_cortex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_dma.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_dma_ex.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_exti.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_exti.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_flash.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_flash_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_gpio.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_hsem.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_ipcc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_pwr.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_pwr_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rcc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rcc_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rtc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_rtc_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_uart.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/STM32WBxx_HAL_Driver/stm32wbxx_hal_uart_ex.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/app_ble.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/app_ble.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_config.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_config.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_generic.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_generic.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_light.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_light.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_light_lc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_light_lc.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_mesh.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_mesh.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_nvm.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_nvm.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_sensor.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/appli_sensor.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/appli_vendor.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/STM32_WPAN/app/appli_vendor.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/models_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/models_if.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/app/pal_nvm.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/app/pal_nvm.c</locationURI>
+ </link>
+ <link>
+ <name>Application/STM32_WPAN/target/hw_ipcc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-1-PROJECT_LOC%7D/STM32_WPAN/target/hw_ipcc.c</locationURI>
+ </link>
+ <link>
+ <name>Drivers/BSP/NUCLEO-WB15CC/nucleo_wb15cc.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Drivers/BSP/NUCLEO-WB15CC/nucleo_wb15cc.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/dbg_trace.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/otp.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/otp.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm32_lpm.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Utilities/lpm/tiny_lpm/stm32_lpm.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm32_seq.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Utilities/sequencer/stm32_seq.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm_list.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/stm_list.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/utilities/stm_queue.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/common.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/common.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/generic.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/generic.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/light.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/light_lc.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/light_lc.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/mesh.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/svc/Src/mesh.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/mesh_cfg.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/Src/mesh_cfg.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/sensors.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/sensors.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/svc_ctl.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/blesvc/vendor.c</name>
+ <type>1</type>
+ <locationURI>PARENT-6-PROJECT_LOC/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Src/vendor.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_gap_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_gatt_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_hal_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_hci_le.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/ble_l2cap_aci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/ble/core/osal.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</locationURI>
+ </link>
+ <link>
+ <name>Middlewares/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</name>
+ <type>1</type>
+ <locationURI>$%7BPARENT-6-PROJECT_LOC%7D/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/syscalls.c
new file mode 100644
index 000000000..0a2679a25
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/syscalls.c
@@ -0,0 +1,158 @@
+/**
+ ******************************************************************************
+ * @file syscalls.c
+ * @author Auto-generated by STM32CubeIDE
+ * @brief STM32CubeIDE Minimal System calls file
+ *
+ * For more information about which c-functions
+ * need which of these lowlevel functions
+ * please consult the Newlib libc-manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include <sys/stat.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdio.h>
+#include <signal.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/times.h>
+
+
+/* Variables */
+//#undef errno
+extern int errno;
+extern int __io_putchar(int ch) __attribute__((weak));
+extern int __io_getchar(void) __attribute__((weak));
+
+register char * stack_ptr asm("sp");
+
+char *__env[1] = { 0 };
+char **environ = __env;
+
+
+/* Functions */
+void initialise_monitor_handles()
+{
+}
+
+int _getpid(void)
+{
+ return 1;
+}
+
+int _kill(int pid, int sig)
+{
+ errno = EINVAL;
+ return -1;
+}
+
+void _exit (int status)
+{
+ _kill(status, -1);
+ while (1) {} /* Make sure we hang here */
+}
+
+__attribute__((weak)) int _read(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ *ptr++ = __io_getchar();
+ }
+
+return len;
+}
+
+__attribute__((weak)) int _write(int file, char *ptr, int len)
+{
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ __io_putchar(*ptr++);
+ }
+ return len;
+}
+
+int _close(int file)
+{
+ return -1;
+}
+
+
+int _fstat(int file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _isatty(int file)
+{
+ return 1;
+}
+
+int _lseek(int file, int ptr, int dir)
+{
+ return 0;
+}
+
+int _open(char *path, int flags, ...)
+{
+ /* Pretend like we always fail */
+ return -1;
+}
+
+int _wait(int *status)
+{
+ errno = ECHILD;
+ return -1;
+}
+
+int _unlink(char *name)
+{
+ errno = ENOENT;
+ return -1;
+}
+
+int _times(struct tms *buf)
+{
+ return -1;
+}
+
+int _stat(char *file, struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _link(char *old, char *new)
+{
+ errno = EMLINK;
+ return -1;
+}
+
+int _fork(void)
+{
+ errno = EAGAIN;
+ return -1;
+}
+
+int _execve(char *name, char **argv, char **env)
+{
+ errno = ENOMEM;
+ return -1;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/sysmem.c
new file mode 100644
index 000000000..dda5abe79
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Core/sysmem.c
@@ -0,0 +1,79 @@
+/**
+ ******************************************************************************
+ * @file sysmem.c
+ * @author Generated by STM32CubeIDE
+ * @brief STM32CubeIDE System Memory calls file
+ *
+ * For more information about which C functions
+ * need which of these lowlevel functions
+ * please consult the newlib libc manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include <errno.h>
+#include <stdint.h>
+
+/**
+ * Pointer to the current high watermark of the heap usage
+ */
+static uint8_t *__sbrk_heap_end = NULL;
+
+/**
+ * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
+ * and others from the C library
+ *
+ * @verbatim
+ * ############################################################################
+ * # .data # .bss # newlib heap # MSP stack #
+ * # # # # Reserved by _Min_Stack_Size #
+ * ############################################################################
+ * ^-- RAM start ^-- _end _estack, RAM end --^
+ * @endverbatim
+ *
+ * This implementation starts allocating at the '_end' linker symbol
+ * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
+ * The implementation considers '_estack' linker symbol to be RAM end
+ * NOTE: If the MSP stack, at any point during execution, grows larger than the
+ * reserved size, please increase the '_Min_Stack_Size'.
+ *
+ * @param incr Memory size
+ * @return Pointer to allocated memory
+ */
+void *_sbrk(ptrdiff_t incr)
+{
+ extern uint8_t _end; /* Symbol defined in the linker script */
+ extern uint8_t _estack; /* Symbol defined in the linker script */
+ extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
+ const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
+ const uint8_t *max_heap = (uint8_t *)stack_limit;
+ uint8_t *prev_heap_end;
+
+ /* Initialize heap end at first call */
+ if (NULL == __sbrk_heap_end)
+ {
+ __sbrk_heap_end = &_end;
+ }
+
+ /* Protect heap from growing into the reserved MSP stack */
+ if (__sbrk_heap_end + incr > max_heap)
+ {
+ errno = ENOMEM;
+ return (void *)-1;
+ }
+
+ prev_heap_end = __sbrk_heap_end;
+ __sbrk_heap_end += incr;
+
+ return (void *)prev_heap_end;
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
new file mode 100644
index 000000000..447865dae
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -0,0 +1,392 @@
+/**
+ ******************************************************************************
+ * @file startup_stm32wb15xx_cm4.s
+ * @author MCD Application Team
+ * @brief STM32WB15xx devices vector table GCC toolchain.
+ * This module performs:
+ * - Set the initial SP
+ * - Set the initial PC == Reset_Handler,
+ * - Set the vector table entries with the exceptions ISR address
+ * - Branches to main in the C library (which eventually
+ * calls main()).
+ * After Reset the Cortex-M4 processor is in Thread mode,
+ * priority is Privileged, and the Stack is set to Main.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+ .syntax unified
+ .cpu cortex-m4
+ .fpu softvfp
+ .thumb
+
+.global g_pfnVectors
+.global Default_Handler
+
+/* start address for the initialization values of the .data section.
+defined in linker script */
+.word _sidata
+/* start address for the .data section. defined in linker script */
+.word _sdata
+/* end address for the .data section. defined in linker script */
+.word _edata
+/* start address for the .bss section. defined in linker script */
+.word _sbss
+/* end address for the .bss section. defined in linker script */
+.word _ebss
+/* start address for the .MB_MEM2 section. defined in linker script */
+.word _sMB_MEM2
+/* end address for the .MB_MEM2 section. defined in linker script */
+.word _eMB_MEM2
+
+/* INIT_BSS macro is used to fill the specified region [start : end] with zeros */
+.macro INIT_BSS start, end
+ ldr r0, =\start
+ ldr r1, =\end
+ movs r3, #0
+ bl LoopFillZerobss
+.endm
+
+/* INIT_DATA macro is used to copy data in the region [start : end] starting from 'src' */
+.macro INIT_DATA start, end, src
+ ldr r0, =\start
+ ldr r1, =\end
+ ldr r2, =\src
+ movs r3, #0
+ bl LoopCopyDataInit
+.endm
+
+.section .text.data_initializers
+CopyDataInit:
+ ldr r4, [r2, r3]
+ str r4, [r0, r3]
+ adds r3, r3, #4
+
+LoopCopyDataInit:
+ adds r4, r0, r3
+ cmp r4, r1
+ bcc CopyDataInit
+ bx lr
+
+FillZerobss:
+ str r3, [r0]
+ adds r0, r0, #4
+
+LoopFillZerobss:
+ cmp r0, r1
+ bcc FillZerobss
+ bx lr
+
+ .section .text.Reset_Handler
+ .weak Reset_Handler
+ .type Reset_Handler, %function
+Reset_Handler:
+ ldr r0, =_estack
+ mov sp, r0 /* set stack pointer */
+/* Call the clock system initialization function.*/
+ bl SystemInit
+
+/* Copy the data segment initializers from flash to SRAM */
+ INIT_DATA _sdata, _edata, _sidata
+
+/* Zero fill the bss segments. */
+ INIT_BSS _sbss, _ebss
+ INIT_BSS _sMB_MEM2, _eMB_MEM2
+
+/* Call static constructors */
+ bl __libc_init_array
+/* Call the application s entry point.*/
+ bl main
+
+LoopForever:
+ b LoopForever
+
+.size Reset_Handler, .-Reset_Handler
+
+/**
+ * @brief This is the code that gets called when the processor receives an
+ * unexpected interrupt. This simply enters an infinite loop, preserving
+ * the system state for examination by a debugger.
+ *
+ * @param None
+ * @retval None
+*/
+ .section .text.Default_Handler,"ax",%progbits
+Default_Handler:
+Infinite_Loop:
+ b Infinite_Loop
+ .size Default_Handler, .-Default_Handler
+/******************************************************************************
+*
+* The minimal vector table for a Cortex-M4. Note that the proper constructs
+* must be placed on this to ensure that it ends up at physical address
+* 0x0000.0000.
+*
+******************************************************************************/
+ .section .isr_vector,"a",%progbits
+ .type g_pfnVectors, %object
+ .size g_pfnVectors, .-g_pfnVectors
+
+
+g_pfnVectors:
+ .word _estack
+ .word Reset_Handler
+ .word NMI_Handler
+ .word HardFault_Handler
+ .word MemManage_Handler
+ .word BusFault_Handler
+ .word UsageFault_Handler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word SVC_Handler
+ .word DebugMon_Handler
+ .word 0
+ .word PendSV_Handler
+ .word SysTick_Handler
+ .word WWDG_IRQHandler
+ .word PVD_PVM_IRQHandler
+ .word TAMP_STAMP_LSECSS_IRQHandler
+ .word RTC_WKUP_IRQHandler
+ .word FLASH_IRQHandler
+ .word RCC_IRQHandler
+ .word EXTI0_IRQHandler
+ .word EXTI1_IRQHandler
+ .word EXTI2_IRQHandler
+ .word EXTI3_IRQHandler
+ .word EXTI4_IRQHandler
+ .word DMA1_Channel1_IRQHandler
+ .word DMA1_Channel2_IRQHandler
+ .word DMA1_Channel3_IRQHandler
+ .word DMA1_Channel4_IRQHandler
+ .word DMA1_Channel5_IRQHandler
+ .word DMA1_Channel6_IRQHandler
+ .word DMA1_Channel7_IRQHandler
+ .word ADC1_IRQHandler
+ .word 0
+ .word 0
+ .word C2SEV_PWR_C2H_IRQHandler
+ .word COMP_IRQHandler
+ .word EXTI9_5_IRQHandler
+ .word TIM1_BRK_IRQHandler
+ .word TIM1_UP_IRQHandler
+ .word TIM1_TRG_COM_IRQHandler
+ .word TIM1_CC_IRQHandler
+ .word TIM2_IRQHandler
+ .word PKA_IRQHandler
+ .word I2C1_EV_IRQHandler
+ .word I2C1_ER_IRQHandler
+ .word 0
+ .word 0
+ .word SPI1_IRQHandler
+ .word 0
+ .word USART1_IRQHandler
+ .word LPUART1_IRQHandler
+ .word 0
+ .word TSC_IRQHandler
+ .word EXTI15_10_IRQHandler
+ .word RTC_Alarm_IRQHandler
+ .word 0
+ .word PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ .word IPCC_C1_RX_IRQHandler
+ .word IPCC_C1_TX_IRQHandler
+ .word HSEM_IRQHandler
+ .word LPTIM1_IRQHandler
+ .word LPTIM2_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word AES2_IRQHandler
+ .word RNG_IRQHandler
+ .word FPU_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word DMAMUX1_OVR_IRQHandler
+
+/*******************************************************************************
+*
+* Provide weak aliases for each Exception handler to the Default_Handler.
+* As they are weak aliases, any function with the same name will override
+* this definition.
+*
+*******************************************************************************/
+ .weak NMI_Handler
+ .thumb_set NMI_Handler,Default_Handler
+
+ .weak HardFault_Handler
+ .thumb_set HardFault_Handler,Default_Handler
+
+ .weak MemManage_Handler
+ .thumb_set MemManage_Handler,Default_Handler
+
+ .weak BusFault_Handler
+ .thumb_set BusFault_Handler,Default_Handler
+
+ .weak UsageFault_Handler
+ .thumb_set UsageFault_Handler,Default_Handler
+
+ .weak SVC_Handler
+ .thumb_set SVC_Handler,Default_Handler
+
+ .weak DebugMon_Handler
+ .thumb_set DebugMon_Handler,Default_Handler
+
+ .weak PendSV_Handler
+ .thumb_set PendSV_Handler,Default_Handler
+
+ .weak SysTick_Handler
+ .thumb_set SysTick_Handler,Default_Handler
+
+ .weak WWDG_IRQHandler
+ .thumb_set WWDG_IRQHandler,Default_Handler
+
+ .weak PVD_PVM_IRQHandler
+ .thumb_set PVD_PVM_IRQHandler,Default_Handler
+
+ .weak TAMP_STAMP_LSECSS_IRQHandler
+ .thumb_set TAMP_STAMP_LSECSS_IRQHandler,Default_Handler
+
+ .weak RTC_WKUP_IRQHandler
+ .thumb_set RTC_WKUP_IRQHandler,Default_Handler
+
+ .weak FLASH_IRQHandler
+ .thumb_set FLASH_IRQHandler,Default_Handler
+
+ .weak RCC_IRQHandler
+ .thumb_set RCC_IRQHandler,Default_Handler
+
+ .weak EXTI0_IRQHandler
+ .thumb_set EXTI0_IRQHandler,Default_Handler
+
+ .weak EXTI1_IRQHandler
+ .thumb_set EXTI1_IRQHandler,Default_Handler
+
+ .weak EXTI2_IRQHandler
+ .thumb_set EXTI2_IRQHandler,Default_Handler
+
+ .weak EXTI3_IRQHandler
+ .thumb_set EXTI3_IRQHandler,Default_Handler
+
+ .weak EXTI4_IRQHandler
+ .thumb_set EXTI4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel1_IRQHandler
+ .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel2_IRQHandler
+ .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel3_IRQHandler
+ .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel4_IRQHandler
+ .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel5_IRQHandler
+ .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel6_IRQHandler
+ .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel7_IRQHandler
+ .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
+
+ .weak ADC1_IRQHandler
+ .thumb_set ADC1_IRQHandler,Default_Handler
+
+ .weak C2SEV_PWR_C2H_IRQHandler
+ .thumb_set C2SEV_PWR_C2H_IRQHandler,Default_Handler
+
+ .weak COMP_IRQHandler
+ .thumb_set COMP_IRQHandler,Default_Handler
+
+ .weak EXTI9_5_IRQHandler
+ .thumb_set EXTI9_5_IRQHandler,Default_Handler
+
+ .weak TIM1_BRK_IRQHandler
+ .thumb_set TIM1_BRK_IRQHandler,Default_Handler
+
+ .weak TIM1_UP_IRQHandler
+ .thumb_set TIM1_UP_IRQHandler,Default_Handler
+
+ .weak TIM1_TRG_COM_IRQHandler
+ .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler
+
+ .weak TIM1_CC_IRQHandler
+ .thumb_set TIM1_CC_IRQHandler,Default_Handler
+
+ .weak TIM2_IRQHandler
+ .thumb_set TIM2_IRQHandler,Default_Handler
+
+ .weak PKA_IRQHandler
+ .thumb_set PKA_IRQHandler,Default_Handler
+
+ .weak I2C1_EV_IRQHandler
+ .thumb_set I2C1_EV_IRQHandler,Default_Handler
+
+ .weak I2C1_ER_IRQHandler
+ .thumb_set I2C1_ER_IRQHandler,Default_Handler
+
+ .weak SPI1_IRQHandler
+ .thumb_set SPI1_IRQHandler,Default_Handler
+
+ .weak USART1_IRQHandler
+ .thumb_set USART1_IRQHandler,Default_Handler
+
+ .weak LPUART1_IRQHandler
+ .thumb_set LPUART1_IRQHandler,Default_Handler
+
+ .weak TSC_IRQHandler
+ .thumb_set TSC_IRQHandler,Default_Handler
+
+ .weak EXTI15_10_IRQHandler
+ .thumb_set EXTI15_10_IRQHandler,Default_Handler
+
+ .weak RTC_Alarm_IRQHandler
+ .thumb_set RTC_Alarm_IRQHandler,Default_Handler
+
+ .weak PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ .thumb_set PWR_SOTF_BLEACT_RFPHASE_IRQHandler,Default_Handler
+
+ .weak IPCC_C1_RX_IRQHandler
+ .thumb_set IPCC_C1_RX_IRQHandler,Default_Handler
+
+ .weak IPCC_C1_TX_IRQHandler
+ .thumb_set IPCC_C1_TX_IRQHandler,Default_Handler
+
+ .weak HSEM_IRQHandler
+ .thumb_set HSEM_IRQHandler,Default_Handler
+
+ .weak LPTIM1_IRQHandler
+ .thumb_set LPTIM1_IRQHandler,Default_Handler
+
+ .weak LPTIM2_IRQHandler
+ .thumb_set LPTIM2_IRQHandler,Default_Handler
+
+ .weak AES2_IRQHandler
+ .thumb_set AES2_IRQHandler,Default_Handler
+
+ .weak RNG_IRQHandler
+ .thumb_set RNG_IRQHandler,Default_Handler
+
+ .weak FPU_IRQHandler
+ .thumb_set FPU_IRQHandler,Default_Handler
+
+ .weak DMAMUX1_OVR_IRQHandler
+ .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
new file mode 100644
index 000000000..0e7e6c389
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -0,0 +1,188 @@
+/*
+******************************************************************************
+**
+** File : LinkerScript.ld
+**
+** Author : STM32CubeIDE
+**
+** Abstract : Linker script for STM32WB15xC Device
+** 320Kbytes FLASH
+** 48Kbytes RAM
+**
+** Set heap size, stack size and stack location according
+** to application requirements.
+**
+** Set memory bank area and size if external memory is used.
+**
+** Target : STMicroelectronics STM32
+**
+** Distribution: The file is distributed as is without any warranty
+** of any kind.
+**
+*****************************************************************************
+** @attention
+**
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
+**
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
+**
+*****************************************************************************
+*/
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+/* Highest address of the user mode stack */
+/*_estack = 0x20003000;*/ /* end of RAM */
+_estack = 0x20032800; /* end of RAM_SHARED */
+/* Generate a link error if heap and stack don't fit into RAM */
+_Min_Heap_Size = 0x400 ; /* required amount of heap */
+_Min_Stack_Size = 0x1000 ; /* required amount of stack */
+
+/* Specify the memory areas */
+MEMORY
+{
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 134K
+RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFC
+RAM_SHARED1 (xrw) : ORIGIN = 0x20030000, LENGTH = 0x28
+RAM_SHARED2 (xrw) : ORIGIN = 0x20030028, LENGTH = 0x27D8
+}
+
+/* Define output sections */
+SECTIONS
+{
+ /* The startup code goes first into FLASH */
+ .isr_vector :
+ {
+ . = ALIGN(4);
+ KEEP(*(.isr_vector)) /* Startup code */
+ . = ALIGN(4);
+ } >FLASH
+
+ /* The program code and other data goes into FLASH */
+ .text :
+ {
+ . = ALIGN(4);
+ *(.text) /* .text sections (code) */
+ *(.text*) /* .text* sections (code) */
+ *(.glue_7) /* glue arm to thumb code */
+ *(.glue_7t) /* glue thumb to arm code */
+ *(.eh_frame)
+
+ KEEP (*(.init))
+ KEEP (*(.fini))
+
+ . = ALIGN(4);
+ _etext = .; /* define a global symbols at end of code */
+ } >FLASH
+
+ /* Constant data goes into FLASH */
+ .rodata :
+ {
+ . = ALIGN(4);
+ *(.rodata) /* .rodata sections (constants, strings, etc.) */
+ *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
+ . = ALIGN(4);
+ } >FLASH
+
+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
+ .ARM : {
+ __exidx_start = .;
+ *(.ARM.exidx*)
+ __exidx_end = .;
+ } >FLASH
+
+ .preinit_array :
+ {
+ PROVIDE_HIDDEN (__preinit_array_start = .);
+ KEEP (*(.preinit_array*))
+ PROVIDE_HIDDEN (__preinit_array_end = .);
+ } >FLASH
+ .init_array :
+ {
+ PROVIDE_HIDDEN (__init_array_start = .);
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array*))
+ PROVIDE_HIDDEN (__init_array_end = .);
+ } >FLASH
+ .fini_array :
+ {
+ PROVIDE_HIDDEN (__fini_array_start = .);
+ KEEP (*(SORT(.fini_array.*)))
+ KEEP (*(.fini_array*))
+ PROVIDE_HIDDEN (__fini_array_end = .);
+ } >FLASH
+
+ /* used by the startup to initialize data */
+ _sidata = LOADADDR(.data);
+
+ /* Initialized data sections goes into RAM, load LMA copy after code */
+ .data :
+ {
+ . = ALIGN(4);
+ _sdata = .; /* create a global symbol at data start */
+ *(.data) /* .data sections */
+ *(.data*) /* .data* sections */
+ *(.RamFunc) /* .RamFunc sections */
+ *(.RamFunc*) /* .RamFunc* sections */
+
+ . = ALIGN(4);
+ _edata = .; /* define a global symbol at data end */
+ } >RAM1 AT> FLASH
+
+
+ /* Uninitialized data section */
+ . = ALIGN(4);
+ .bss1 :
+ {
+ /* This is used by the startup in order to initialize the .bss section */
+ _sbss = .; /* define a global symbol at bss start */
+ __bss_start__ = _sbss;
+ *(.bss)
+ *(COMMON)
+
+ . = ALIGN(4);
+ _ebss = .; /* define a global symbol at bss end */
+ __bss_end__ = _ebss;
+ } >RAM1
+
+ .bss2 :
+ {
+ . = ALIGN(4);
+ __bss2_start__ = .;
+ *(.bss*)
+ . = ALIGN(4);
+ __bss2_end__ = .;
+ } > RAM_SHARED2 AT > RAM_SHARED2
+
+ /* User_heap_stack section, used to check that there is enough RAM left */
+ ._user_heap_stack :
+ {
+ . = ALIGN(8);
+ PROVIDE ( end = . );
+ PROVIDE ( _end = . );
+ . = . + _Min_Heap_Size;
+ . = . + _Min_Stack_Size;
+ . = ALIGN(8);
+ } >RAM1
+
+
+
+ /* Remove information from the standard libraries */
+ /DISCARD/ :
+ {
+ libc.a ( * )
+ libm.a ( * )
+ libgcc.a ( * )
+ }
+
+ .ARM.attributes 0 : { *(.ARM.attributes) }
+ MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED1
+ MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED2
+ MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED2
+}
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.c
new file mode 100644
index 000000000..08b9446b5
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.c
@@ -0,0 +1,110 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_config.c
+ * @author MCD Application Team
+ * @brief Configuration file for PWM.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "PWM_config.h"
+
+extern TIM_HandleTypeDef htim1;
+extern TIM_HandleTypeDef htim2;
+
+#define PRESCALER_VALUE (uint32_t)(((SystemCoreClock) / 1000000) - 1)
+
+/**
+ *@brief Configure PWM sources and GPIO
+ *@retval None
+ */
+void PWM_Init()
+{
+ TIM_OC_InitTypeDef sConfigOC = {0};
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+
+ /* GPIO Configuration */
+ GPIO_InitTypeDef GPIO_InitStructure = {0};
+
+
+ /* Configure PWM pins */
+ GPIO_InitStructure.Pin = PWM0_PIN | PWM1_PIN;
+ GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure.Pull = GPIO_PULLUP;
+ GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure.Alternate = GPIO_AF1_TIM1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure);
+
+ /* Configure PWM pins */
+ GPIO_InitStructure.Pin = PWM2_PIN | PWM3_PIN | PWM4_PIN;
+ GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure.Pull = GPIO_PULLUP;
+ GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure.Alternate = GPIO_AF1_TIM2;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
+
+ /* MFT Configuration */
+ HAL_NVIC_SetPriority((IRQn_Type)(TIM1_CC_IRQn), 15, 0);
+ HAL_NVIC_EnableIRQ((IRQn_Type)(TIM1_CC_IRQn));
+ HAL_NVIC_SetPriority((IRQn_Type)(TIM2_IRQn), 15, 0);
+ HAL_NVIC_EnableIRQ((IRQn_Type)(TIM2_IRQn));
+
+ htim1.Instance = TIM1;
+ htim1.Init.Prescaler = 0/*PRESCALER_VALUE*/;
+ htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim1.Init.Period = TIME_PERIOD;
+ htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ HAL_TIM_PWM_Init(&htim1);
+
+ htim2.Instance = TIM2;
+ htim2.Init.Prescaler = 0/*PRESCALER_VALUE*/;
+ htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim2.Init.Period = TIME_PERIOD;
+ htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ HAL_TIM_PWM_Init(&htim2);
+
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig);
+ HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);
+
+ sConfigOC.OCMode = TIM_OCMODE_PWM1;
+ sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
+ sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
+ sConfigOC.Pulse = MFT1_TON_1;
+ HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
+ sConfigOC.Pulse = MFT2_TON_1;
+ HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2);
+ sConfigOC.Pulse = MFT1_TON_2;
+ HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1);
+ sConfigOC.Pulse = MFT2_TON_2;
+ HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
+ sConfigOC.Pulse = MFT2_TON_3;
+ HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3);
+
+ /* Start channel 1 */
+ HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_1);
+ /* Start channel 2 */
+ HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_2);
+ /* Start channel 1 */
+ HAL_TIM_PWM_Start_IT(&htim2, TIM_CHANNEL_1);
+ /* Start channel 2 */
+ HAL_TIM_PWM_Start_IT(&htim2, TIM_CHANNEL_2);
+ /* Start channel 3 */
+ HAL_TIM_PWM_Start_IT(&htim2, TIM_CHANNEL_3);
+}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.h
new file mode 100644
index 000000000..7fc56056b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_config.h
@@ -0,0 +1,74 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_config.h
+ * @author MCD Application Team
+ * @brief Header Configuration file for PWM.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "mesh_cfg_usr.h"
+
+/* Macros defined for the number of PWM Provided */
+#define PWM0 0
+#define PWM1 1
+#define PWM2 2
+#define PWM3 3
+#define PWM4 4
+
+/************************************************************************/
+
+/*STM32WB
+ * This configuration given below is for the STM32WB board.
+ * Here user has selected the PWM0 in SERIAL2_MODE and PWM1 in SERIAL1_MODE.
+ * User can configure software PWM to any of the GPIO which are not used for
+ * hardware PWM.
+*/
+/* PWM pins for MFT1 and MFT2 respectively */
+#if defined USE_STM32WBXX_NUCLEO || defined USE_STM32WBXX_USB_DONGLE
+
+#define PWM0_PIN GPIO_PIN_14 /* TIM1_CH1 AF1 */
+#define PWM1_PIN GPIO_PIN_15 /* TIM1_CH2 AF1 */
+
+/* GPIOs pins (SOFTWARE PWM) used to output a PWM signal */
+#define PWM2_PIN GPIO_PIN_0 /* TIM2_CH1 AF1 */
+#define PWM3_PIN GPIO_PIN_1 /* TIM2_CH2 AF1 */
+#define PWM4_PIN GPIO_PIN_2 /* TIM2_CH3 AF1 */
+#endif
+/************************************************************************/
+
+#define TIME_PERIOD 32000
+
+/* TIM1 Channel 1 Timer Ton and T0ff (ticks number) PWM0*/
+#define MFT1_TON_1 (12000 - 1)
+#define MFT1_TOFF_1 (20000 - 1)
+
+/* TIM1 Channel 2 Timer 1 Ton and T0ff (ticks number) PWM1*/
+#define MFT2_TON_1 (8000 - 1 )
+#define MFT2_TOFF_1 (24000 - 1)
+
+/* TIM2 Channel 1 Timer 2 Ton and T0ff (ticks number) PWM2*/
+#define MFT1_TON_2 (16000 - 1)
+#define MFT1_TOFF_2 (16000 -1)
+
+/* TIM2 Channel 2 Timer 2 Ton and T0ff (ticks number) PWM3*/
+#define MFT2_TON_2 (4000 - 1)
+#define MFT2_TOFF_2 (28000 - 1)
+
+/* TIM2 Channel 3 Timer 2 Ton and T0ff (ticks number) PWM4*/
+#define MFT2_TON_3 (4000 - 1)
+#define MFT2_TOFF_3 (28000 - 1)
+
+void PWM_Init(void);
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.c
new file mode 100644
index 000000000..74d3bc848
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.c
@@ -0,0 +1,279 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_handlers.c
+ * @author MCD Application Team
+ * @brief Handlers for PWM and other support functions.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "app_conf.h"
+#include "PWM_handlers.h"
+#include "mesh_cfg_usr.h"
+
+extern TIM_HandleTypeDef htim1;
+extern TIM_HandleTypeDef htim2;
+
+/* Global Variables */
+uint16_t DUTY;
+int NonZeroPWM0=0;
+int NonZeroPWM1=0;
+uint8_t Duty_flag_A = 0;
+uint16_t PWM0_on,
+ PWM1_on,
+ PWM2_on = MFT1_TON_2, /* Timer2, MFT1 */
+ PWM3_on = MFT2_TON_2, /* Timer2, MFT2 */
+ PWM4_on = MFT2_TON_3; /* Timer2, MFT2 */
+
+uint32_t channel = PWM3_PIN; /* It is the channel with initial lowest duty-cycle */
+uint32_t period = TIME_PERIOD; /* Period in ticks of the PWM signal */
+uint8_t channel_number = 0;
+
+uint32_t PWM_channels[] = {PWM3_PIN, PWM4_PIN}; /* Channels managed by MFT2 Timer 2 */
+uint16_t Ton_values[] = {MFT2_TON_2, MFT2_TON_3}; /* Sorted array containing duty-cycle values
+ respectively for PWM3_PIN and PWM4_PIN */
+uint16_t delta_1 = MFT2_TON_3 - MFT2_TON_2; /* Delta between the first two duty-cycles */
+uint16_t delta = MFT2_TON_3 - MFT2_TON_2;
+
+int number_of_channels = 2; /* Number of channels managed by MFT2 Timer 2 */
+int max_duty = MFT2_TON_3; /* Maximum duty-cycle */
+
+/**
+ *@brief PWM2 handler
+ *@retval None
+ */
+void PWM2_handler()
+{
+ if(__HAL_TIM_GET_FLAG(&htim1, TIM_FLAG_CC1) > 0)
+ {
+ __HAL_TIM_CLEAR_FLAG(&htim1, TIM_FLAG_CC1);
+ if(Duty_flag_A == 1)
+ {
+ HAL_GPIO_WritePin(GPIOA, PWM2_PIN, GPIO_PIN_SET);
+ Duty_flag_A = 0;
+ htim1.Instance->CCR1 = PWM2_on;
+ }
+ else
+ {
+ HAL_GPIO_WritePin(GPIOA, PWM2_PIN, GPIO_PIN_RESET);
+ Duty_flag_A = 1;
+ htim1.Instance->CCR1 = TIME_PERIOD - PWM2_on;
+ }
+ }
+}
+
+/**
+ *@brief PWM3 and PWM4 handler
+ *@retval None
+ */
+void PWM3_PWM4_handler()
+{
+ /*STATE 0
+ if delta != 0, there is a channel with a duty lower than the other one.
+ So the channel with the lower duty is cleared. Delta is period - max_duty
+ (the duty of the other channel)
+ The machine passes to STATE 1.
+
+ if delta == 0, the two channel are cleared together.
+ The machine passes to STATE 2
+
+ The delta is computed for the next timer event*/
+
+ if (channel_number < number_of_channels - 1)
+ {
+ if (delta != 0)
+ {
+// HAL_GPIO_WritePin(GPIOA, channel, GPIO_PIN_RESET);
+ htim2.Instance->CCR2 = delta - 1;
+ htim2.Instance->CCR3 = delta - 1;
+ channel_number ++;
+ delta = period - max_duty; /*computed delta for the next reset of the counter*/
+ channel = PWM_channels[channel_number];
+ }
+ else
+ {
+// HAL_GPIO_WritePin(GPIOA, PWM3_PIN |PWM4_PIN, GPIO_PIN_RESET);
+ delta = period - max_duty;
+ htim2.Instance->CCR2 = delta - 1;
+ htim2.Instance->CCR3 = delta - 1;
+ channel_number = number_of_channels;
+ }
+ }
+ /*STATE 1
+ Here the channel with the max duty-cycle is cleared. The delta is that one
+ computed in STATE 0. The machine passes to STATE 2 */
+ else if (channel_number == number_of_channels - 1)
+ {
+// HAL_GPIO_WritePin(GPIOA, channel, GPIO_PIN_RESET);
+ htim2.Instance->CCR2 = delta - 1;
+ htim2.Instance->CCR3 = delta - 1;
+ channel_number ++;
+ }
+ /*STATE 2
+ All the channels have been cleared and now are set again. The machine passes to STATE 0 */
+ else
+ { /* channel_number > number_of_channels - 1 */
+ HAL_GPIO_WritePin(GPIOA, PWM3_PIN | PWM4_PIN, GPIO_PIN_SET);
+ htim2.Instance->CCR2 = Ton_values[0] - 1;
+ htim2.Instance->CCR3 = Ton_values[1] - 1;
+ Ton_sorting();
+ channel_number = 0;
+ delta = Ton_values[1] - Ton_values[0];
+ channel = PWM_channels[0];
+ }
+}
+
+/**
+ *@brief Sorting on basis of duty cycle
+ *@retval None
+ */
+
+void Ton_sorting(void)
+{
+ if (PWM3_on > PWM4_on)
+ {
+ max_duty = PWM3_on;
+ Ton_values[1] = PWM3_on;
+ Ton_values[0] = PWM4_on;
+ PWM_channels[1] = PWM3_PIN;
+ PWM_channels[0] = PWM4_PIN;
+ }
+ else
+ {
+ max_duty = PWM4_on;
+ Ton_values[0] = PWM3_on;
+ Ton_values[1] = PWM4_on;
+ PWM_channels[0] = PWM3_PIN;
+ PWM_channels[1] = PWM4_PIN;
+ }
+}
+
+
+/**
+ *@brief PWM modification
+ *@param PWM_ID: PWM number
+ *@param duty_cycle: Duty cycle at output
+ *@retval None
+ */
+void Modify_PWM(uint8_t PWM_ID, uint16_t duty_cycle)
+{
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+ GPIO_InitTypeDef GPIO_InitStructure1 = {0};
+
+ if (PWM_ID == 0) /* PD14 */
+ {
+ if (duty_cycle == 0 && NonZeroPWM0 == 0)
+ {
+ GPIO_InitStructure1.Pin = PWM0_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStructure1.Pull = GPIO_NOPULL;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+ HAL_GPIO_WritePin(GPIOD, PWM0_PIN, GPIO_PIN_RESET);
+
+ NonZeroPWM0=1;
+ }
+ else if ((duty_cycle != 0 && NonZeroPWM0 == 1))
+ {
+ GPIO_InitStructure1.Pin = PWM0_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure1.Pull = GPIO_PULLUP;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure1.Alternate = GPIO_AF1_TIM1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+
+ NonZeroPWM0=0;
+ }
+ }
+ else if((PWM_ID == 1)) /* GPIO3 */
+ {
+ if (duty_cycle == 0 && NonZeroPWM1 == 0)
+ {
+ GPIO_InitStructure1.Pin = PWM1_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStructure1.Pull = GPIO_NOPULL;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+ HAL_GPIO_WritePin(GPIOD, PWM1_PIN, GPIO_PIN_RESET);
+
+ NonZeroPWM1=1;
+ }
+ else if ((duty_cycle != 0 && NonZeroPWM1 == 1))
+ {
+ GPIO_InitStructure1.Pin = PWM1_PIN;
+ GPIO_InitStructure1.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStructure1.Pull = GPIO_PULLUP;
+ GPIO_InitStructure1.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStructure1.Alternate = GPIO_AF1_TIM1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStructure1);
+
+ NonZeroPWM1=0;
+ }
+ }
+ else
+ {
+ }
+
+ DUTY = duty_cycle;
+ switch (PWM_ID)
+ {
+ case 0: /* PWM0 */
+ {
+ htim1.Instance->CCR1 = DUTY;
+ }
+ break;
+ case 1: /* PWM1 */
+ {
+ htim1.Instance->CCR2 = DUTY;
+ }
+ break;
+ case 2: /* PWM2 */
+ {
+ PWM2_on = DUTY;
+ htim2.Instance->CCR1 = PWM2_on;
+ }
+ break;
+ case 3: /* PWM3 */
+ {
+ PWM3_on = DUTY;
+ htim2.Instance->CCR2 = PWM3_on;
+ }
+ break;
+ case 4: /* PWM4 */
+ {
+ PWM4_on = DUTY;
+ htim2.Instance->CCR3 = PWM4_on;
+ }
+ break;
+ }
+#endif
+}
+
+/**
+ * @brief Period elapsed callback in non blocking mode
+ * @param htim : TIM handle
+ * @retval None
+ */
+void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
+{
+#if 0
+ if(htim->Instance == TIM1)
+ PWM2_handler();
+ else
+ PWM3_PWM4_handler();
+#endif
+}
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.h
new file mode 100644
index 000000000..4882feaae
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/PWM_handlers.h
@@ -0,0 +1,34 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file PWM_handlers.h
+ * @author MCD Application Team
+ * @brief Header Handlers for PWM and other support functions.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "PWM_config.h"
+//#include "SDK_EVAL_Config.h"
+
+/* PWM2 handler */
+void PWM2_handler(void);
+
+/* PWM3 and PWM4 handler */
+void PWM3_PWM4_handler(void);
+
+/* Here the channel with the lower duty-cycle is established*/
+void Ton_sorting(void);
+
+/* Handle modifications in duty cycle */
+void Modify_PWM(uint8_t PWM_ID, uint16_t duty_cycle);
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.c
new file mode 100644
index 000000000..9f3857506
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.c
@@ -0,0 +1,509 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+#include "app_common.h"
+
+#include "dbg_trace.h"
+#include "ble.h"
+#include "tl.h"
+#include "app_ble.h"
+
+#include "stm32_seq.h"
+#include "shci.h"
+#include "stm32_lpm.h"
+#include "otp.h"
+
+#include "types.h"
+#include "ble_mesh.h"
+#include "mesh_cfg.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+
+/**
+ * security parameters structure
+ */
+typedef struct _tSecurityParams
+{
+ /**
+ * IO capability of the device
+ */
+ uint8_t ioCapability;
+
+ /**
+ * Authentication requirement of the device
+ * Man In the Middle protection required?
+ */
+ uint8_t mitm_mode;
+
+ /**
+ * bonding mode of the device
+ */
+ uint8_t bonding_mode;
+
+ /**
+ * this variable indicates whether to use a fixed pin
+ * during the pairing process or a passkey has to be
+ * requested to the application during the pairing process
+ * 0 implies use fixed pin and 1 implies request for passkey
+ */
+ uint8_t Use_Fixed_Pin;
+
+ /**
+ * minimum encryption key size requirement
+ */
+ uint8_t encryptionKeySizeMin;
+
+ /**
+ * maximum encryption key size requirement
+ */
+ uint8_t encryptionKeySizeMax;
+
+ /**
+ * fixed pin to be used in the pairing process if
+ * Use_Fixed_Pin is set to 1
+ */
+ uint32_t Fixed_Pin;
+
+ /**
+ * this flag indicates whether the host has to initiate
+ * the security, wait for pairing or does not have any security
+ * requirements.\n
+ * 0x00 : no security required
+ * 0x01 : host should initiate security by sending the slave security
+ * request command
+ * 0x02 : host need not send the clave security request but it
+ * has to wait for paiirng to complete before doing any other
+ * processing
+ */
+ uint8_t initiateSecurity;
+}tSecurityParams;
+
+/**
+ * global context
+ * contains the variables common to all
+ * services
+ */
+typedef struct _tBLEProfileGlobalContext
+{
+
+ /**
+ * security requirements of the host
+ */
+ tSecurityParams bleSecurityParam;
+
+ /**
+ * gap service handle
+ */
+ uint16_t gapServiceHandle;
+
+ /**
+ * device name characteristic handle
+ */
+ uint16_t devNameCharHandle;
+
+ /**
+ * appearance characteristic handle
+ */
+ uint16_t appearanceCharHandle;
+
+ /**
+ * connection handle of the current active connection
+ * When not in connection, the handle is set to 0xFFFF
+ */
+ uint16_t connectionHandle;
+
+ /**
+ * length of the UUID list to be used while advertising
+ */
+ uint8_t advtServUUIDlen;
+
+ /**
+ * the UUID list to be used while advertising
+ */
+ uint8_t advtServUUID[100];
+
+}BleGlobalContext_t;
+
+typedef struct
+{
+ BleGlobalContext_t BleApplicationContext_legacy;
+ APP_BLE_ConnStatus_t Device_Connection_Status;
+
+ /**
+ * ID of the Advertising Timeout
+ */
+ uint8_t Advertising_mgr_timer_Id;
+
+} BleApplicationContext_t;
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private defines -----------------------------------------------------------*/
+#define APPBLE_GAP_DEVICE_NAME_LENGTH 7
+#define FAST_ADV_TIMEOUT (30*1000*1000/CFG_TS_TICK_VAL) /**< 30s */
+#define INITIAL_ADV_TIMEOUT (60*1000*1000/CFG_TS_TICK_VAL) /**< 60s */
+
+#define BD_ADDR_SIZE_LOCAL 6
+
+/* USER CODE BEGIN PD */
+#define LED_ON_TIMEOUT (0.005*1000*1000/CFG_TS_TICK_VAL) /**< 5ms */
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+PLACE_IN_SECTION("MB_MEM1") ALIGN(4) static TL_CmdPacket_t BleCmdBuffer;
+
+uint8_t Test_Status =0x00;
+
+static const uint8_t M_bd_addr[BD_ADDR_SIZE_LOCAL] =
+{
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000000000FF)),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00000000FF00) >> 8),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x000000FF0000) >> 16),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000FF000000) >> 24),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00FF00000000) >> 32),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0xFF0000000000) >> 40)
+};
+
+static uint8_t bd_addr_udn[BD_ADDR_SIZE_LOCAL];
+
+PLACE_IN_SECTION("BLE_APP_CONTEXT") static BleApplicationContext_t BleApplicationContext;
+
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Extern function prototypes -----------------------------------------------*/
+extern void HCI_Event_CB(void *pckt);
+
+/* Global variables ----------------------------------------------------------*/
+const uint8_t *bd_addr;
+
+/* Private function prototypes -----------------------------------------------*/
+static void BLE_UserEvtRx( void * pPayload );
+static void BLE_StatusNot( HCI_TL_CmdStatus_t status );
+static void Ble_Tl_Init( void );
+static const uint8_t* BleGetBdAddress( void );
+
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External variables --------------------------------------------------------*/
+
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Functions Definition ------------------------------------------------------*/
+void APP_BLE_Init( void )
+{
+/* USER CODE BEGIN APP_BLE_Init_1 */
+
+/* USER CODE END APP_BLE_Init_1 */
+ SHCI_C2_Ble_Init_Cmd_Packet_t ble_init_cmd_packet =
+ {
+ {{0,0,0}}, /**< Header unused */
+ {0, /** pBleBufferAddress not used */
+ 0, /** BleBufferSize not used */
+ CFG_BLE_NUM_GATT_ATTRIBUTES,
+ CFG_BLE_NUM_GATT_SERVICES,
+ CFG_BLE_ATT_VALUE_ARRAY_SIZE,
+ CFG_BLE_NUM_LINK,
+ CFG_BLE_DATA_LENGTH_EXTENSION,
+ CFG_BLE_PREPARE_WRITE_LIST_SIZE,
+ CFG_BLE_MBLOCK_COUNT,
+ CFG_BLE_MAX_ATT_MTU,
+ CFG_BLE_SLAVE_SCA,
+ CFG_BLE_MASTER_SCA,
+ CFG_BLE_LSE_SOURCE,
+ CFG_BLE_MAX_CONN_EVENT_LENGTH,
+ CFG_BLE_HSE_STARTUP_TIME,
+ CFG_BLE_VITERBI_MODE,
+ CFG_BLE_OPTIONS,
+ 0,
+ CFG_BLE_MAX_COC_INITIATOR_NBR,
+ CFG_BLE_MIN_TX_POWER,
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
+ };
+
+ /**
+ * Initialize Ble Transport Layer
+ */
+ Ble_Tl_Init( );
+
+#if (CFG_LPM_STANDBY_SUPPORTED == 0)
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP_BLE, UTIL_LPM_DISABLE);
+#endif
+
+ /**
+ * Do not allow stop mode in the application
+ */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_LPM_SetStopMode(1 << CFG_LPM_APP_BLE, UTIL_LPM_DISABLE);
+#endif
+
+ /**
+ * Register the hci transport layer to handle BLE User Asynchronous Events
+ */
+ UTIL_SEQ_RegTask( 1<<CFG_TASK_HCI_ASYNCH_EVT_ID, UTIL_SEQ_RFU, hci_user_evt_proc);
+
+ /**
+ * Starts the BLE Stack on CPU2
+ */
+ if (SHCI_C2_BLE_Init( &ble_init_cmd_packet ) != SHCI_Success)
+ {
+ Error_Handler();
+ }
+
+ /**
+ * Initialization of HCI & GATT & GAP layer
+ */
+ {
+ const uint8_t *bd_addr;
+ /**
+ * Write the BD Address
+ */
+
+ bd_addr = BleGetBdAddress();
+ aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET,
+ CONFIG_DATA_PUBADDR_LEN,
+ (uint8_t*) bd_addr);
+ }
+ /**
+ * Initialization of the BLE Services
+ */
+ SVCCTL_Init();
+
+ /**
+ * Initialization of the BLE App Context
+ */
+ BleApplicationContext.Device_Connection_Status = APP_BLE_IDLE;
+ BleApplicationContext.BleApplicationContext_legacy.connectionHandle = 0xFFFF;
+
+ /*Radio mask Activity*/
+#if(RADIO_ACTIVITY_EVENT != 0)
+ aci_hal_set_radio_activity_mask(0x00FF);
+#endif
+
+ BleApplicationContext.Device_Connection_Status = APP_BLE_FAST_ADV;
+
+/* USER CODE BEGIN APP_BLE_Init_2 */
+
+/* USER CODE END APP_BLE_Init_2 */
+ return;
+}
+
+SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
+{
+ /* callback of mesh Library to receive all GAP/GATT events*/
+ HCI_Event_CB(pckt);
+
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+
+ return (SVCCTL_UserEvtFlowEnable);
+}
+
+/*************************************************************
+ *
+ * LOCAL FUNCTIONS
+ *
+ *************************************************************/
+static void Ble_Tl_Init( void )
+{
+ HCI_TL_HciInitConf_t Hci_Tl_Init_Conf;
+
+ Hci_Tl_Init_Conf.p_cmdbuffer = (uint8_t*)&BleCmdBuffer;
+ Hci_Tl_Init_Conf.StatusNotCallBack = BLE_StatusNot;
+ hci_init(BLE_UserEvtRx, (void*) &Hci_Tl_Init_Conf);
+
+ return;
+}
+
+const uint8_t* BleGetBdAddress( void )
+{
+ uint8_t *otp_addr;
+ const uint8_t *bd_addr;
+ uint32_t udn;
+ uint32_t company_id;
+ uint32_t device_id;
+
+ udn = LL_FLASH_GetUDN();
+
+ if(udn != 0xFFFFFFFF)
+ {
+ company_id = LL_FLASH_GetSTCompanyID();
+ device_id = LL_FLASH_GetDeviceID();
+
+/**
+ * Public Address with the ST company ID
+ * bit[47:24] : 24bits (OUI) equal to the company ID
+ * bit[23:16] : Device ID.
+ * bit[15:0] : The last 16bits from the UDN
+ * Note: In order to use the Public Address in a final product, a dedicated
+ * 24bits company ID (OUI) shall be bought.
+ */
+ bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
+ bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
+ bd_addr_udn[2] = (uint8_t)device_id;
+ bd_addr_udn[3] = (uint8_t)(company_id & 0x000000FF);
+ bd_addr_udn[4] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
+ bd_addr_udn[5] = (uint8_t)( (company_id & 0x00FF0000) >> 16 );
+
+ bd_addr = (const uint8_t *)bd_addr_udn;
+ }
+ else
+ {
+ otp_addr = OTP_Read(0);
+ if(otp_addr)
+ {
+ bd_addr = ((OTP_ID0_t*)otp_addr)->bd_address;
+ }
+ else
+ {
+ bd_addr = M_bd_addr;
+ }
+ }
+
+ return bd_addr;
+}
+
+/* USER CODE BEGIN FD_LOCAL_FUNCTION */
+
+/* USER CODE END FD_LOCAL_FUNCTION */
+
+/*************************************************************
+ *
+ *SPECIFIC FUNCTIONS
+ *
+ *************************************************************/
+/* USER CODE BEGIN FD_SPECIFIC_FUNCTIONS */
+
+/* USER CODE END FD_SPECIFIC_FUNCTIONS */
+/*************************************************************
+ *
+ * WRAP FUNCTIONS
+ *
+ *************************************************************/
+void hci_notify_asynch_evt(void* pdata)
+{
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_HCI_ASYNCH_EVT_ID, CFG_SCH_PRIO_0);
+ return;
+}
+
+#if (LOW_POWER_FEATURE == 1)
+static volatile uint8_t HciResponse = 0;
+#endif
+
+void hci_cmd_resp_release(uint32_t flag)
+{
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetEvt(1 << CFG_IDLEEVT_HCI_CMD_EVT_RSP_ID);
+#else
+ HciResponse = 1;
+#endif
+ return;
+}
+
+void hci_cmd_resp_wait(uint32_t timeout)
+{
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_WaitEvt(1 << CFG_IDLEEVT_HCI_CMD_EVT_RSP_ID);
+#else
+ while(HciResponse == 0);
+ HciResponse = 0;
+#endif
+ return;
+}
+
+static void BLE_UserEvtRx( void * pPayload )
+{
+ SVCCTL_UserEvtFlowStatus_t svctl_return_status;
+ tHCI_UserEvtRxParam *pParam;
+
+ pParam = (tHCI_UserEvtRxParam *)pPayload;
+
+ svctl_return_status = SVCCTL_UserEvtRx((void *)&(pParam->pckt->evtserial));
+ if (svctl_return_status != SVCCTL_UserEvtFlowDisable)
+ {
+ pParam->status = HCI_TL_UserEventFlow_Enable;
+ }
+ else
+ {
+ pParam->status = HCI_TL_UserEventFlow_Disable;
+ }
+}
+
+static void BLE_StatusNot( HCI_TL_CmdStatus_t status )
+{
+ uint32_t task_id_list;
+ switch (status)
+ {
+ case HCI_TL_CmdBusy:
+ /**
+ * All tasks that may send an aci/hci commands shall be listed here
+ * This is to prevent a new command is sent while one is already pending
+ */
+ task_id_list = (1 << CFG_LAST_TASK_ID_WITH_HCICMD) - 1;
+ UTIL_SEQ_PauseTask(task_id_list);
+
+ break;
+
+ case HCI_TL_CmdAvailable:
+ /**
+ * All tasks that may send an aci/hci commands shall be listed here
+ * This is to prevent a new command is sent while one is already pending
+ */
+ task_id_list = (1 << CFG_LAST_TASK_ID_WITH_HCICMD) - 1;
+ UTIL_SEQ_ResumeTask(task_id_list);
+
+ break;
+
+ default:
+ break;
+ }
+ return;
+}
+
+void SVCCTL_ResumeUserEventFlow( void )
+{
+ hci_resume_flow();
+ return;
+}
+
+/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
+
+/* USER CODE END FD_WRAP_FUNCTIONS */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.h
new file mode 100644
index 000000000..6fd1b71af
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/app_ble.h
@@ -0,0 +1,76 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef APP_BLE_H
+#define APP_BLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "hci_tl.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+
+typedef enum
+{
+ APP_BLE_IDLE,
+ APP_BLE_FAST_ADV,
+ APP_BLE_LP_ADV,
+ APP_BLE_SCAN,
+ APP_BLE_LP_CONNECTING,
+ APP_BLE_CONNECTED_SERVER,
+ APP_BLE_CONNECTED_CLIENT
+} APP_BLE_ConnStatus_t;
+
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* External variables --------------------------------------------------------*/
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions ---------------------------------------------*/
+void APP_BLE_Init( void );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*APP_BLE_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.c
new file mode 100644
index 000000000..b1f206c0e
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.c
@@ -0,0 +1,358 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config.c
+ * @author MCD Application Team
+ * @brief Config Model APIs callback from ST BLE Mesh Library
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include <string.h>
+#include "hal_common.h"
+#include "ble_mesh.h"
+#include "appli_config.h"
+#include "mesh_cfg.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private define ------------------------------------------------------------*/
+
+/* Private macro -------------------------------------------------------------*/
+
+/* Private variables ---------------------------------------------------------*/
+
+
+/*****************************Config Model Callbacks***************************/
+/**
+* @brief Callback from Config Model to receive the AppKey Add Command
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndex
+* appKey, keySize & status
+* @retval none
+*/
+void Appli_GetAppKeyAddParamsCb(model_securityKeyParams_t* appKeyAddParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"AppKey Add received for netKeyIndex %.2x, appKeyIndex %.2x \r\n",\
+ appKeyAddParams->netKeyIndex, appKeyAddParams->appKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyAddParams->status);
+ /*Success Command*/
+ if(appKeyAddParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"AppKey is: ");
+ for (MOBLEUINT8 count=0 ; count<appKeyAddParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(appKeyAddParams->appKey));
+ appKeyAddParams->appKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey Delete Command
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndex
+* appKey, keySize & status
+* @retval none
+*/
+void Appli_GetAppKeyDeleteParamsCb(model_securityKeyParams_t* appKeyDeleteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"App Key Delete received for netKeyIndex %.2x, appKeyIndex %.2x \r\n",\
+ appKeyDeleteParams->netKeyIndex, appKeyDeleteParams->appKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyDeleteParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey List
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndexes & appKeyListParams Size
+* @retval none
+*/
+void Appli_GetAppKeyListParamsCb(model_appKeyListParams_t* appKeyListParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"App Key List for netKeyIndex %.2x is \r\n", appKeyListParams->netKeyIndex);
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyListParams->status);
+ /*Success*/
+ if(appKeyListParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"AppKey Indexes are: \r\n");
+ for (MOBLEUINT8 count=0 ; count< appKeyListParams->appKeyIndexList_size; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(appKeyListParams->appKeyIndexList));
+ appKeyListParams->appKeyIndexList++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Updated App Key
+* @param Structure Pointer having parameters - netKeyIndex, appKeyIndex
+* appKey, keySize & status
+* @retval none
+*/
+void Appli_GetAppKeyUpdateParamsCb(model_securityKeyParams_t* appKeyUpdatedParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"App Key Update received for netKeyIndex %.2x, appKeyIndex %.2x \r\n",\
+ appKeyUpdatedParams->netKeyIndex, appKeyUpdatedParams->appKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", appKeyUpdatedParams->status);
+
+ /*Success Command*/
+ if(appKeyUpdatedParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Updated AppKey is: ");
+ for (MOBLEUINT8 count=0 ; count<appKeyUpdatedParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(appKeyUpdatedParams->appKey));
+ appKeyUpdatedParams->appKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ TRACE_I(TF_CONFIG_SERVER,"It will be replaced by old appKey after Key Refresh \r\n");
+ }
+
+}
+
+/**
+* @brief Callback from Config Model to receive the NetKey Add Command
+* @param Structure Pointer having parameters - netKeyIndex & netKey
+* @retval none
+*/
+void Appli_GetNetKeyAddParamsCb(model_securityKeyParams_t* netKeyAddParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Net Key Add received for netKeyIndex %.2x \r\n",\
+ netKeyAddParams->netKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyAddParams->status);
+
+ /*Success Command*/
+ if(netKeyAddParams->status == 0x00)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"NetKey is: ");
+ for (MOBLEUINT8 count=0 ; count < netKeyAddParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(netKeyAddParams->netKey));
+ netKeyAddParams->netKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the NetKey Delete Command
+* @param Structure Pointer having parameters - netKeyIndex & netKey
+* @retval none
+*/
+void Appli_GetNetKeyDeleteParamsCb(model_securityKeyParams_t* netKeyDeleteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Net Key Delete received for netKeyIndex %d \r\n",\
+ netKeyDeleteParams->netKeyIndex);
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyDeleteParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the NetKey List
+* @param Structure Pointer having parameters - netKeyIndexes & netKeyListParams Size
+* @retval none
+*/
+void Appli_GetNetKeyListParamsCb(model_netKeyListParams_t* netKeyListParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyListParams->status);
+ TRACE_I(TF_CONFIG_SERVER,"NetKey Indexes are: \r\n");
+ for (MOBLEUINT8 count=0 ; count< netKeyListParams->netKeyIndexList_size; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(netKeyListParams->netKeyIndexList));
+ netKeyListParams->netKeyIndexList++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+}
+
+
+/**
+* @brief Callback from Config Model to receive the Updated NetKey Command
+* @param Structure Pointer having parameters - netKeyIndex & netKey
+* @retval none
+*/
+void Appli_GetNetKeyUpdateParamsCb(model_securityKeyParams_t* netKeyUpdatedParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Net Key Update received for netKeyIndex %d \r\n",\
+ netKeyUpdatedParams->netKeyIndex);
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", netKeyUpdatedParams->status);
+ if(netKeyUpdatedParams->status == 0)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Updated NetKey is:");
+ for (MOBLEUINT8 count=0; count<netKeyUpdatedParams->keySize; count++)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"%.2x", *(netKeyUpdatedParams->netKey));
+ netKeyUpdatedParams->netKey++;
+ }
+ TRACE_I(TF_CONFIG_SERVER," \r\n");
+ TRACE_I(TF_CONFIG_SERVER,"It will be replaced by old netKey after Key Refresh \r\n");
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey binding params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex & modelID
+* @retval none
+*/
+void Appli_GetAppKeyBindingParamsCb(model_appKeyBindingParams_t* appKeyBindParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"AppKey binding received for elementIndex %d, modelID %.2lx,\
+ appKeyIndex %.2x & status %.2x \r\n", appKeyBindParams->elementIndex,\
+ appKeyBindParams->modelID, appKeyBindParams->appKeyIndex, appKeyBindParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the AppKey Unbinding params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex & modelID
+* @retval none
+*/
+void Appli_GetAppKeyUnBindingParamsCb(model_appKeyBindingParams_t* appKeyUnbindParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"AppKey unbinding received for elementIndex %d, modelID %.2lx,\
+ appKeyIndex %.2x & status %.2x \r\n",appKeyUnbindParams->elementIndex,\
+ appKeyUnbindParams->modelID, appKeyUnbindParams->appKeyIndex,\
+ appKeyUnbindParams->status);
+}
+
+/**
+* @brief Callback from Config Model to receive the Subscription Add params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex, modelID
+* subAddress, isVirtual & allSubDeleted
+* @retval none
+*/
+void Appli_GetSubAddParamsCb(model_subParams_t* subAddParams)
+{
+
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", subAddParams->status);
+ if(subAddParams->isVirtual)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Virtual Add received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subAddParams->elementIndex, subAddParams->modelID,\
+ subAddParams->subAddress);
+ }
+
+ else
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Add received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subAddParams->elementIndex, subAddParams->modelID,\
+ subAddParams->subAddress);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Subscription Delete params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex, modelID
+* subAddress, isVirtual & allSubDeleted
+* @retval none
+*/
+void Appli_GetSubDeleteParamsCb(model_subParams_t* subDeleteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", subDeleteParams->status);
+ if(subDeleteParams->isVirtual)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Virtual Add Delete received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subDeleteParams->elementIndex, subDeleteParams->modelID,\
+ subDeleteParams->subAddress);
+
+ }
+
+ else if(subDeleteParams->allSubDeleted)
+ {
+
+ TRACE_I(TF_CONFIG_SERVER,"Delete All Subscription received for elementIndex %d, modelID %.2lx \r\n",\
+ subDeleteParams->elementIndex, subDeleteParams->modelID);
+
+ }
+ else
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Delete received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subDeleteParams->elementIndex, subDeleteParams->modelID,\
+ subDeleteParams->subAddress);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Subscription Overwrite params
+* @param Structure Pointer having parameters - elementIndex, appKeyIndex, modelID
+* subAddress, isVirtual & allSubDeleted
+* @retval none
+*/
+void Appli_GetSubOverwriteParamsCb(model_subParams_t* subOverwriteParams)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", subOverwriteParams->status);
+ if(subOverwriteParams->isVirtual)
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Virtual Overwrite received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subOverwriteParams->elementIndex, subOverwriteParams->modelID,\
+ subOverwriteParams->subAddress);
+
+ }
+
+ else
+ {
+ TRACE_I(TF_CONFIG_SERVER,"Subscription Overwrite received for elementIndex %d, modelID %.2lx & subAddress %.2x \r\n",\
+ subOverwriteParams->elementIndex, subOverwriteParams->modelID,\
+ subOverwriteParams->subAddress);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Publication Parameters
+* @param Structure Pointer having parameters - modelID, elementAddress,
+* Publish Address, PublishPeriod, PublishTTL, Credential Flag,
+* Publish AppKeyIndex, Retransmit Count, Restransmit Interval Steps & status
+* @retval none
+*/
+void Appli_GetPublicationSetParamsCb(model_publicationparams_t* pPubParameters)
+{
+ if(pPubParameters->modelID == SENSOR_SERVER_MODEL_ID)
+ {
+ Sensor_ModelPublishSet(pPubParameters);
+ }
+}
+
+/**
+* @brief Callback from Config Model to receive the Publication Parameters
+* @param Structure Pointer having parameters - modelID, elementAddress,
+* Publish Address, PublishPeriod, PublishTTL, Credential Flag,
+* Publish AppKeyIndex, Retransmit Count, Restransmit Interval Steps & status
+* @retval none
+*/
+void Appli_GetPublicationGetParamsCb(model_publicationparams_t* pPubParameters)
+{
+ TRACE_I(TF_CONFIG_SERVER,"Status is : %.2x \r\n", pPubParameters->status);
+ TRACE_I(TF_CONFIG_SERVER,"Received Publication parameters: credentialFlag = %.2x,\
+ elementAddress = %.2x, modelID = %.2lx, appKeyIndex = %.2x,\
+ publishPeriod = %.2x, publishRetransmitCount = %.2x, publishRetransmitIntervalSteps = %.2x,\
+ publishTTL = %.2x \r\n", pPubParameters->credentialFlag, pPubParameters->elementAddress, pPubParameters->modelID,\
+ pPubParameters->publishAppKeyIndex, pPubParameters->publishPeriod, pPubParameters->publishRetransmitCount,\
+ pPubParameters->publishRetransmitIntervalSteps, pPubParameters->publishTTL);
+}
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.h
new file mode 100644
index 000000000..b33d059fc
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config.h
+ * @author MCD Application Team
+ * @brief Header file for the application config file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_CONFIG_H
+#define __APPLI_CONFIG_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "mesh_cfg.h"
+#include "mesh_cfg_usr.h"
+#include "sensors.h"
+#include "common.h"
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+void Appli_GetAppKeyAddParamsCb(model_securityKeyParams_t*);
+void Appli_GetAppKeyDeleteParamsCb(model_securityKeyParams_t*);
+void Appli_GetAppKeyListParamsCb(model_appKeyListParams_t*);
+void Appli_GetAppKeyUpdateParamsCb(model_securityKeyParams_t*);
+void Appli_GetNetKeyAddParamsCb(model_securityKeyParams_t*);
+void Appli_GetNetKeyDeleteParamsCb(model_securityKeyParams_t*);
+void Appli_GetNetKeyListParamsCb(model_netKeyListParams_t*);
+void Appli_GetNetKeyUpdateParamsCb(model_securityKeyParams_t*);
+void Appli_GetAppKeyBindingParamsCb(model_appKeyBindingParams_t*);
+void Appli_GetAppKeyUnBindingParamsCb(model_appKeyBindingParams_t*);
+void Appli_GetSubAddParamsCb(model_subParams_t*);
+void Appli_GetSubDeleteParamsCb(model_subParams_t*);
+void Appli_GetSubOverwriteParamsCb(model_subParams_t*);
+void Appli_GetPublicationSetParamsCb(model_publicationparams_t*);
+void Appli_GetPublicationGetParamsCb(model_publicationparams_t*);
+
+#endif /* __APPLI_CONFIG_H */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.c
new file mode 100644
index 000000000..30f54770c
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.c
@@ -0,0 +1,1917 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Config CLient Mesh Model
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "mesh_cfg.h"
+#include "appli_nvm.h"
+#include "config_client.h"
+#include "appli_config_client.h"
+#include "appli_mesh.h"
+#include "sensors.h"
+#include "light_lc.h"
+#include "vendor.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+
+#define DEFAULT_GROUP_ADDR 0xC000
+#define DEFAULT_PUBLISH_ADDR 0xC000
+#define DEFAULT_NETKEY_INDEX 0x0000
+#define DEFAULT_APPKEY_INDEX 0x0000
+#define DEFAULT_CREDENTIAL_FLAG 0x00
+#define DEFAULT_PUBLISH_TTL 0x08
+#define DEFAULT_PUBLISH_PERIOD 0x00
+#define DEFAULT_PUBLISH_RETRANSMIT_COUNT 0x00
+#define DEFAULT_PUBLISH_RETRANSMIT_INTERVAL_STEPS 0x00
+
+#define NUM_VENDOR_MODELS_TO_SUBSCRIBE 0
+#define NUM_VENDOR_MODELS_TO_PUBLISH 0
+#define NUM_VENDOR_MODELS_TO_BIND_APP 0
+
+/******************************************************************************/
+#if defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER)
+/******************************************************************************/
+
+const MOBLEUINT8 aConfigAppKeyDefault[19]=
+ { /* NetKeyIndexAndAppKeyIndex : 3B
+ Index of the NetKey and index of the AppKey*/
+ (MOBLEUINT8)(DEFAULT_NETKEY_INDEX & 0x00ff),
+ (MOBLEUINT8)((DEFAULT_NETKEY_INDEX & 0x0f00) >> 8) | (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX & 0x000f) << 4),
+ (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX >>4) & 0xff),
+ /* AppKey is initialised as below = 16B */
+ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 };
+
+
+const MOBLEUINT8 aConfigAppKeyDeleteDefault[3]=
+ { /* NetKeyIndexAndAppKeyIndex : 3B
+ Index of the NetKey and index of the AppKey*/
+ (MOBLEUINT8)(DEFAULT_NETKEY_INDEX & 0x00ff),
+ (MOBLEUINT8)((DEFAULT_NETKEY_INDEX & 0x0f00) >> 8) | (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX & 0x000f) << 4),
+ (MOBLEUINT8) ((DEFAULT_APPKEY_INDEX >>4) & 0xff)};
+
+
+const MOBLEUINT8 aConfigAppKeyGetDefault[2]=
+ { /* NetKeyIndex : 2B
+ Index of the NetKey */
+ (MOBLEUINT8)(DEFAULT_NETKEY_INDEX & 0x00ff),
+ (MOBLEUINT8)((DEFAULT_NETKEY_INDEX & 0x0f00) >> 8) };
+
+const MOBLEUINT8 aNoParamDefaultConfig;
+
+const MOBLEUINT8 aNoInitParamDefault[MAX_CONFIG_PARAM_SIZE]= {0};
+
+/* Private macro -------------------------------------------------------------*/
+
+const MODEL_CONFIG_CLIENT_OpcodeTableParam_t ConfigClient_MessageOpcodes_Table[] = {
+ /* MOBLEUINT16 opcode,
+ MOBLEUINT8 min_payload_size,
+ MOBLEUINT8 max_payload_size;
+ Here in this array, Handler is not defined; */
+
+ /* 4.3.2.37 Config AppKey Add, Opcode = 0x00
+ The Config AppKey Add is an acknowledged message used to add an AppKey
+ to the AppKey List on a node and bind it to the NetKey identified by
+ NetKeyIndex. The added AppKey can be used by the node only as a pair with
+ the specified NetKey.
+ The AppKey is used to authenticate and decrypt messages it receives, as well
+ as authenticate and encrypt messages it sends.
+ The response to a Config AppKey Add message is a Config AppKey Status message.
+
+ message parameters:
+ -------------------
+ NetKeyIndexAndAppKeyIndex: 3B : Index of the NetKey and index of the AppKey
+ AppKey 16B : AppKey value */
+ { OPCODE_CONFIG_APPKEY_ADD, 19, 19, aConfigAppKeyDefault },
+
+ /* 4.3.2.39 Config AppKey Delete, Opcode = 0x80 0x00
+ The Config AppKey Delete is an acknowledged message used to delete an
+ AppKey from the AppKey List on a node.
+ The response to a Config AppKey Delete message is a
+ Config AppKey Status message.
+
+ message parameters:
+ -------------------
+ NetKeyIndexAndAppKeyIndex : 3B : Index of the NetKey and index of the AppKey
+ */
+ { OPCODE_CONFIG_APPKEY_DELETE, 3, 3, aConfigAppKeyDeleteDefault },
+
+ /* 4.3.2.41 Config AppKey Get, Opcode = 0x80 0x01
+ The AppKey Get is an acknowledged message used to report all AppKeys bound
+ to the NetKey.
+ The response to a Config AppKey Get message is a Config AppKey List message */
+ { OPCODE_CONFIG_APPKEY_GET, 2, 2, aConfigAppKeyGetDefault },
+
+ /* 4.3.2.38 Config AppKey Update, Opcode = 0x01
+ The Config AppKey Update is an acknowledged message used to update an
+ AppKey value on the AppKey List on a node. The updated AppKey is used by
+ the node to authenticate and decrypt messages it receives, as well as
+ authenticate and encrypt messages it sends, as defined by the Key Refresh procedure (see Section 3.10.4).
+ The response to an Config AppKey Update message is an Config AppKey Status message.
+
+ message parameters:
+ -------------------
+ NetKeyIndexAndAppKeyIndex: 3B : Index of the NetKey and index of the AppKey
+ AppKey 16B : AppKey value */
+ { OPCODE_CONFIG_APPKEY_UPDATE, 19, 19, aConfigAppKeyDefault },
+
+ /* 4.3.2.1 Config Beacon Get, Opcode = 0x80 0x09
+ The Config Beacon Get is an acknowledged message used to get the current
+ Secure Network Beacon state of a node (see Section 4.2.10).
+ The response to a Config Beacon Get message is a Config Beacon Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_BEACON_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.2 Config Beacon Set, Opcode = 0x80 0x0A
+ The Config Beacon Set is an acknowledged message used to set the
+ Secure Network Beacon state of a node (see Section 4.2.10).
+ The response to a Config Beacon Set message is a Config Beacon Status message.
+ Beacon : 1B: New Secure Network Beacon state*/
+ { OPCODE_CONFIG_BEACON_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.4 Config Composition Data Get, Opcode = 0x80 0x08
+ The Config Composition Data Get is an acknowledged message used to read
+ one page of the Composition Data (see Section 4.2.1).
+ The response to a Config Composition Data Get message is a
+ Config Composition Data Status message.
+ Page : 1B : Page number of the Composition Data */
+ { OPCODE_CONFIG_COMPOSITION_DATA_GET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.16 Config Model Publication Set, Opcode = 0x03
+ The Config Model Publication Set is an acknowledged message used to set the
+ Model Publication state (see Section 4.2.2) of an outgoing message that
+ originates from a model.
+ The response to a Config Model Publication Set message is a
+ Config Model Publication Status message.
+ The Config Model Publication Set message uses a single octet opcode to
+ maximize the size of a payload.
+
+ ElementAddress : 16b : Address of the element
+ PublishAddress : 16b : Value of the publish address
+ AppKeyIndex : 12b : Index of the application key
+ CredentialFlag : 1b : Value of the Friendship Credential Flag
+ RFU : 3b : Reserved for Future Use
+ PublishTTL : 8b : Default TTL value for the outgoing messages
+ PublishPeriod : 8b : Period for periodic status publishing
+ PublishRetransmitCount : 3b : Number of retransmissions for each published message
+ PublishRetransmitIntervalSteps : 5b: Number of 50-millisecond steps between retransmissions
+ ModelIdentifier: 16 or 32b: SIG Model ID or Vendor Model ID
+ */
+
+ { OPCODE_CONFIG_CONFIG_MODEL_PUBLICATION_SET, 11, 13, },
+
+ /* 4.3.2.6 Config Default TTL Get, Opcode = 0x80 0x0C
+ The Config Default TTL Get is an acknowledged message used to get the
+ current Default TTL state of a node.
+ The response to a Config Default TTL Get message is a Config Default TTL Status message.
+ There are no Parameters for this message.
+ */
+ { OPCODE_CONFIG_DEFAULT_TTL_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.7 Config Default TTL Set, Opcode = 0x80 0x0D
+ The Config Default TTL Set is an acknowledged message used to set the
+ Default TTL state of a node (see Section 4.2.7).
+ The response to a Config Default TTL Set message is a
+ Config Default TTL Status message.
+ TTL : 1B : New Default TTL value*/
+ { OPCODE_CONFIG_DEFAULT_TTL_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.55 Config Friend Get, Opcode = 0x80 0x0F
+ The Config Friend Get is an acknowledged message used to get the current
+ Friend state of a node (see Section 4.2.13).
+ The response to a Config Friend Get message is a Config Friend Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_FRIEND_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.56 Config Friend Set, Opcode = 0x80 0x10
+ The Config Friend Set is an acknowledged message used to set the
+ Friend state of a node (see Section 4.2.13).
+ The response to a Config Friend Set message is a Config Friend Status message.
+ Friend : 1B : New Friend state */
+ { OPCODE_CONFIG_FRIEND_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.9 Config GATT Proxy Get, Opcode = 0x80 0x12
+ The Config GATT Proxy Get is an acknowledged message used to get the
+ current GATT Proxy state of a node (see Section 4.2.11).
+ The response to a Config GATT Proxy Get message is a
+ Config GATT Proxy Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_GATT_PROXY_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.10 Config GATT Proxy Set, Opcode = 0x80 0x12
+ The Config GATT Proxy Set is an acknowledged message used to set the
+ GATT Proxy state of a node (see Section 4.2.11).
+ The response to a Config GATT Proxy Set message is a Config GATT Proxy
+ Status message
+ GATTProxy : 1B : New GATT Proxy state */
+ { OPCODE_CONFIG_GATT_PROXY_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.61 Config Heartbeat Publication Get, Opcode = 0x80 0x38
+ The Config Heartbeat Publication Get is an acknowledged message used to get
+ the current Heartbeat Publication state of an element (see Section 4.2.17).
+ The response to a Config Heartbeat Publication Get message is a
+ Config Heartbeat Publication Status message.
+ The message has no parameters.*/
+ { OPCODE_CONFIG_HEARTBEAT_PUBLICATION_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.62 Config Heartbeat Publication Set, Opcode = 0x80 0x39
+ The Config Heartbeat Publication Set is an acknowledged message used to set
+ the current Heartbeat Publication state of an element (see Section 4.2.17).
+ The response to a Config Heartbeat Publication Set message is a
+ Config Heartbeat Publication Status message.
+
+ Destination : 2B : Destination address for Heartbeat messages
+ CountLog : 1B : Number of Heartbeat messages to be sent
+ PeriodLog : 1B : Period for sending Heartbeat messages
+ TTL : 1B : TTL to be used when sending Heartbeat messages
+ Features : 2B : Bit field indicating features that trigger Heartbeat messages when changed
+ NetKeyIndex : 2B : NetKey Index
+ */
+ { OPCODE_CONFIG_HEARTBEAT_PUBLICATION_SET, 9, 9, aNoInitParamDefault },
+
+ /* 4.3.2.64 Config Heartbeat Subscription Get, Opcode = 0x80 0x3A
+ The Config Heartbeat Subscription Get is an acknowledged message used to get
+ the current Heartbeat Subscription state of an element (see Section 4.2.18).
+ The response to a Config Heartbeat Subscription Get message is a
+ Config Heartbeat Subscription Status message.
+ The message has no parameters. */
+ { OPCODE_CONFIG_HEARTBEAT_SUBSCRIPTION_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.65 Config Heartbeat Subscription Set, Opcode = 0x80 0x3B
+ The Config Heartbeat Subscription Set is an acknowledged message used to
+ set the current Heartbeat Subscription state of an element (see Section 4.2.18).
+ The response to a Config Heartbeat Subscription Set message is a
+ Config Heartbeat Subscription Status message.
+
+ Source : 2B : Source address for Heartbeat messages
+ Destination : 2B : Destination address for Heartbeat messages
+ PeriodLog : 1B : Period for receiving Heartbeat messages */
+ { OPCODE_CONFIG_HEARTBEAT_SUBSCRIPTION_SET, 5, 5, aNoInitParamDefault },
+
+ /* 4.3.2.58 Config Key Refresh Phase Get, Opcode = 0x80 0x15
+ The Config Key Refresh Phase Get is an acknowledged message used to get the
+ current Key Refresh Phase state of the identified network key.
+ The response to a Config Key Refresh Phase Get message is a
+ Config Key Refresh Phase Status message.
+ NetKeyIndex : 2B : NetKey Index*/
+ { OPCODE_CONFIG_KEY_REFRESH_PHASE_GET, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.2.59 Config Key Refresh Phase Set, Opcode = 0x80 0x16
+ The Config Key Refresh Phase Set is an acknowledged message used to set the
+ Key Refresh Phase state of the identified network key (see Section 4.2.14).
+ The response to a Config Key Refresh Phase Set message is a
+ Config Key Refresh Phase Status message.
+
+ NetKeyIndex : 2B : NetKey Index
+ Transition : 1B : New Key Refresh Phase Transition */
+ { OPCODE_CONFIG_KEY_REFRESH_PHASE_SET, 3, 3, aNoInitParamDefault },
+
+ /* 4.3.2.67 Config Low Power Node PollTimeout Get, Opcode = 0x80 0x2D
+ The Config Low Power Node PollTimeout Get is an acknowledged message used
+ to get the current value of PollTimeout timer of the Low Power node within
+ a Friend node (see Section 3.6.6.1). The message is sent to a Friend node
+ that has claimed to be handling messages by sending ACKs On Behalf Of (OBO)
+ the indicated Low Power node. This message should only be sent to a node
+ that has the Friend feature supported and enabled.
+ The response to a Config Low Power Node PollTimeout Get message is a
+ Config Low Power Node PollTimeout Status message.
+
+ LPNAddress : 2B : The unicast address of the Low Power node */
+ { OPCODE_CONFIG_LOW_POWER_NODE_POLLTIMEOUT_GET, 2, 2, aNoInitParamDefault },
+
+
+ /* 4.3.3.12 Health Attention Get
+ The Health Attention Get is an acknowledged message used to get the current
+ Attention Timer state of an element (see Section 4.2.9).
+ The response to a Health Attention Get message is an Attention Status message.
+ There are no Parameters for this message.*/
+ { OPCODE_HEALTH_ATTENTION_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.3.13 Health Attention Set
+ The Health Attention Set is an acknowledged message used to set the
+ Attention Timer state of an element (see Section 4.2.9).
+ The response to a Health Attention Set message is a
+ Health Attention Status message
+ Attention: 1B: Value of the Attention Timer state*/
+ { OPCODE_HEALTH_ATTENTION_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.3.14 Health Attention Set Unacknowledged
+ The Health Attention Set Unacknowledged is an unacknowledged message used
+ to set the Attention Timer state of an element (see Section 4.2.9). */
+ { OPCODE_HEALTH_ATTENTION_SET_UNACKNOWLEDGED, 1, 1, aNoInitParamDefault },
+
+
+
+
+
+
+ /* 4.3.2.15 Config Model Publication Get
+ The Config Model Publication Get is an acknowledged message used to get the
+ publish address and parameters of an outgoing message that originates
+ from a model.
+ The response to a Config Model Publication Get message is a
+ Config Model Publication Status message.
+
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 2 or 4B : SIG Model ID or Vendor Model ID
+ */
+ { OPCODE_CONFIG_MODEL_PUBLICATION_GET, 4, 6, aNoInitParamDefault },
+
+ /* 4.3.2.17 Config Model Publication Virtual Address Set
+ The Config Model Publication Virtual Address Set is an acknowledged message
+ used to set the model Publication state (see Section 4.2.2) of an
+ outgoing message that originates from a model.
+ The response to a Config Model Publication Virtual Address Set message is
+ a Config Model Publication Status message.
+
+ ElementAddress : 16b : Address of the element
+ PublishAddress : 128b : Value of the Label UUID publish address
+ AppKeyIndex : 12b : Index of the application key
+ CredentialFlag : 1b : Value of the Friendship Credential Flag
+ RFU : 3b : Reserved for Future Use
+ PublishTTL : 8b : Default TTL value for the outgoing messages
+ PublishPeriod : 8b : Period for periodic status publishing
+ PublishRetransmitCount : 3b : Number of retransmissions for each published message
+ PublishRetransmitIntervalSteps : 5b: Number of 50-millisecond steps between retransmissions
+ ModelIdentifier: 16 or 32b: SIG Model ID or Vendor Model ID
+ */
+ { OPCODE_CONFIG_MODEL_PUBLICATION_VIRTUAL_ADDRESS_SET, 25, 27, aNoInitParamDefault },
+
+ /* 4.3.2.19 Config Model Subscription Add
+ The Config Model Subscription Add is an acknowledged message used to add an
+ address to a Subscription List of a model (see Section 4.2.3).
+
+ The response to a Config Model Subscription Add message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ address : 2B : Value of the address
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID
+*/
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_ADD, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.21 Config Model Subscription Delete
+ The Config Model Subscription Delete is an acknowledged message used to
+ delete a subscription address from the Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Delete message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ address : 2B : Value of the address
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID
+ */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_DELETE, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.25 Config Model Subscription Delete All
+ The Config Model Subscription Delete All is an acknowledged message used to
+ discard the Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Delete All message is a
+ Config Model Subscription Status message.
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_DELETE_ALL, 4, 6, aNoInitParamDefault },
+
+ /* 4.3.2.23 Config Model Subscription Overwrite
+ The Config Model Subscription Overwrite is an acknowledged message used to
+ discard the Subscription List and add an address to the
+ cleared Subscription List of a model (see Section 4.2.3).
+
+ The response to a Config Model Subscription Overwrite message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ address : 2B : Value of the address
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_OVERWRITE, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.20 Config Model Subscription Virtual Address Add
+ The Config Model Subscription Virtual Address Add is an acknowledged message
+ used to add an address to a Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Virtual Address Add message is a
+ Config Model Subscription Status message.
+
+ ElementAddress : 2B : Address of the element
+ Label : 16B : Value of the Label UUID
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_ADD, 20, 22, aNoInitParamDefault },
+
+ /* 4.3.2.22 Config Model Subscription Virtual Address Delete
+ The Config Model Subscription Virtual Address Delete is an acknowledged
+ message used to delete a subscription address from the
+ Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Virtual Address Delete message
+ is a Config Model Subscription Status message.
+ ElementAddress : 2B : Address of the element
+ Address : 16B : Value of the Label UUID
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_DELETE, 20, 22, aNoInitParamDefault },
+
+ /* 4.3.2.24 Config Model Subscription Virtual Address Overwrite
+ The Config Model Subscription Virtual Address Overwrite is an acknowledged
+ message used to discard the Subscription List and add an address to the
+ cleared Subscription List of a model (see Section 4.2.3).
+ The response to a Config Model Subscription Virtual Address Overwrite
+ message is a Config Model Subscription Status message.
+ Element Address : 2B : Address of the element
+ Address : 16B : Value of the Label UUID
+ ModelIdentifier : 2B or 4B : SIG Model ID or Vendor Model ID */
+
+ { OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_OVERWRITE, 20, 22, aNoInitParamDefault },
+
+ /* 4.3.2.69 Config Network Transmit Get
+ The Config Network Transmit Get is an acknowledged message used to get the
+ current Network Transmit state of a node (see Section 4.2.19).
+ The response to a Config Network Transmit Get message is a Config Network
+ Transmit Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_NETWORK_TRANSMIT_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.70 Config Network Transmit Set
+ The Config Network Transmit Set is an acknowledged message used to set the
+ Network Transmit state of a node (see Section 4.2.19).
+ The response to a Config Network Transmit Set message is a Config Network
+ Transmit Status message.
+
+ NetworkTransmitCount : 3b : Number of transmissions for each Network PDU originating from the node
+ NetworkTransmitIntervalSteps : 5b : Number of 10-millisecond steps between transmissions
+ */
+ { OPCODE_CONFIG_NETWORK_TRANSMIT_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.2.12 Config Relay Get
+ The Config Relay Get is an acknowledged message used to get the
+ current Relay (see Section 4.2.8) and Relay Retransmit (see Section 4.2.20)
+ states of a node.
+ The response to a Config Relay Get message is a Config Relay Status message.
+ There are no Parameters for this message.*/
+ { OPCODE_CONFIG_RELAY_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.13 Config Relay Set
+ The Config Relay Set is an acknowledged message used to set the Relay
+ (see Section 4.2.8) and Relay Retransmit (see Section 4.2.20) states of a node.
+ The response to a Config Relay Set message is a Config Relay Status message.
+ Relay : 8 bits : Relay
+ RelayRetransmitCount : 3b : Number of retransmissions on advertising bearer for each Network PDU relayed by the node
+ RelayRetransmitIntervalSteps : 5b : Number of 10-millisecond steps between retransmissions
+ */
+ { OPCODE_CONFIG_RELAY_SET, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.2.27 Config SIG Model Subscription Get
+ The Config SIG Model Subscription Get is an acknowledged message used to
+ get the list of subscription addresses of a model within the element.
+ This message is only for SIG Models.
+ The response to a Config SIG Model Subscription Get message is a Config SIG
+ Model Subscription List message.
+ Element Address : 2B : Address of the element
+ ModelIdentifier : 2B : SIG Model ID */
+
+ { OPCODE_CONFIG_SIG_MODEL_SUBSCRIPTION_GET, 4, 4, aNoInitParamDefault },
+
+ /* 4.3.2.29 Config Vendor Model Subscription Get
+ The Config Vendor Model Subscription Get is an acknowledged message used to
+ get the list of subscription addresses of a model within the element.
+ This message is only for Vendor Models.
+ The response to a Config Vendor Model Subscription Get message is a
+ Config Vendor Model Subscription List message.
+ Element Address : 2B : Address of the element
+ ModelIdentifier : 4B : Vendor Model ID */
+
+ { OPCODE_CONFIG_VENDOR_MODEL_SUBSCRIPTION_GET, 6, 6, aNoInitParamDefault },
+
+
+ /* 4.3.3.4 Health Fault Clear
+ The Health Fault Clear is an acknowledged message used to clear the current
+ Registered Fault state identified by Company ID of an element
+ (see Section 4.2.15.2).
+ The response to a Health Fault Clear message is a Health Fault Status message */
+ { OPCODE_HEALTH_FAULT_CLEAR, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.3.3 Health Fault Clear Unacknowledged
+ The Health Fault Clear Unacknowledged is an unacknowledged message used to
+ clear the current Registered Fault state identified by Company ID of an
+ element (see Section 4.2.15.2).
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+
+ { OPCODE_HEALTH_FAULT_CLEAR_UNACKNOWLEDGED, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.3.2 Health Fault Get
+ The Health Fault Get is an acknowledged message used to get the current
+ Registered Fault state identified by Company ID of an element
+ (see Section 4.2.15.2).
+ The response to a Health Fault Get message is a Health Fault Status message
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+ { OPCODE_HEALTH_FAULT_GET, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.3.5 Health Fault Test
+ The Health Fault Test is an acknowledged message used to invoke a
+ self-test procedure of an element.
+ The procedure is implementation specific and may result in changing the
+ Health Fault state of an element (see Section 4.2.15).
+ The response to a Health Fault Test message is a Health Fault Status message.
+
+ Test ID : 1B : Identifier of a specific test to be performed
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+ { OPCODE_HEALTH_FAULT_TEST, 3, 3, aNoInitParamDefault },
+
+ /* 4.3.3.6 Health Fault Test Unacknowledged
+ The Health Fault Test Unacknowledged is an unacknowledged message used to
+ invoke a self-test procedure of an element. The procedure is implementation
+ specific and may result in changing the Health Fault state of an element
+ (see Section 4.2.15).
+
+ Test ID : 1B : Identifier of a specific test to be performed
+ Company ID : 2B : 16-bit Bluetooth assigned Company Identifier */
+ { OPCODE_HEALTH_FAULT_TEST_UNACKNOWLEDGED, 3, 3, aNoInitParamDefault },
+
+ /* 4.3.3.8 Health Period Get
+ The Health Period Get is an acknowledged message used to get the
+ current Health Fast Period Divisor state of an element (see Section 4.2.16).
+ The response to a Health Period Get message is a Health Period Status message.
+ There are no parameters for this message. */
+ { OPCODE_HEALTH_PERIOD_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.3.10 Health Period Set
+ The Health Period Set is an acknowledged message used to set the current
+ Health Fast Period Divisor state of an element (see Section 4.2.16).
+ The response to a Health Period Set message is a Health Period Status message
+
+ FastPeriodDivisor : 1B: Divider for the Publish Period.
+ Modified Publish Period is used for sending Current */
+ { OPCODE_HEALTH_PERIOD_SET, 1, 1, aNoInitParamDefault },
+
+ /* 4.3.3.9 Health Period Set Unacknowledged
+ The Health Period Set Unacknowledged is an unacknowledged message used to
+ set the current Health Fast Period Divisor state of an element
+ (see Section 4.2.16).
+
+ FastPeriodDivisor : 1B: Divider for the Publish Period.
+ Modified Publish Period is used for sending Current
+ Health Status messages when there are active faults to communicate */
+ { OPCODE_HEALTH_PERIOD_SET_UNACKNOWLEDGED, 1, 1, aNoInitParamDefault },
+ /* { OPCODE_HEALTH_PERIOD_STATUS 0x8037 */
+
+
+
+ /* 4.3.2.46 Config Model App Bind
+ The Config Model App Bind is an acknowledged message used to bind an
+ AppKey to a model.
+ The response to a Config Model App Bind message is a
+ Config Model App Status message.
+
+ ElementAddress : 2B : Address of the element
+ AppKeyIndex : 2B : Index of the AppKey
+ ModelIdentifier : 2 or 4: SIG Model ID or Vendor Model ID */
+
+ { OPCODE_CONFIG_MODEL_APP_BIND, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.47 Config Model App Unbind
+ The Config Model App Unbind is an acknowledged message used to remove the
+ binding between an AppKey and a model.
+ The response to a Config Model App Unbind message is a Config Model App Status message.
+
+
+ ElementAddress : 2B : Address of the element
+ AppKeyIndex : 2B : Index of the AppKey
+ ModelIdentifier : 2 or 4: SIG Model ID or Vendor Model ID */
+ { OPCODE_CONFIG_MODEL_APP_UNBIND, 6, 8, aNoInitParamDefault },
+
+ /* 4.3.2.31 Config NetKey Add
+ The Config NetKey Add is an acknowledged message used to add a NetKey
+ to a NetKey List (see Section 4.2.4) on a node.
+ The added NetKey is then used by the node to authenticate and decrypt messages it receives, as well as authenticate and encrypt messages it sends.
+ The response to a Config NetKey Add message is a Config NetKey Status message.
+ NetKeyIndex : 2B
+ NetKey : 16B NetKey */
+ { OPCODE_CONFIG_NETKEY_ADD, 18, 18, aNoInitParamDefault },
+
+ /* 4.3.2.33 Config NetKey Delete
+ The Config NetKey Delete is an acknowledged message used to delete a NetKey
+ on a NetKey List from a node.
+ The response to a Config NetKey Delete message is a
+ Config NetKey Status message.
+ NetKeyIndex : 2B */
+ { OPCODE_CONFIG_NETKEY_DELETE, 2, 2, aNoInitParamDefault },
+
+ /* 4.3.2.35 Config NetKey Get
+ The Config NetKey Get is an acknowledged message used to report all NetKeys
+ known to the node.
+ The response to a Config NetKey Get message is a Config NetKey List message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_NETKEY_GET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.32 Config NetKey Update
+ The Config NetKey Update is an acknowledged message used to update a NetKey
+ on a node. The updated NetKey is then used by the node to authenticate and
+ decrypt messages it receives, as well as authenticate and encrypt messages
+ it sends, as defined by the Key Refresh procedure (see Section 3.10.4).
+ The response to a Config NetKey Update message is a Config NetKey Status message.
+ NetKeyIndex : 2B : Index of the NetKey
+ NetKey : 16B : NetKey */
+ { OPCODE_CONFIG_NETKEY_UPDATE, 18, 18, aNoInitParamDefault},
+
+ /* 4.3.2.43 Config Node Identity Get
+ The Config Node Identity Get is an acknowledged message used to get the
+ current Node Identity state for a subnet (see Section 4.2.12).
+ The response to a Config Node Identity Get message is a
+ Config Node Identity Status message.
+
+ NetKeyIndex : 2B : Index of the NetKey */
+ { OPCODE_CONFIG_NODE_IDENTITY_GET, 2, 2, aNoInitParamDefault},
+
+ /* 4.3.2.44 Config Node Identity Set
+ The Config Node Identity Set is an acknowledged message used to set the
+ current Node Identity state for a subnet (see Section 4.2.12).
+ The response to a Config Node Identity Set message is a
+ Config Node Identity Status message.
+
+ NetKeyIndex : 2B : Index of the NetKey
+ Identity : 1B : New Node Identity state */
+ { OPCODE_CONFIG_NODE_IDENTITY_SET, 3, 3, aNoInitParamDefault},
+
+ /* 4.3.2.53 Config Node Reset
+ The Config Node Reset is an acknowledged message used to reset a node
+ (other than a Provisioner) and remove it from the network.
+ The response to a Config Node Reset message is a Config Node Reset
+ Status message.
+ There are no Parameters for this message. */
+ { OPCODE_CONFIG_NODE_RESET, 0, 0, aNoInitParamDefault },
+
+ /* 4.3.2.49 Config SIG Model App Get
+ The Config SIG Model App Get is an acknowledged message used to request
+ report of all AppKeys bound to the SIG Model.
+ The response to a Config SIG Model App Get message is a Config SIG Model
+ App List message.
+
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 2B : SIG Model ID */
+ { OPCODE_CONFIG_SIG_MODEL_APP_GET, 4, 4, aNoInitParamDefault },
+
+ /* 4.3.2.51 Config Vendor Model App Get
+ The Config Vendor Model App Get is an acknowledged message used to request
+ report of all AppKeys bound to the model. This message is only for Vendor Models.
+ The response to a Config Vendor Model App Get message is a Config Vendor Model App List message
+
+ ElementAddress : 2B : Address of the element
+ ModelIdentifier : 4B : Vendor Model ID */
+ { OPCODE_CONFIG_VENDOR_MODEL_APP_GET, 6, 6, aNoInitParamDefault },
+
+};
+/* Private variables ---------------------------------------------------------*/
+
+eClientSendMsgState_t eClientSendMsgState; /* Keeps the state of Sent Message */
+eServerRespRecdState_t eServerRespRecdState; /* Keeps the state of Received Message */
+
+/* Private function prototypes -----------------------------------------------*/
+MOBLEUINT8 AppliConfigClient_SendMessageDefault(MOBLEUINT8 elementIdx);
+
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief This function is callback from library after the Provisioning is
+ completed by embedded Provisioner
+* @param prvState: Provisioning State of the Node. Expecting "1" when the
+ provisioning is completed
+* @retval None
+*/
+void Appli_ConfigClientStartNodeConfiguration(MOBLEUINT8 prvState)
+{
+ if (prvState==1 )
+ {
+ Appli_ConfigClient_Init();
+ eClientSendMsgState = ProvisioningDone_State;
+ NodeInfo.nodePrimaryAddress = GetAddressToConfigure();
+ }
+}
+
+
+/**
+* @brief This function is Init function for the state machine of the
+ Configuration Client. The Function shall be called every time a new
+ node is provisioned
+* @param None
+* @retval None
+*/
+MOBLE_RESULT Appli_ConfigClient_Init(void)
+{
+ eClientSendMsgState = ClientIdle_State; /* Init the value of state machine */
+ eServerRespRecdState = NodeIdle_State; /* Init the value of state machine */
+ ConfigClient_ResetTrials();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_ConfigClient_Process: This function is Process function and
+ shall be called from while(1) loop
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_Process(void)
+{
+
+ Appli_ConfigClient_ConfigureNode();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief This function is used to configure the Node after provisioning
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_ConfigureNode(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT32 nowClockTime;
+
+ /*
+ State response called function
+ --------------------------------------------------------------------------------
+ ClientIdle_State X None
+ ProvisioningDone_State X Start the configuration
+ CompositionGet_State ConfigRespInit_State GetComposition
+ CompositionGet_State CompositionRecd_State ChangeThe State to next
+ AppKeyAdd_State X Issue AppKey
+ AppKeyAdd_State AppkeyAck_State ChangeThe State to next
+ AppBindModel_State X Issue AppKetBind
+ AppBindModel_State AppBindModelAck_State ChangeThe State to next
+ AddSubscription_State X Issue the Subscription
+ AddSubscription_State SubscriptionAck_State ChangeThe State to next
+ SetPublication_State PublicationStatus_State Issue the Subscription
+ SetPublication_State PublicationStatus_State ChangeThe State to next
+
+ */
+
+ /* If the Node is already configured, return from here */
+ if (eClientSendMsgState == ConfigurationDone_State)
+ return result;
+
+ if (eClientSendMsgState == ClientIdle_State)
+ {
+ /* Waiting for the Provisioning to be done before to Start the
+ node configuration procedure */
+ return result;
+ }
+
+ if (eServerRespRecdState == NodeNoResponse_State)
+ {
+ /* No Response received from Node under Provisioning for some config
+ messages. So, no need to do the trials */
+ return MOBLE_RESULT_FAIL;
+ }
+
+ if (eClientSendMsgState == ProvisioningDone_State)
+ {
+ /* Start the node configuration procedure */
+ eClientSendMsgState = CompositionGet_State;
+ ConfigClient_SaveMsgSendingTime();
+ }
+
+ else if (eClientSendMsgState == CompositionGet_State)
+ {
+ nowClockTime = Clock_Time();
+ if( (nowClockTime - NodeInfo.Initial_time) < CONFIGURATION_START_DELAY)
+ {
+ return result;
+ }
+ /*------------- Add the delay before to start the configuration messages */
+
+ if (eServerRespRecdState == CompositionRecdCompleted_State)
+ {
+ eClientSendMsgState = AppKeyAdd_State; /* Change the state to Next */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the GetComposition servicing */
+ Appli_ConfigClient_GetCompositionData();
+ }
+ }
+
+ else if (eClientSendMsgState == AppKeyAdd_State)
+ {
+ if (eServerRespRecdState == AppkeyAckCompleted_State)
+ {
+ eClientSendMsgState = AppBindModel_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the AppKeyAdd servicing */
+ Appli_ConfigClient_DefaultAppKeyAdd();
+ }
+ }
+
+ else if (eClientSendMsgState == AppBindModel_State)
+ {
+ if (eServerRespRecdState == AppBindModelAckCompleted_State)
+ {
+ eClientSendMsgState = AddSubscription_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the AppKeyBIND servicing */
+ Appli_ConfigClient_DefaultAppKeyBind();
+ }
+ }
+
+ else if (eClientSendMsgState == AddSubscription_State)
+ {
+ if (eServerRespRecdState == SubscriptionAckCompleted_State)
+ {
+ eClientSendMsgState = SetPublication_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ }
+ else
+ {
+ /* Continue the Subscription add servicing */
+ AppliConfigClient_SubscriptionAddDefault();
+ }
+ }
+
+ else if (eClientSendMsgState == SetPublication_State)
+ {
+ if (eServerRespRecdState == PublicationStatusCompleted_State)
+ {
+ eClientSendMsgState = ConfigurationDone_State; /* Change the send state */
+ eServerRespRecdState = NodeIdle_State;
+ TRACE_M(TF_CONFIG_CLIENT,"**Node is configured** \r\n");
+ }
+ else
+ {
+ /* Continue the Publication add servicing */
+ AppliConfigClient_PublicationSetDefault();
+ }
+ }
+
+ return result;
+}
+
+
+/**
+* @brief This function is called to Get the Composition data from the
+* a node under configuration
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_GetCompositionData (void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+ MOBLEUINT16 dst_peer;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+
+ ConfigClient_SaveMsgSendingTime();
+
+ dst_peer = GetAddressToConfigure();
+
+ /* Start the Get Composition Message */
+ ConfigClient_CompositionDataGet(dst_peer);
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ break;
+
+ case CompositionRecd_State:
+ /* Switch the state to next state AddAppKey_State */
+ ConfigClient_ResetTrials();
+ eServerRespRecdState = CompositionRecdCompleted_State;
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeIdle_State; /* Run next re-trial cycle again */
+ }
+
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief Appli_ConfigClient_DefaultAppKeyAdd: This function is called to
+ add the default AppKeys and NetKeys to a node under configuration
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyAdd (void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+ MOBLEUINT8 *pAppKey;
+ MOBLEUINT16 netKeyIndex = DEFAULT_NETKEY_INDEX;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLE_ADDRESS dst_addr;
+
+ pAppKey = GetNewProvNodeAppKey();
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ ConfigClient_SaveMsgSendingTime();
+
+ dst_addr = GetAddressToConfigure();
+
+ /* Start the Set Appkey message */
+ ConfigClient_AppKeyAdd ( dst_addr,
+ netKeyIndex,
+ appKeyIndex,
+ pAppKey);
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ break;
+
+ case AppkeyAck_State:
+ ConfigClient_ResetTrials();
+ eServerRespRecdState = AppkeyAckCompleted_State;
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeIdle_State; /* Run next re-trial cycle again */
+ }
+
+ break;
+
+ default:
+ /* Error State */
+ break;
+}
+
+ return result;
+}
+
+
+/**
+* @brief Appli_ConfigClient_DefaultAppKeyBind: This function is application used for
+ function to Bind the element(node) with AppKeyIndex and Models
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyBind (void)
+{
+ static MOBLEUINT32 modelIdentifier;
+ static MOBLEUINT8 elementIndex;
+ static MOBLEUINT8 indexSIGmodels;
+ static MOBLEUINT8 indexVendormodels;
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+
+ MOBLEUINT8 numSIGmodels;
+ MOBLEUINT8 numVendorModels;
+ MOBLEUINT8 numofElements;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ /* Start the AppBindModel_State message */
+ elementIndex = 0; /* Initialize it for the complete loop */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ case NodeNextSigModel_State:
+ numSIGmodels = GetCountSIGModelToBindApp(elementIndex);
+ modelIdentifier = GetSIGModelToBindApp(elementIndex,
+ &indexSIGmodels,
+ numSIGmodels);
+
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeNextVendorModel_State:
+ modelIdentifier = GetVendorModelToBindApp(elementIndex,indexVendormodels );
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeSendMessage_State:
+ /* Start the AppBindModel_State message */
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+
+ ConfigClient_SaveMsgSendingTime();
+
+ /* Send the Message to the server */
+ ConfigClient_ModelAppBind (elementAddress, appKeyIndex, modelIdentifier);
+ break;
+
+ case AppBindModelAck_State:
+ /* Need to check if all SIG Models are binded ? */
+
+ ConfigClient_ResetTrials();
+
+ numSIGmodels = GetCountSIGModelToBindApp(elementIndex);
+ numVendorModels = GetCountVendorModelToBindApp(elementIndex);
+
+ if (indexSIGmodels < numSIGmodels )
+ { /* Even when all SIG Models are serviced, we need to start for Vendor Models */
+ indexSIGmodels++;
+ indexVendormodels =0; /* Reset back, bcoz, we are still process the SIG Models */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ indexVendormodels++; /* When SIG Models and Vendor Models are processed
+ the loop condition will become true */
+ }
+
+ if (indexSIGmodels < numSIGmodels )
+ {/* if index is still less, then we have scope of reading 1 more index */
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ /* Switch to InProgress_State */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ /*Now, do binding for Vendor Model */
+ eServerRespRecdState = NodeNextVendorModel_State;
+ }
+ else
+ {
+ /* Now, the element index is handled, change the element index */
+ elementIndex++;
+ numofElements = ConfigClient_GetNodeElements();
+ if (elementIndex >= numofElements)
+ {/* we are comparing Index whose counting started from 0, becomes equal,
+ then exit the loop */
+
+ eServerRespRecdState = AppBindModelAckCompleted_State;
+ }
+ else if (elementIndex < numofElements)
+ { /* When the Element Index is still less than the total number of
+ elements in the Node: So, Restart the cycle */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ }
+ }
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeSendMessage_State; /* Run next re-trial cycle again */;
+ }
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_SubscriptionAddDefault: This function is application
+ used for adding subscription to the element(node) for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_SubscriptionAddDefault (void)
+{
+ static MOBLEUINT32 modelIdentifier;
+ static MOBLEUINT16 elementAddress;
+ static MOBLEUINT8 elementIndex;
+ static MOBLEUINT8 indexSIGmodels;
+ static MOBLEUINT8 indexVendormodels;
+ MOBLEUINT8 numSIGmodels;
+ MOBLEUINT8 numVendorModels;
+ MOBLEUINT8 numofElements;
+ MOBLEUINT16 address = DEFAULT_GROUP_ADDR;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ /* Start the SubscriptionAdd message */
+
+ elementIndex = 0; /* Initialize it for the complete loop */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ case NodeNextSigModel_State:
+ numSIGmodels = GetCountSIGModelToSubscribe(elementIndex);
+ modelIdentifier = GetSIGModelToSubscribe(elementIndex,
+ &indexSIGmodels,
+ numSIGmodels);
+
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeNextVendorModel_State:
+ modelIdentifier = GetVendorModelToSubscribe(elementIndex,indexVendormodels );
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeSendMessage_State:
+ elementAddress = GetServerElementAddress(elementIndex);
+ ConfigClient_SaveMsgSendingTime();
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ ConfigClient_SubscriptionAdd (elementAddress, address, modelIdentifier);
+
+ break;
+
+
+ case SubscriptionAck_State:
+ /* Need to check if all SIG Models are subscribed ? */
+ ConfigClient_ResetTrials();
+
+ numSIGmodels = GetCountSIGModelToSubscribe(elementIndex);
+ numVendorModels = GetCountVendorModelToSubscribe(elementIndex);
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ if (indexSIGmodels < numSIGmodels )
+ { /* Even when all SIG Models are serviced, we need to start for Vendor Models */
+ indexSIGmodels++;
+ indexVendormodels =0; /* Reset back, bcoz, we are still process the SIG Models */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ indexVendormodels++; /* When SIG Models and Vendor Models are processed
+ the loop condition will become true */
+ }
+
+ if (indexSIGmodels < numSIGmodels )
+ {/* if index is still less, then we have scope of reading 1 more index */
+
+ /* Get the Next Model and Bind it again till all SIG Models are binded */
+ eServerRespRecdState = NodeNextSigModel_State;
+
+ }
+ else if (indexVendormodels < numVendorModels)
+{
+ eServerRespRecdState = NodeNextVendorModel_State;
+ }
+ else
+ {
+ /* Now, the element index is handled, change the element index */
+ elementIndex++;
+ numofElements = ConfigClient_GetNodeElements();
+ if (elementIndex == numofElements)
+ {/* we are comparing Index whose counting started from 0, becomes equal,
+ then exit the loop */
+ eServerRespRecdState = SubscriptionAckCompleted_State;
+ }
+ else if (elementIndex < numofElements)
+ { /* When the Element Index is still less than the total number of
+ elements in the Node: So, Restart the cycle */
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ indexSIGmodels =0; /* Reset the variable again for the next element */
+ indexVendormodels = 0;
+ }
+ }
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeSendMessage_State; /* Run next re-trial cycle again */;
+ }
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_PublicationSetDefault: This function is application
+ used for adding publication settings to the element(node)
+ for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_PublicationSetDefault (void)
+{
+ MOBLEUINT16 publishAddress = DEFAULT_PUBLISH_ADDR;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLEUINT8 credentialFlag = DEFAULT_CREDENTIAL_FLAG;
+ MOBLEUINT8 publishTTL = DEFAULT_PUBLISH_TTL;
+ MOBLEUINT8 publishPeriod = DEFAULT_PUBLISH_PERIOD;
+ MOBLEUINT8 publishRetransmitCount = DEFAULT_PUBLISH_RETRANSMIT_COUNT;
+ MOBLEUINT8 publishRetransmitIntervalSteps= DEFAULT_PUBLISH_RETRANSMIT_INTERVAL_STEPS;
+
+ static MOBLEUINT16 elementAddress;
+ static MOBLEUINT32 modelIdentifier;
+ static MOBLEUINT8 elementIndex;
+ static MOBLEUINT8 indexSIGmodels;
+ static MOBLEUINT8 indexVendormodels;
+ MOBLEUINT8 numSIGmodels;
+ MOBLEUINT8 numVendorModels;
+ MOBLEUINT8 numofElements;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 retry;
+
+ switch(eServerRespRecdState)
+ {
+ case NodeIdle_State:
+ /* Start the Publication Add message */
+
+ elementIndex = 0; /* Initialize it for the complete loop */
+ indexSIGmodels = 0; /* Initialize it for the complete loop */
+ indexVendormodels = 0;
+
+ case NodeNextSigModel_State:
+ numSIGmodels = GetCountSIGModelToPublish(elementIndex);
+ modelIdentifier = GetSIGModelToPublish(elementIndex,
+ &indexSIGmodels,
+ numSIGmodels);
+
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+ case NodeNextVendorModel_State:
+ modelIdentifier = GetVendorModelToPublish(elementIndex,indexVendormodels);
+ /* Switch to NodeSendMessage_State */
+ eServerRespRecdState = NodeSendMessage_State;
+ break;
+
+
+ case NodeSendMessage_State:
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ ConfigClient_SaveMsgSendingTime();
+
+ /* Switch to InProgress_State */
+ eServerRespRecdState = InProgress_State;
+ ConfigClient_PublicationSet(elementAddress,
+ publishAddress,
+ appKeyIndex,
+ credentialFlag,
+ publishTTL,
+ publishPeriod,
+ publishRetransmitCount,
+ publishRetransmitIntervalSteps,
+ modelIdentifier);
+
+ break;
+
+
+ case PublicationStatus_State:
+ /* Need to check if all SIG Models are subscribed ? */
+ ConfigClient_ResetTrials();
+
+ numSIGmodels = GetCountSIGModelToPublish(elementIndex);
+ numVendorModels = GetCountVendorModelToPublish(elementIndex);
+ elementAddress = GetServerElementAddress(elementIndex);
+
+ if (indexSIGmodels < numSIGmodels )
+ { /* Even when all SIG Models are serviced, we need to start for Vendor Models */
+ indexSIGmodels++;
+ indexVendormodels =0; /* Reset back, bcoz, we are still process the SIG Models */
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ indexVendormodels++; /* When SIG Models and Vendor Models are processed
+ the loop condition will become true */
+ }
+
+
+ if (indexSIGmodels < numSIGmodels )
+ {/* if index is still less, then we have scope of reading 1 more index */
+ eServerRespRecdState = NodeNextSigModel_State;
+ }
+ else if (indexVendormodels < numVendorModels)
+ {
+ eServerRespRecdState = NodeNextVendorModel_State;
+ }
+ else
+ {
+ /* Now, the element index is handled, change the element index */
+ elementIndex++;
+ numofElements = ConfigClient_GetNodeElements();
+
+ if (elementIndex == numofElements)
+ {/* we are comparing Index whose counting started from 0, becomes equal,
+ then exit the loop */
+ eServerRespRecdState = PublicationStatusCompleted_State;
+ }
+ else if (elementIndex < numofElements)
+ { /* When the Element Index is still less than the total number of
+ elements in the Node: So, Restart the cycle */
+
+ eServerRespRecdState = NodeNextSigModel_State;
+ indexSIGmodels =0; /* Reset the variable again for the next element */
+ indexVendormodels = 0;
+ }
+ }
+ break;
+
+ case InProgress_State:
+ /* Just wait and let the messages be completed
+ or look for timeout */
+ retry = ConfigClient_ChkRetries();
+
+ if (retry == CLIENT_TX_RETRY_ENDS)
+ {
+ eServerRespRecdState = NodeNoResponse_State;
+ }
+ else if (retry == CLIENT_TX_TIMEOUT)
+ {
+ eServerRespRecdState = NodeSendMessage_State; /* Run next re-trial cycle again */;
+ }
+ break;
+
+ default:
+ /* Error State */
+ break;
+ }
+
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_SelfPublicationSetDefault: This function is application
+ used for adding publication settings to the element(node)
+ for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_SelfPublicationSetDefault (void)
+{
+ MOBLEUINT16 publishAddress = DEFAULT_PUBLISH_ADDR;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLEUINT8 credentialFlag = DEFAULT_CREDENTIAL_FLAG;
+ MOBLEUINT8 publishTTL = DEFAULT_PUBLISH_TTL;
+ MOBLEUINT8 publishPeriod = DEFAULT_PUBLISH_PERIOD;
+ MOBLEUINT8 publishRetransmitCount = DEFAULT_PUBLISH_RETRANSMIT_COUNT;
+ MOBLEUINT8 publishRetransmitIntervalSteps= DEFAULT_PUBLISH_RETRANSMIT_INTERVAL_STEPS;
+
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT32 modelIdentifier=0;
+ MOBLEUINT8 elementIndex;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ for (elementIndex=0; elementIndex < APPLICATION_NUMBER_OF_ELEMENTS; elementIndex++ )
+ {
+ /*Checking for SIG Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_SIG_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT16) Appli_SIG_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else if (MODEL_IS_FOUNDATION_MODEL(modelIdentifier))
+ {
+ /* If Model is Foundation Model, then it does not need to be
+ added for Publishing */
+
+ /* Do NOTHING, let the next Model be picked */
+ }
+
+ else
+ {
+ ConfigClient_PublicationSet(elementAddress,
+ publishAddress,
+ appKeyIndex,
+ credentialFlag,
+ publishTTL,
+ publishPeriod,
+ publishRetransmitCount,
+ publishRetransmitIntervalSteps,
+ modelIdentifier);
+ }
+ }
+
+ /*Checking for VENDOR Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_VENDOR_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT32) Appli_Vendor_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else
+ {
+ ConfigClient_PublicationSet(elementAddress,
+ publishAddress,
+ appKeyIndex,
+ credentialFlag,
+ publishTTL,
+ publishPeriod,
+ publishRetransmitCount,
+ publishRetransmitIntervalSteps,
+ modelIdentifier);
+ }
+ }
+ }
+ return result;
+}
+
+
+/**
+* @brief AppliConfigClient_SelfSubscriptionSetDefault: This function is application
+ used for adding Subscription settings to the element(node)
+ for default settings
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT AppliConfigClient_SelfSubscriptionSetDefault (void)
+{
+ MOBLEUINT32 modelIdentifier=0;
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT8 elementIndex;
+ MOBLEUINT16 address = DEFAULT_GROUP_ADDR;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ for (elementIndex=0; elementIndex < APPLICATION_NUMBER_OF_ELEMENTS; elementIndex++ )
+ {
+ /*Checking for SIG Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_SIG_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT16) Appli_SIG_Models[elementIndex][index];
+
+ /*If limit is reaching to no models*/
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else if (MODEL_IS_FOUNDATION_MODEL(modelIdentifier))
+ {
+ /* If Model is Foundation Model, then it does not need to be
+ Subscribed */
+
+ /* Do NOTHING, let the next Model be picked */
+ }
+ else
+ {
+ ConfigClient_SubscriptionAdd (elementAddress, address, modelIdentifier);
+ }
+ }
+
+ /*Checking for Vendor Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_VENDOR_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT32) Appli_Vendor_Models[elementIndex][index];
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else
+ {
+ ConfigClient_SubscriptionAdd (elementAddress, address, modelIdentifier);
+ }
+ }
+
+ }
+ return result;
+}
+
+
+/**
+* @brief Appli_ConfigClient_DefaultAppKeyBind: This function is application used for
+ function to Bind the element(node) with AppKeyIndex and Models
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_ConfigClient_SelfDefaultAppKeyBind (void)
+{
+
+ MOBLEUINT32 modelIdentifier=0;
+ MOBLEUINT16 appKeyIndex = DEFAULT_APPKEY_INDEX;
+ MOBLEUINT16 elementAddress;
+ MOBLEUINT8 elementIndex;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ appKeyIndex = DEFAULT_APPKEY_INDEX;
+
+ for (elementIndex=0; elementIndex < APPLICATION_NUMBER_OF_ELEMENTS; elementIndex++ )
+ {
+ /*Checking for SIG Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_SIG_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT16) Appli_SIG_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else if (MODEL_IS_FOUNDATION_MODEL(modelIdentifier))
+ {
+ /* If Model is Foundation Model, then it does not need to be binded
+ with AppKey */
+
+ /* Do NOTHING, let the next Model be picked */
+ }
+ else
+ {
+ ConfigClient_ModelAppBind (elementAddress, appKeyIndex, modelIdentifier);
+ }
+ }
+
+ /*Checking for VENDOR Models*/
+ for (MOBLEUINT8 index=0; index < APPLICATION_VENDOR_MODELS_MAX_COUNT; index++)
+ {
+ elementAddress = BLEMesh_GetAddress();
+ elementAddress += elementIndex;
+
+ modelIdentifier = (MOBLEUINT32) Appli_Vendor_Models[elementIndex][index];
+
+ if(modelIdentifier == NO_MODEL_AVLBL)
+ {
+ break;
+ }
+ else
+ {
+ ConfigClient_ModelAppBind (elementAddress, appKeyIndex, modelIdentifier);
+ }
+ }
+
+ }
+ return result;
+}
+
+/**
+* @brief Appli_CompositionDataStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_CompositionDataStatusCb(MOBLE_RESULT status)
+{
+ eServerRespRecdState = CompositionRecd_State;
+}
+
+
+/**
+* @brief Appli_AppKeyStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_AppKeyStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = AppkeyAck_State;
+}
+
+
+/**
+* @brief Appli_AppBindModelStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_AppBindModelStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = AppBindModelAck_State;
+}
+
+
+/**
+* @brief Appli_SubscriptionAddStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_SubscriptionAddStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = SubscriptionAck_State;
+}
+
+
+/**
+* @brief Appli_PublicationStatusCb: This function is callback from config
+ client middleware on reception of the response
+* @param None
+* @retval MOBLE_RESULT
+*/
+void Appli_PublicationStatusCb(MOBLEUINT8 status)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = PublicationStatus_State;
+}
+
+
+/**
+* @brief Appli_NodeResetStatusCb: This function is callback from config
+ client middleware on reception of the Node Reset response
+* @param None
+* @retval None
+*/
+void Appli_NodeResetStatusCb(void)
+{
+ /* Change the received state for application */
+ eServerRespRecdState = NodeResetStatus_State;
+}
+
+
+/**
+* @brief GetSIGModelToBindApp: This function gets the SIG Model to Bind
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT16 GetSIGModelToBindApp(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels)
+{
+
+ MOBLEUINT16 model_id;
+ MOBLEUINT8 index;
+ MOBLEUINT8 idxSIG = *pModelIndex;
+
+ for (index = idxSIG; index < numberOfModels ; index++ )
+ {
+ model_id = aNodeElements[elementIndex].aSIGModels[index];
+ if (MODEL_IS_FOUNDATION_MODEL(model_id))
+ {
+ /* Do nothing, let the next model_if be scanned */
+ model_id = 0xffff; /* Invalid Model ID */
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ *pModelIndex = index;
+ return model_id;
+
+}
+
+
+/**
+* @brief GetVendorModelToBindApp: This function gets the Vendor Model to Bind
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT32 GetVendorModelToBindApp(MOBLEUINT8 elementIndex, MOBLEUINT8 indexModels)
+{
+ return aNodeElements[elementIndex].aVendorModels[indexModels];
+}
+
+/**
+* @brief GetCountSIGModelToBindApp: This function gets the NUMBER of SIG Model
+ to Bind
+* @param elementIndex Index of the Element for which the Count is needed
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountSIGModelToBindApp(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumSIGmodels;
+}
+
+
+/**
+* @brief GetCountVendorModelToBindApp: This function gets the Vendor Model to Bind
+* @param elementIndex Index of the Element for which the Count is needed
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountVendorModelToBindApp(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumVendorModels;
+}
+
+
+/**
+* @brief GetSIGModelToPublish: This function gets the SIG Model to Publish
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT16 GetSIGModelToPublish(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels)
+
+{
+ return GetSIGModelToBindApp(elementIndex,
+ pModelIndex,
+ numberOfModels);
+}
+
+
+/**
+* @brief GetVendorModelToPublish: This function gets the Vendor Model to Publish
+* @param elementIndex Index of the Element
+* @param idxSIG Pointer to Index of the Model
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT32 GetVendorModelToPublish(MOBLEUINT8 elementIndex, MOBLEUINT8 idxSIG)
+{
+ return aNodeElements[elementIndex].aVendorModels[idxSIG];
+}
+
+
+/**
+* @brief GetCountSIGModelToPublish: This function gets the SIG Model to Bind
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountSIGModelToPublish(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumSIGmodels;
+}
+
+
+/**
+* @brief GetCountVendorModelToPublish: This function gets the Vendor Model to Publish
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountVendorModelToPublish(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumVendorModels;
+}
+
+
+/**
+* @brief GetSIGModelToSubscribe: This function gets the SIG Model to Bind
+* @param elementIndex Index of the Element
+* @param pModelIndex Pointer to Index of the Element to be updated
+* @param numberOfModels Total number of Models to be scanned
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT16 GetSIGModelToSubscribe(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels)
+{
+ return GetSIGModelToBindApp(elementIndex,
+ pModelIndex,
+ numberOfModels);
+}
+
+
+/**
+* @brief GetVendorModelToSubscribe: This function Gets the Vendor Model ID for
+ Subscription
+* @param elementIndex Index of the Element
+* @param idxSIG Index to the Model ID to Subscribe
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT32 GetVendorModelToSubscribe(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 idxSIG)
+{
+ return aNodeElements[elementIndex].aVendorModels[idxSIG];
+}
+
+
+/**
+* @brief GetCountSIGModelToSubscribe: This function gets the SIG Model to Subscribe
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountSIGModelToSubscribe(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumSIGmodels;
+}
+
+
+/**
+* @brief GetCountVendorModelToPublish: This function gets the Count of the
+ Vendor Model to Subscribe
+* @param elementIndex Index of the Element
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 GetCountVendorModelToSubscribe(MOBLEUINT8 elementIndex)
+{
+ return aNodeElements[elementIndex].NumVendorModels;
+}
+
+
+/**
+* @brief AppliConfigClient_SendMessageDefault: This function is used for sending
+ a message.
+ ** The Function is not yet written fully
+* @param None
+* @retval MOBLE_RESULT
+*/
+MOBLEUINT8 AppliConfigClient_SendMessageDefault(MOBLEUINT8 elementIdx)
+{
+ return NUM_VENDOR_MODELS_TO_SUBSCRIBE;
+}
+
+/******************************************************************************/
+#endif /* defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER) */
+/******************************************************************************/
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.h
new file mode 100644
index 000000000..2a1fa19e6
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_config_client.h
@@ -0,0 +1,93 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_config_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_CONFIG_CLIENT_H
+#define __APPLI_CONFIG_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+#include "config_client.h"
+#include "mesh_cfg_usr.h"
+
+/* Exported macro ------------------------------------------------------------*/
+#define MAX_CONFIG_PARAM_SIZE 22
+#define CONFIGURE_AS_PER_COMPOSITION_DATA
+
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+#if defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER)
+
+MOBLE_RESULT Appli_ConfigClient_Init(void);
+MOBLE_RESULT Appli_ConfigClient_Process(void);
+MOBLE_RESULT Appli_ConfigClient_ConfigureNode(void);
+void Appli_CompositionDataStatusCb(MOBLE_RESULT);
+void Appli_AppKeyStatusCb(MOBLEUINT8 status);
+void Appli_AppBindModelStatusCb(MOBLEUINT8 status);
+void Appli_PublicationStatusCb(MOBLEUINT8 status);
+void Appli_SubscriptionAddStatusCb(MOBLEUINT8 status);
+void Appli_NodeResetStatusCb(void);
+
+void Appli_ConfigClientStartNodeConfiguration(MOBLEUINT8 prvState);
+MOBLE_RESULT Appli_ConfigClient_GetCompositionData (void);
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyAdd (void);
+MOBLE_RESULT Appli_ConfigClient_DefaultAppKeyBind (void);
+MOBLE_RESULT AppliConfigClient_SubscriptionAddDefault (void);
+MOBLE_RESULT AppliConfigClient_PublicationSetDefault (void);
+MOBLE_RESULT AppliConfigClient_SelfPublicationSetDefault (void);
+MOBLE_RESULT AppliConfigClient_SelfSubscriptionSetDefault (void);
+MOBLE_RESULT Appli_ConfigClient_SelfDefaultAppKeyBind (void);
+Composition_Data_Page0_t* Appli_GetNodeCompositionBuff (void);
+
+MOBLEUINT16 GetSIGModelToBindApp(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels);
+
+MOBLEUINT32 GetVendorModelToBindApp(MOBLEUINT8 elementIdx, MOBLEUINT8 idxSIG);
+MOBLEUINT8 GetCountSIGModelToBindApp(MOBLEUINT8 elementIdx);
+MOBLEUINT8 GetCountVendorModelToBindApp(MOBLEUINT8 elementIdx);
+
+MOBLEUINT16 GetSIGModelToSubscribe(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels);
+
+
+MOBLEUINT32 GetVendorModelToSubscribe(MOBLEUINT8 elementIdx, MOBLEUINT8 idxSIG);
+MOBLEUINT8 GetCountSIGModelToSubscribe(MOBLEUINT8);
+MOBLEUINT8 GetCountVendorModelToSubscribe(MOBLEUINT8);
+
+MOBLEUINT16 GetSIGModelToPublish(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pModelIndex,
+ MOBLEUINT8 numberOfModels);
+
+MOBLEUINT32 GetVendorModelToPublish(MOBLEUINT8 elementIdx, MOBLEUINT8 idxSIG);
+MOBLEUINT8 GetCountSIGModelToPublish(MOBLEUINT8 elementIdx);
+
+MOBLEUINT8 GetCountVendorModelToPublish(MOBLEUINT8 elementIdx);
+
+#endif /*defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER) */
+
+#endif /* __APPLI_CONFIG_CLIENT_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.c
new file mode 100644
index 000000000..52dbed1e8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.c
@@ -0,0 +1,484 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h"
+#include "hal_common.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "mesh_cfg.h"
+#include "generic.h"
+#include "light.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+
+/** @addtogroup ST_BLE_Mesh
+ * @{
+ */
+
+/** @addtogroup Application_Mesh_Models
+ * @{
+ */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+extern MOBLEUINT8 RestoreFlag;
+extern MOBLEUINT16 IntensityValue;
+extern MOBLEUINT8 IntensityFlag;
+extern MOBLEUINT8 PowerOnOff_flag;
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+extern Appli_LightPwmValue_t Appli_LightPwmValue;
+#endif
+
+Appli_Generic_OnOffSet AppliOnOffSet[APPLICATION_NUMBER_OF_ELEMENTS];
+Appli_Generic_LevelSet AppliLevelSet[APPLICATION_NUMBER_OF_ELEMENTS];
+Appli_Generic_PowerOnOffSet AppliPowerOnSet[APPLICATION_NUMBER_OF_ELEMENTS];
+Appli_Generic_DefaultTransitionSet AppliDefaultTransitionSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/* Private function prototypes -----------------------------------------------*/
+MOBLE_RESULT Appli_Generic_LevelDelta_Set(Generic_LevelStatus_t* pdeltalevelParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_LevelMove_Set(Generic_LevelStatus_t* pdeltaMoveParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_ONOFF
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_OnOff_Set: This function is callback for Application
+* when Generic OnOff message is received
+* @param pGeneric_OnOffParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_OnOff_Set(Generic_OnOffStatus_t* pGeneric_OnOffParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ /* LED control only for main element */
+ if(elementIndex == GENERIC_SERVER_MAIN_ELEMENT_INDEX)
+ {
+ /*User need to modify the parameters as per the number of elements per node*/
+ AppliOnOffSet[elementIndex].Present_OnOff = pGeneric_OnOffParam->Present_OnOff_State;
+ AppliOnOffSet[elementIndex].Present_OnOffValue = pGeneric_OnOffParam->Present_OnOff_Value;
+
+ /* This condition is applicable when user want to on off the light with some
+ default transition value, or optionalValid =IN_TRANSITION ,
+ transition is in progress.
+ */
+ if((OptionalValid == DEFAULT_TRANSITION) || (OptionalValid == IN_TRANSITION))
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = AppliOnOffSet[elementIndex].Present_OnOffValue;
+ Light_UpdateLedValue(LOAD_STATE ,Appli_LightPwmValue);
+#endif
+
+ #if 0 /* EME */
+ if(AppliOnOffSet[elementIndex].Present_OnOff == APPLI_LED_ON)
+ {
+ AppliOnOffSet[elementIndex].TargetValue = PWM_TIME_PERIOD;
+ }
+ else
+ {
+ AppliOnOffSet[elementIndex].TargetValue = APPLI_LED_OFF;
+ }
+ #else
+ AppliOnOffSet[elementIndex].TargetValue = pGeneric_OnOffParam->Target_OnOff;
+ #endif /* EME */
+
+ if(AppliOnOffSet[elementIndex].Present_OnOffValue == AppliOnOffSet[elementIndex].TargetValue)
+ {
+ if(AppliOnOffSet[elementIndex].Present_OnOffValue > 0)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+ }
+ }
+ else
+ {
+ if((AppliOnOffSet[elementIndex].Present_OnOff == APPLI_LED_ON) && (OptionalValid == NO_TRANSITION))
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_Off(LED_BLUE);
+ }
+ }
+ }
+
+ TRACE_M(TF_GENERIC, "Appli_Generic_OnOff_Set callback received for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL, "#8202!for elementIndex %d \r\n", elementIndex);
+
+ NvmStatePowerFlag_Set(GENERIC_ON_OFF_NVM_FLAG, elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_SERVER_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_LEVEL
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_Level_Set: This function is callback for Application
+* when Generic Level message is received
+* @param plevelParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Level_Set(Generic_LevelStatus_t* plevelParam,
+ MOBLEUINT8 OptionalValid,MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT16 duty;
+ static MOBLEUINT16 previousIntensity = 0;
+
+ AppliLevelSet[elementIndex].Present_Level16= plevelParam->Present_Level16;
+ if(AppliLevelSet[elementIndex].Present_Level16 <= 0)
+ {
+ AppliLevelSet[elementIndex].Present_Level16 = 0;
+ }
+
+ IntensityValue = AppliLevelSet[elementIndex].Present_Level16;
+
+ if(((IntensityValue > previousIntensity) && (IntensityValue <PWM_TIME_PERIOD)) ||
+ IntensityValue == INTENSITY_LEVEL_ZERO)
+ {
+ IntensityFlag = MOBLE_FALSE;
+ }
+ else
+ {
+ IntensityFlag = MOBLE_TRUE;
+ }
+ previousIntensity = IntensityValue;
+
+ if(AppliLevelSet[elementIndex].Present_Level16 < 0x00)
+ {
+ AppliLevelSet[elementIndex].Present_Level16 = 0;
+ }
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ duty = PwmValueMapping(AppliLevelSet[elementIndex].Present_Level16 , 0x7FFF ,0x0000);
+ Appli_LightPwmValue.IntensityValue = duty;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+#endif
+
+ TRACE_M(TF_GENERIC,"Appli_Generic_Level_Set callback received for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8206!for elementIndex %d \r\n", elementIndex);
+
+ NvmStatePowerFlag_Set(GENERIC_LEVEL_NVM_FLAG, elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_Delta_Set: This function is callback for Application
+* when Generic Level Delta message is received
+* @param pdeltalevelParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Delta_Set(Generic_LevelStatus_t* pdeltalevelParam,
+ MOBLEUINT8 OptionalValid,MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ AppliLevelSet[elementIndex].Present_Level16 = pdeltalevelParam->Present_Level16;
+
+ /* For demo, if Level is more than 50, switch ON the LED */
+ if (AppliLevelSet[elementIndex].Present_Level16 >= 50)
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue);
+#endif
+ BSP_LED_Off(LED_BLUE);
+ }
+
+ TRACE_M(TF_GENERIC,"Generic_LevelDelta_Set callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8209!\r\n");
+
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_Move_Set: This function is callback for Application
+* when Generic Level Move message is received
+* @param pdeltaMoveParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Move_Set(Generic_LevelStatus_t* pdeltaMoveParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+// if(OptionalValid == 1)
+// {
+ AppliLevelSet[elementIndex].Last_delta_level = pdeltaMoveParam->Last_delta_level;
+ AppliLevelSet[elementIndex].Last_Level_TID = pdeltaMoveParam->Last_Level_TID;
+ AppliLevelSet[elementIndex].Last_Present_Level16 = pdeltaMoveParam->Last_Present_Level16;
+ AppliLevelSet[elementIndex].Present_Level16 = pdeltaMoveParam->Present_Level16;
+ AppliLevelSet[elementIndex].RemainingTime = pdeltaMoveParam->RemainingTime;
+ AppliLevelSet[elementIndex].Target_Level16 = pdeltaMoveParam->Target_Level16;
+// }
+
+ TRACE_M(TF_GENERIC,"Generic_LevelMove_Set callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#820B! \r\n");
+ return MOBLE_RESULT_SUCCESS;
+
+}
+
+/******************************************************************************/
+#endif /* ENABLE_GENERIC_MODEL_SERVER_LEVEL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_PowerOnOff_Set: This function is callback for Application
+* when Generic Power on off set message is received
+* @param pPowerOnOffParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_PowerOnOff_Set(Generic_PowerOnOffParam_t* pPowerOnOffParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+
+ AppliPowerOnSet[elementIndex].PowerOnState = pPowerOnOffParam->PowerOnOffState;
+ TRACE_M(TF_SERIAL_CTRL,"#8213! for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_GENERIC,"Appli_Generic_PowerOnOff_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ if(AppliPowerOnSet[elementIndex].PowerOnState == GENERIC_POWER_ON_STATE)
+ {
+ /* set the flag value for NVM store */
+ RestoreFlag = GENERIC_ON_OFF_NVM_FLAG;
+ }
+
+ AppliNvm_SaveMessageParam();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_DefaultTransitionTime_Set: This function is callback for Application
+* when Generic Power on off set message is received
+* @param pDefaultTimeParam: Pointer to the parameters message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Set(Generic_DefaultTransitionParam_t* pDefaultTimeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ AppliDefaultTransitionSet[elementIndex].DefaultTransitionTime = pDefaultTimeParam->DefaultTransitionTime;
+
+ TRACE_M(TF_GENERIC,"Generic_DefaultTransitionTime_Set callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#820E!\r\n");
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+
+/******************************************************************************/
+#endif /* ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME */
+/******************************************************************************/
+
+
+/**
+* @brief Appli_Generic_GetOnOffState: This function is callback for Application
+* when Generic on off status message is to be provided
+* @param pOnOff_status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetOnOffStatus(MOBLEUINT8* pOnOff_Status,MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pOnOff_Status = AppliOnOffSet[elementIndex].Present_OnOff;
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetOnOffValue: This function is callback for Application
+ to get the PWM value for the generic on off
+* @param pOnOff_Value: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetOnOffValue(MOBLEUINT8* pOnOff_Value, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pOnOff_Value = AppliOnOffSet[elementIndex].Present_OnOffValue;
+ *(pOnOff_Value+1) = AppliOnOffSet[elementIndex].Present_OnOffValue >> 8;
+ *(pOnOff_Value+2) = AppliOnOffSet[elementIndex].TargetValue;
+ *(pOnOff_Value+3) = AppliOnOffSet[elementIndex].TargetValue >> 8;
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetLevelStatus: This function is callback for Application
+ when Generic Level status message is to be provided
+* @param pLevel_status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetLevelStatus(MOBLEUINT8* pLevel_Status, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pLevel_Status = AppliLevelSet[elementIndex].Present_Level16;
+ *(pLevel_Status+1) = AppliLevelSet[elementIndex].Present_Level16 >> 8;
+ *(pLevel_Status+2) = AppliLevelSet[elementIndex].Target_Level16;
+ *(pLevel_Status+3) = AppliLevelSet[elementIndex].Target_Level16 >> 8;
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetPowerOnOffStatus: This function is callback for Application
+* when Generic Get Power status message is to be provided
+* @param pLevel_status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetPowerOnOffStatus(MOBLEUINT8* pPower_Status, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pPower_Status = AppliPowerOnSet[elementIndex].PowerOnState;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Generic_GetDefaultTransitionStatus: This function is callback for
+* Application when Generic Level status message is to be provided
+* @param pTransition_Status: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_GetDefaultTransitionStatus(MOBLEUINT8* pTransition_Status,MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ *pTransition_Status = AppliDefaultTransitionSet[elementIndex].DefaultTransitionTime;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.h
new file mode 100644
index 000000000..755e95db5
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic.h
@@ -0,0 +1,158 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_GENERIC_H
+#define __APPLI_GENERIC_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* user configuration for Battery status */
+#define BATTERY_ABSENT 0X00
+#define BATTERY_PRESENT_REMOVABLE 0X01
+#define BATTERY_PRESENT_NON_REMOVABLE 0X02
+#define BATTERY_UNKNOWN 0X03
+#define BATTERY_CRITICAL_LOW_LEVEL 0X00
+#define BATTERY_LOW_LEVEL 0X01
+#define BATTERY_GOOD_LEVEL 0X02
+#define BATTERY_LEVEL_UNKNOWN 0X03
+#define BATTERY_NOT_CHARGEABLE 0X00
+#define BATTERY_NOT_CHARGING 0X01
+#define BATTERY_IS_CHARGING 0X02
+#define BATTERY_CHARGING_UNKNOWN 0X03
+#define BATTERY_SERVICE_RFU 0X00
+#define BATTERY_REQUIRE_NO_SERVICE 0X01
+#define BATTERY_REQUIRE_SERVICE 0X02
+#define BATTERY_SERVICE_UNKNOWN 0X03
+
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+
+#pragma pack(push, 1)
+
+typedef struct
+{
+ MOBLEUINT8 Present_OnOff;
+ MOBLEUINT16 Present_OnOffValue;
+ MOBLEUINT16 TargetValue;
+}Appli_Generic_OnOffSet;
+
+typedef struct
+{
+ MOBLEINT16 Present_Level16;
+ MOBLEINT16 Target_Level16;
+ MOBLEUINT8 RemainingTime;
+ MOBLEUINT8 Last_Level_TID;
+ MOBLEINT16 Last_Present_Level16;
+ MOBLEINT32 Last_delta_level;
+}Appli_Generic_LevelSet;
+
+typedef struct
+{
+ MOBLEINT16 PowerOnState;
+}Appli_Generic_PowerOnOffSet;
+
+typedef struct
+{
+ MOBLEUINT8 DefaultTransitionTime;
+}Appli_Generic_DefaultTransitionSet;
+
+typedef struct
+{
+ MOBLEUINT8 Is_BatteryPresent;
+ MOBLEUINT8 Is_Chargeable;
+ MOBLEUINT8 Is_Serviceable;
+}Appli_BatteryUserflag_param_t;
+
+#pragma pack(pop)
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+MOBLE_RESULT Appli_Generic_OnOff_Set(Generic_OnOffStatus_t*,
+ MOBLEUINT8,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_OnOff_Status(MOBLEUINT8 const *pOnOff_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Level_Set(Generic_LevelStatus_t*,
+ MOBLEUINT8,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Delta_Set(Generic_LevelStatus_t*,
+ MOBLEUINT8,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Move_Set(Generic_LevelStatus_t* pdeltaMoveParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_Level_Status(MOBLEUINT8 const *plevel_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_PowerOnOff_Set(Generic_PowerOnOffParam_t* pPowerOnOffParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_PowerOnOff_Status(MOBLEUINT8 const *powerOnOff_status ,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Set(Generic_DefaultTransitionParam_t* pDefaultTimeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Status(MOBLEUINT8 const *pTransition_status ,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Generic_GetOnOffStatus(MOBLEUINT8* pOnOff_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetOnOffValue(MOBLEUINT8* pOnOff_Value,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetLevelStatus(MOBLEUINT8* pLevel_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetPowerOnOffStatus(MOBLEUINT8* pLevel_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Generic_Restore_PowerOn_Value(MOBLEUINT8 restoreValue,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Generic_GetDefaultTransitionStatus(MOBLEUINT8* pTransition_Status,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+
+
+#endif /* __APPLI_GENERIC_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.c
new file mode 100644
index 000000000..9c9ff6480
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.c
@@ -0,0 +1,345 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "appli_mesh.h"
+#include "generic_client.h"
+#include "appli_generic_client.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief Appli_Generic_OnOff_Status: This function is callback for Application
+* when Generic OnOff message is received
+* @param pOnOff_status: Pointer to the parameters received for message
+* @param plength: length of the data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_OnOff_Status(MOBLEUINT8 const *pOnOff_status, MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_GENERIC,"Generic_OnOff_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8204!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Present OnOff value: %d\n\r", pOnOff_status[i]);
+ else if(i == 1)
+ TRACE_M(TF_SERIAL_CTRL,"Target OnOff value: %d\n\r", pOnOff_status[i]);
+ else if(i == 2)
+ TRACE_M(TF_SERIAL_CTRL,"Remaining Time value: %d\n\r", pOnOff_status[i]);
+ }
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL
+/******************************************************************************/
+
+ /**
+* @brief Appli_Generic_Level_Status: This function is callback for Application
+* when Generic Level Move message is received
+* @param plevel_status: Pointer to the parameters message
+* @param plength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_Level_Status(MOBLEUINT8 const *plevel_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT8 i;
+ MOBLEUINT8 level = 0;
+#endif
+
+ TRACE_M(TF_GENERIC,"Generic_Level_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8208! \r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < plength; i++)
+ {
+ if((i == 0) || (i == 2))
+ level = plevel_status[i];
+ else if(i == 1)
+ TRACE_M(TF_SERIAL_CTRL,"Present Level value: %d%\n\r",
+ (((plevel_status[i]<<8)|level)*100/LEVEL_MAX_VALID_RANGE));
+ else if(i == 3)
+ TRACE_M(TF_SERIAL_CTRL,"Target Level value: %d%\n\r",
+ (((plevel_status[i]<<8)|level)*100/LEVEL_MAX_VALID_RANGE));
+ else if(i == 4)
+ TRACE_M(TF_SERIAL_CTRL,"Remaining Time value: %d\n\r", plevel_status[i]);
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL */
+/******************************************************************************/
+
+/**
+* @brief Appli_Generic_DefaultTransitionTime_Status: This function is callback for Application
+* when Generic Power on off set message is received
+* @param pTransition_status: Pointer to the parameters message
+* @param plength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Status(MOBLEUINT8 const *pTransition_status , MOBLEUINT32 plength,MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+
+ TRACE_M(TF_GENERIC,"Generic_DefaultTransitionTime_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8210!\r\n");
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Generic_PowerOnOff_Set: This function is callback for Application
+* when Generic Power on off set message is received
+* @param powerOnOff_status: Pointer to the parameters message
+* @param plength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Generic_PowerOnOff_Status(MOBLEUINT8 const *powerOnOff_status,\
+ MOBLEUINT32 plength, MOBLEUINT16 dstPeer, MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_GENERIC,"Generic_PowerOnOff_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8212!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"On Power up value: %d\n\r",
+ powerOnOff_status[i]);
+ }
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_GenericClient_API: This function is a Wrapper to call Generic Client API depending on opcode received in input
+* @param elementIndex: Index of the element
+* @param msg_opcode: opcode of the desired API
+* @param msg_params: buffer containing the desired API parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_GenericClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ switch(msg_opcode){
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_ONOFF
+/******************************************************************************/
+ case GENERIC_ON_OFF_GET:
+ {
+ result = GenericClient_OnOff_Get(elementIndex);
+ break;
+ }
+ case GENERIC_ON_OFF_SET_ACK:
+ {
+ result = GenericClient_OnOff_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_OnOffParam_t) );
+ break;
+ }
+ case GENERIC_ON_OFF_SET_UNACK:
+ {
+ result = GenericClient_OnOff_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_OnOffParam_t) );
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL
+/******************************************************************************/
+ case GENERIC_LEVEL_GET:
+ {
+ result = GenericClient_Level_Get(elementIndex);
+ break;
+ }
+ case GENERIC_LEVEL_SET_ACK:
+ {
+ result = GenericClient_Level_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Generic_LevelParam_t)-2));
+ break;
+ }
+ case GENERIC_LEVEL_SET_UNACK:
+ {
+ result = GenericClient_Level_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Generic_LevelParam_t)-2));
+ break;
+ }
+ case GENERIC_DELTA_SET:
+ {
+
+ result = GenericClient_Delta_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_DeltaLevelParam_t));
+ break;
+ }
+ case GENERIC_DELTA_SET_UNACK:
+ {
+ result = GenericClient_Delta_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_DeltaLevelParam_t));
+ break;
+ }
+ case GENERIC_MOVE_SET:
+ {
+ result = GenericClient_Move_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_LevelMoveParam_t));
+ break;
+ }
+ case GENERIC_MOVE_SET_UNACK:
+ {
+ result = GenericClient_Move_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_LevelMoveParam_t));
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_LEVEL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_POWER_ONOFF
+/******************************************************************************/
+ case GENERIC_POWER_ON_OFF_GET:
+ {
+ GenericClient_PowerOnOff_Get(elementIndex);
+ break;
+ }
+ case GENERIC_POWER_ON_OFF_SET:
+ {
+ result = GenericClient_PowerOnOff_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_PowerOnOffParam_t));
+ break;
+ }
+ case GENERIC_POWER_ON_OFF_SET_UNACK:
+ {
+ result = GenericClient_PowerOnOff_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_PowerOnOffParam_t));
+ break;
+ }
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_POWER_ONOFF */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_GENERIC_MODEL_CLIENT_DEFAULT_TRANSITION_TIME
+/******************************************************************************/
+ case GENERIC_DEFAULT_TRANSITION_TIME_GET:
+ {
+ result = GenericClient_DefaultTransitionTime_Get(elementIndex);
+ break;
+ }
+
+ case GENERIC_DEFAULT_TRANSITION_TIME_SET:
+ {
+ result = GenericClient_DefaultTransitionTime_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Generic_DefaultTransitionParam_t));
+ break;
+ }
+
+ case GENERIC_DEFAULT_TRANSITION_TIME_SET_UNACK:
+ {
+ result = GenericClient_DefaultTransitionTime_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Generic_DefaultTransitionParam_t));
+ break;
+ }
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_GENERIC_MODEL_CLIENT_DEFAULT_TRANSITION_TIME */
+/******************************************************************************/
+
+ default:
+ {
+ TRACE_M(TF_GENERIC, "OpCode value invalid %d \r\n", msg_opcode);
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ return result;
+}
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.h
new file mode 100644
index 000000000..d3fa85d31
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_generic_client.h
@@ -0,0 +1,40 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_generic_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_GENERIC_CLIENT_H
+#define __APPLI_GENERIC_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_ConfigClient_Set(void);
+MOBLE_RESULT Appli_GenericClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params);
+
+#endif /* __APPLI_GENERIC_CLIENT_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.c
new file mode 100644
index 000000000..d7846a4cc
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.c
@@ -0,0 +1,1351 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light.c
+ * @author MCD Application Team
+ * @brief Application interface for Lighting Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h"
+#include "hal_common.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "light.h"
+#include "appli_light.h"
+#include "appli_generic.h"
+#include "common.h"
+#include "mesh_cfg.h"
+#include "PWM_handlers.h"
+#include "PWM_config.h"
+#include "appli_nvm.h"
+#include "math.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+
+/*******************************************************************************
+Following Variables are used for the LIGHTING Lightness MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+Appli_Light_lightnessSet ApplilightnessSet[APPLICATION_NUMBER_OF_ELEMENTS] = {{1,0,0,0,0,0}};
+Appli_Light_lightnessLinearSet ApplilightnessLinearSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Variables are used for the LIGHTING CTL MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#if defined (ENABLE_LIGHT_MODEL_SERVER_CTL) || defined (ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP) \
+ || defined (ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE)
+/******************************************************************************/
+ Appli_Light_CtlSet AppliCtlSet[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_CtlTemperatureRangeSet AppliCtlTemperatureRangeSet[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_CtlDefaultSet AppliCtlDefaultSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Variables are used for the LIGHTING HSL MODEL
+*******************************************************************************/
+
+#if defined (ENABLE_LIGHT_MODEL_SERVER_HSL) || defined (ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP) \
+ || defined (ENABLE_LIGHT_MODEL_SERVER_HSL_HUE) || defined (ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION)
+/******************************************************************************/
+ Appli_Light_HslSet AppliHslSet[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_HslDefaultSet Appli_HslDefaultSet[APPLICATION_NUMBER_OF_ELEMENTS] = {{0x7FFF,0x7FFF,0x7FFF}};
+ Appli_Light_RGBSet Appli_RGBParam[APPLICATION_NUMBER_OF_ELEMENTS];
+ Appli_Light_HslRangeSet AppliHslRangeSet[APPLICATION_NUMBER_OF_ELEMENTS];
+
+/*******************************************************************************/
+#endif /*End of the LIGHTING HSL MODEL variables */
+/*******************************************************************************/
+
+/*******************************************************************************
+Following Variables are used for the RGB board.
+*******************************************************************************/
+
+Appli_LightPwmValue_t Appli_LightPwmValue;
+extern MOBLEUINT8 RestoreFlag;
+extern MOBLEUINT8 PowerOnOff_flag;
+extern MOBLEUINT8 IntensityFlag;
+extern MOBLEUINT16 IntensityValue;
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Set: This function is callback for Application
+* when Light Lightness Set message is received
+* @param pLight_LightnessParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT16 duty;
+ static MOBLEUINT16 previousIntensity = 0;
+
+ TRACE_M(TF_SERIAL_CTRL, "#824C!\n\r");
+ TRACE_M(TF_LIGHT, "Element index %d present 0x%.2x last 0x%.2x\r\n",
+ elementIndex,
+ pLight_LightnessParam->LightnessPresentValue16,
+ pLight_LightnessParam->LightnessLastStatus);
+
+ ApplilightnessSet[elementIndex].PresentState16 = pLight_LightnessParam->LightnessPresentValue16;
+ ApplilightnessSet[elementIndex].LastLightness16 = pLight_LightnessParam->LightnessLastStatus;
+
+ if(pLight_LightnessParam->LightnessPresentValue16 != 0x00)
+ {
+ ApplilightnessSet[elementIndex].LastLightness16 = pLight_LightnessParam->LightnessPresentValue16;
+ }
+
+ if(((IntensityValue > previousIntensity) && (IntensityValue <PWM_TIME_PERIOD)) ||
+ IntensityValue == INTENSITY_LEVEL_ZERO)
+ {
+ IntensityFlag = MOBLE_FALSE;
+ }
+ else
+ {
+ IntensityFlag = MOBLE_TRUE;
+ }
+ previousIntensity = IntensityValue;
+
+#if 0
+ /* For demo, if Level is more than 100, switch ON the LED */
+ if(pLight_LightnessParam->LightnessPresentValue16 >= 0x8000)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+#endif
+
+ duty = PwmValueMapping(ApplilightnessSet[elementIndex].PresentState16 , 0xfFFF ,0);
+ Appli_LightPwmValue.IntensityValue = duty;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ /* set the flag value for NVM store */
+ NvmStatePowerFlag_Set(LIGHT_LIGHTNESS_NVM_FLAG, elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Linear_Set: This function is callback for Application
+* when Light Lightness Linear Set message is received
+* @param pLight_LightnessLinearParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Linear_Set(Light_LightnessStatus_t* pLight_LightnessLinearParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ ApplilightnessLinearSet[elementIndex].PresentState16 = pLight_LightnessLinearParam->LinearPresentValue16;
+
+ TRACE_M(TF_LIGHT,"Light_LightnessLinear_Set callback received for elementIndex %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8250!\n\r");
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Default_Set: This function is callback for Application
+* when Light Lightness Default Set message is received
+* @param pLight_LightnessDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Default_Set(Light_LightnessDefaultParam_t* pLight_LightnessDefaultParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ if(pLight_LightnessDefaultParam->LightnessDefaultStatus > 0)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+
+ ApplilightnessSet[elementIndex].LightnessDefault =
+ pLight_LightnessDefaultParam->LightnessDefaultStatus;
+
+ TRACE_M(TF_SERIAL_CTRL,"#8259! \r\n");
+ TRACE_M(TF_LIGHT,"Appli_Light_Lightness_Default_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ NvmStatePowerFlag_Set(LIGHT_LIGHTNESS_NVM_FLAG,elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Last_Set: This function is callback for Application
+* when Light Lightness Default Set message is received
+* @param pLight_LightnessDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Last_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 elementIndex)
+{
+ ApplilightnessSet[elementIndex].LastLightness16 = pLight_LightnessParam->LightnessLastStatus;
+
+ TRACE_M(TF_SERIAL_CTRL,"#8259!\n\r");
+ TRACE_M(TF_LIGHT,
+ "Appli_Light_Lightness_Last_Set Light Last Value 0x%.2x \r\n",
+ ApplilightnessSet[elementIndex].LastLightness16);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP */
+/******************************************************************************/
+
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Lightness_Range_Set: This function is callback for Application
+* when Light Lightness Range Set message is received
+* @param pLight_LightnessRangeParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Range_Set(Light_LightnessRangeParam_t* pLight_LightnessRangeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ ApplilightnessSet[elementIndex].StatusCode = pLight_LightnessRangeParam->StatusCode;
+ ApplilightnessSet[elementIndex].RangeMin = pLight_LightnessRangeParam->MinRangeStatus;
+ ApplilightnessSet[elementIndex].RangeMax = pLight_LightnessRangeParam->MaxRangeStatus;
+
+ TRACE_M(TF_SERIAL_CTRL,"#825B! \n\r");
+ TRACE_M(TF_LIGHT,"Appli_Light_Lightness_Range_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Ctl_Set: This function is callback for Application
+* when Light Ctl Set message is received
+* @param pLight_CtlParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Ctl_Set(Light_CtlStatus_t* pLight_CtlParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ float colourRatio;
+ float brightRatio;
+
+ TRACE_M(TF_SERIAL_CTRL,"#825E! \n\r");
+
+ AppliCtlSet[elementIndex].PresentLightness16 = pLight_CtlParam->PresentCtlLightness16;
+ AppliCtlSet[elementIndex].PresentTemperature16 = pLight_CtlParam->PresentCtlTemperature16;
+ AppliCtlSet[elementIndex].PresentCtlDelta16 = pLight_CtlParam->PresentCtlDelta16;
+
+ /* Save target parameters if transition is available */
+ AppliCtlSet[elementIndex].TargetLightness16 = pLight_CtlParam->TargetCtlLightness16;
+ AppliCtlSet[elementIndex].TargetTemperature16 = pLight_CtlParam->TargetCtlTemperature16;
+ AppliCtlSet[elementIndex].TargetCtlDelta16 = pLight_CtlParam->TargetCtlDeltaUv16;
+
+ colourRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentTemperature16 ,MAX_CTL_TEMP_RANGE ,MIN_CTL_TEMP_RANGE);
+
+ brightRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentLightness16 ,0XFFFF ,0);
+
+ Appli_LightPwmValue.PwmCoolValue = PWM_CoolValue(colourRatio , brightRatio);
+ Appli_LightPwmValue.PwmWarmValue = PWM_WarmValue(colourRatio , brightRatio);
+
+ Rgb_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_CTL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_Ctl_Set callback received for elementIndex %d \r\n", elementIndex);
+
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_CtlTemperature_Set: This function is callback for Application
+* when Light Ctl Temperature Set message is received
+* @param pLight_CtltempParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Set(Light_CtlStatus_t* pLight_CtltempParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ float colourRatio;
+ float brightRatio;
+ TRACE_M(TF_SERIAL_CTRL,"#8264!\n\r");
+
+ AppliCtlSet[elementIndex].PresentTemperature16 = pLight_CtltempParam->PresentCtlTemperature16;
+ AppliCtlSet[elementIndex].PresentCtlDelta16 = pLight_CtltempParam->PresentCtlDelta16;
+
+ /* Made a copy of target in case of transition values change */
+ AppliCtlSet[elementIndex].TargetTemperature16 = pLight_CtltempParam->TargetCtlTemperature16;
+ AppliCtlSet[elementIndex].TargetCtlDelta16 = pLight_CtltempParam->TargetCtlDeltaUv16;
+
+ colourRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentTemperature16 ,MAX_CTL_TEMP_RANGE ,MIN_CTL_TEMP_RANGE);
+
+ brightRatio = Ratio_CalculateValue(AppliCtlSet[elementIndex].PresentLightness16 ,0XFFFF ,0);
+
+ Appli_LightPwmValue.PwmCoolValue = PWM_CoolValue(colourRatio , brightRatio);
+ Appli_LightPwmValue.PwmWarmValue = PWM_WarmValue(colourRatio , brightRatio);
+
+ Rgb_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_CTL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_CtlTemperature_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_CtlTemperature_Range_Set: This function is callback for Application
+* when Light Ctl Temperature range Set message is received
+* @param pLight_CtlTempRangeParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Set(Light_CtlTemperatureRangeParam_t* pLight_CtlTempRangeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ AppliCtlTemperatureRangeSet[elementIndex].RangeMin = pLight_CtlTempRangeParam->MinRangeStatus;
+ AppliCtlTemperatureRangeSet[elementIndex].RangeMax = pLight_CtlTempRangeParam->MaxRangeStatus;
+ AppliCtlTemperatureRangeSet[elementIndex].StatusCode = pLight_CtlTempRangeParam->StatusCode;
+
+ TRACE_M(TF_SERIAL_CTRL,"#826B!\n\r");
+ TRACE_M(TF_LIGHT,"Light_CtlTemperature_Range_Set callback received for elementIndex %d \r\n", elementIndex);
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_CtlDefault_Set: This function is callback for Application
+* when Light Ctl Default Set message is received
+* @param pLight_CtlDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlDefault_Set(Light_CtlDefaultParam_t* pLight_CtlDefaultParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ AppliCtlDefaultSet[elementIndex].CtlDefaultLightness16 = pLight_CtlDefaultParam->CtlDefaultLightness16;
+ AppliCtlDefaultSet[elementIndex].CtlDefaultTemperature16 = pLight_CtlDefaultParam->CtlDefaultTemperature16;
+ AppliCtlDefaultSet[elementIndex].CtlDefaultDeltaUv = pLight_CtlDefaultParam->CtlDefaultDeltaUv;
+
+ TRACE_M(TF_SERIAL_CTRL,"#8269!\n\r");
+ TRACE_M(TF_LIGHT,"Light_CtlDefault_Set callback received for elementIndex %d \r\n", elementIndex);
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_Hsl_Set: This function is callback for Application
+* when Light Hsl Set message is received
+* @param pLight_HslParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Hsl_Set(Light_HslStatus_t* pLight_HslParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#8276!\n\r");
+
+ AppliHslSet[elementIndex].HslLightness16 = pLight_HslParam->PresentHslLightness16;
+ AppliHslSet[elementIndex].HslHueLightness16 = pLight_HslParam->PresentHslHueLightness16;
+ AppliHslSet[elementIndex].HslSaturation16 = pLight_HslParam->PresentHslSaturation16;
+
+ /* Save target parameters if transition is available */
+ AppliHslSet[elementIndex].TargetHslLightness16 = pLight_HslParam->TargetHslLightness16;
+ AppliHslSet[elementIndex].TargetHslHueLightness16 = pLight_HslParam->TargetHslHueLightness16;
+ AppliHslSet[elementIndex].TargetHslSaturation16 = pLight_HslParam->TargetHslSaturation16;
+
+ /* Function to convert HSL values in RGB values */
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ TRACE_M(TF_SERIAL_CTRL,"Red Value: %04hx\n\r",Appli_LightPwmValue.PwmRedValue);
+ TRACE_M(TF_SERIAL_CTRL,"Green Value: %04hx\n\r",Appli_LightPwmValue.PwmGreenValue);
+ TRACE_M(TF_SERIAL_CTRL,"Blue Value: %04hx\n\r",Appli_LightPwmValue.PwmBlueValue);
+
+/* when HSL is set, make CTL pwm will bw zero */
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_Hsl_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_HUE
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslHue_Set: This function is callback for Application
+* when Light Hsl Hue Set message is received
+* @param pLight_HslHueParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslHue_Set(Light_HslStatus_t* pLight_HslHueParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL, "#826F! \n\r");
+
+ AppliHslSet[elementIndex].HslHueLightness16 = pLight_HslHueParam->PresentHslHueLightness16;
+
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslHue_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_HUE */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslSaturation_Set: This function is callback for Application
+* when Light Hsl Saturation Set message is received
+* @param pLight_HslSaturationParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslSaturation_Set(Light_HslStatus_t* pLight_HslSaturationParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#8273! \n\r");
+
+ AppliHslSet[elementIndex].HslSaturation16 = pLight_HslSaturationParam->PresentHslSaturation16;
+
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslSaturation_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslDefault_Set: This function is callback for Application
+* when Light Hsl Default Set message is received
+* @param pLight_HslDefaultParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslDefault_Set(Light_HslDefaultParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#827F! \n\r");
+
+ Appli_HslDefaultSet[elementIndex].HslDefaultLightness16 = pLight_HslDefaultParam->HslLightnessDefault16;
+ Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16 = pLight_HslDefaultParam->HslHueDefault16;
+ Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16 = pLight_HslDefaultParam->HslSaturationDefault16;
+
+ AppliHslSet[elementIndex].HslLightness16 = Appli_HslDefaultSet[elementIndex].HslDefaultLightness16;
+ AppliHslSet[elementIndex].HslHueLightness16 = Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16;
+ AppliHslSet[elementIndex].HslSaturation16 = Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16;
+
+ HSL2RGB_Conversion(elementIndex);
+
+ Appli_LightPwmValue.PwmRedValue = PwmValueMapping(Appli_RGBParam[elementIndex].Red_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmGreenValue = PwmValueMapping(Appli_RGBParam[elementIndex].Green_Value ,0xFFFF ,0x00);
+ Appli_LightPwmValue.PwmBlueValue = PwmValueMapping(Appli_RGBParam[elementIndex].Blue_Value ,0xFFFF ,0x00);
+
+ Ctl_LedOffState();
+
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+
+ NvmStatePowerFlag_Set(LIGHT_HSL_NVM_FLAG, elementIndex);
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslDefault_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_HslRange_Set: This function is callback for Application
+* when Light Hsl Range Set message is received
+* @param pLight_HslRangeParam: Pointer to the parameters received for message
+* @param OptionalValid: Flag to inform about the validity of optional parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslRange_Set(Light_HslRangeParam_t* pLight_HslRangeParam,
+ MOBLEUINT8 OptionalValid, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SERIAL_CTRL,"#8281! \n\r");
+
+ AppliHslRangeSet[elementIndex].HslHueMinRange16 = pLight_HslRangeParam->HslHueMinRange16;
+ AppliHslRangeSet[elementIndex].HslHueMaxRange16 = pLight_HslRangeParam->HslHueMaxRange16;
+ AppliHslRangeSet[elementIndex].HslMinSaturation16 = pLight_HslRangeParam->HslMinSaturation16;
+ AppliHslRangeSet[elementIndex].HslMaxSaturation16 = pLight_HslRangeParam->HslMaxSaturation16;
+
+ TRACE_M(TF_LIGHT,"Appli_Light_HslRange_Set callback received for elementIndex %d \r\n", elementIndex);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP */
+/******************************************************************************/
+
+
+/*******************************************************************************
+Following Functions are used for the LIGHTING Lightness MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_GetLightnessStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lLightnessState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessStatus(MOBLEUINT8* lLightnessState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lLightnessState) = ApplilightnessSet[elementIndex].PresentState16;
+ *(lLightnessState+1) = ApplilightnessSet[elementIndex].PresentState16 >> 8;
+ *(lLightnessState+2) = ApplilightnessSet[elementIndex].LastLightness16 ;
+ *(lLightnessState+3) = ApplilightnessSet[elementIndex].LastLightness16 >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetLightnessLinearStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lLightnessState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessLinearStatus(MOBLEUINT8* lLightnessState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lLightnessState) = ApplilightnessLinearSet[elementIndex].PresentState16;
+ *(lLightnessState+1) = ApplilightnessLinearSet[elementIndex].PresentState16 >> 8;
+ *(lLightnessState+2) = ApplilightnessSet[elementIndex].LastLightness16 ;
+ *(lLightnessState+3) = ApplilightnessSet[elementIndex].LastLightness16 >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetLightnessDefaultStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lDefaultState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessDefaultStatus(MOBLEUINT8* lDefaultState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lDefaultState) = ApplilightnessSet[elementIndex].LightnessDefault;
+ *(lDefaultState+1) = ApplilightnessSet[elementIndex].LightnessDefault >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetLightnessLastStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lLastState: Pointer to the status message
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessLastStatus(MOBLEUINT8* lLastState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lLastState) = ApplilightnessSet[elementIndex].LastLightness16;
+ *(lLastState+1) = ApplilightnessSet[elementIndex].LastLightness16 >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetLightnessRangeStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lRangeState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetLightnessRangeStatus(MOBLEUINT8* lRangeState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lRangeState) = ApplilightnessSet[elementIndex].StatusCode;
+ *(lRangeState+1) = ApplilightnessSet[elementIndex].RangeMin;
+ *(lRangeState+2) = ApplilightnessSet[elementIndex].RangeMin >> 8;
+ *(lRangeState+3) = ApplilightnessSet[elementIndex].RangeMax;
+ *(lRangeState+4) = ApplilightnessSet[elementIndex].RangeMax >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Functions are used for the LIGHTING CTL MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_CTL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_GetCtlLightStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlLightState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlLightStatus(MOBLEUINT8* lCtlLightState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlLightState) = AppliCtlSet[elementIndex].PresentLightness16;
+ *(lCtlLightState+1) = AppliCtlSet[elementIndex].PresentLightness16 >> 8;
+ *(lCtlLightState+2) = AppliCtlSet[elementIndex].PresentTemperature16;
+ *(lCtlLightState+3) = AppliCtlSet[elementIndex].PresentTemperature16 >>8;
+ *(lCtlLightState+4) = AppliCtlSet[elementIndex].PresentCtlDelta16;
+ *(lCtlLightState+5) = AppliCtlSet[elementIndex].PresentCtlDelta16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetCtlTargetStatus: This function is callback for Application
+* to get the application values in middleware used for target state.
+* @param lCtlLightState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlTargetStatus(MOBLEUINT8* lCtlLightState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlLightState) = AppliCtlSet[elementIndex].TargetLightness16;
+ *(lCtlLightState+1) = AppliCtlSet[elementIndex].TargetLightness16 >> 8;
+ *(lCtlLightState+2) = AppliCtlSet[elementIndex].TargetTemperature16;
+ *(lCtlLightState+3) = AppliCtlSet[elementIndex].TargetTemperature16 >>8;
+ *(lCtlLightState+4) = AppliCtlSet[elementIndex].TargetCtlDelta16;
+ *(lCtlLightState+5) = AppliCtlSet[elementIndex].TargetCtlDelta16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+/**
+* @brief Appli_Light_GetCtlTeperatureStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlTempState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlTemperatureStatus(MOBLEUINT8* lCtlTempState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlTempState) = AppliCtlSet[elementIndex].PresentTemperature16;
+ *(lCtlTempState+1) = AppliCtlSet[elementIndex].PresentTemperature16 >> 8;
+ *(lCtlTempState+2) = AppliCtlSet[elementIndex].PresentCtlDelta16;
+ *(lCtlTempState+3) = AppliCtlSet[elementIndex].PresentCtlDelta16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetCtlTemperatureRange: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlTempRange: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlTemperatureRange(MOBLEUINT8* lCtlTempRange, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlTempRange) = AppliCtlTemperatureRangeSet[elementIndex].StatusCode;
+ *(lCtlTempRange+1) = AppliCtlTemperatureRangeSet[elementIndex].RangeMin;
+ *(lCtlTempRange+2) = AppliCtlTemperatureRangeSet[elementIndex].RangeMin >> 8;
+ *(lCtlTempRange+3) = AppliCtlTemperatureRangeSet[elementIndex].RangeMax;
+ *(lCtlTempRange+4) = AppliCtlTemperatureRangeSet[elementIndex].RangeMax >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetCtlDefaultStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lCtlDefaultState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetCtlDefaultStatus(MOBLEUINT8* lCtlDefaultState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lCtlDefaultState) = AppliCtlDefaultSet[elementIndex].CtlDefaultLightness16;
+ *(lCtlDefaultState+1) = AppliCtlDefaultSet[elementIndex].CtlDefaultLightness16 >> 8;
+ *(lCtlDefaultState+2) = AppliCtlDefaultSet[elementIndex].CtlDefaultTemperature16;
+ *(lCtlDefaultState+3) = AppliCtlDefaultSet[elementIndex].CtlDefaultTemperature16 >>8;
+ *(lCtlDefaultState+4) = AppliCtlDefaultSet[elementIndex].CtlDefaultDeltaUv;
+ *(lCtlDefaultState+5) = AppliCtlDefaultSet[elementIndex].CtlDefaultDeltaUv >> 8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_CTL */
+/******************************************************************************/
+
+/*******************************************************************************
+Following Functions are used for the LIGHTING HSL MODEL
+*******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL
+/******************************************************************************/
+
+/**
+* @brief Appli_Light_GetHslStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslStatus(MOBLEUINT8* lHslState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslState) = AppliHslSet[elementIndex].HslLightness16;
+ *(lHslState+1) = AppliHslSet[elementIndex].HslLightness16 >> 8;
+ *(lHslState+2) = AppliHslSet[elementIndex].HslHueLightness16;
+ *(lHslState+3) = AppliHslSet[elementIndex].HslHueLightness16 >>8;
+ *(lHslState+4) = AppliHslSet[elementIndex].HslSaturation16;
+ *(lHslState+5) = AppliHslSet[elementIndex].HslSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+/**
+* @brief Appli_Light_GetHslTargetStatus: This function is callback for Application
+* to get the application values in middleware used for target state.
+* @param lHslState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslTargetStatus(MOBLEUINT8* lHslState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslState) = AppliHslSet[elementIndex].TargetHslLightness16;
+ *(lHslState+1) = AppliHslSet[elementIndex].TargetHslLightness16 >> 8;
+ *(lHslState+2) = AppliHslSet[elementIndex].TargetHslHueLightness16;
+ *(lHslState+3) = AppliHslSet[elementIndex].TargetHslHueLightness16 >>8;
+ *(lHslState+4) = AppliHslSet[elementIndex].TargetHslSaturation16;
+ *(lHslState+5) = AppliHslSet[elementIndex].TargetHslSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+/**
+* @brief Appli_Light_GetHslHueStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslHueState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslHueStatus(MOBLEUINT8* lHslHueState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslHueState) = AppliHslSet[elementIndex].HslHueLightness16;
+ *(lHslHueState+1) = AppliHslSet[elementIndex].HslHueLightness16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_GetHslSaturationStatus: This function is callback for Application
+* to get the application values in middleware used for transition change
+* @param lHslSaturationState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslSaturationStatus(MOBLEUINT8* lHslSaturationState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslSaturationState) = AppliHslSet[elementIndex].HslSaturation16;
+ *(lHslSaturationState+1) = AppliHslSet[elementIndex].HslSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetHslDefaultStatus: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslDefaultState: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslDefaultStatus(MOBLEUINT8* lHslDefaultState, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslDefaultState) = Appli_HslDefaultSet[elementIndex].HslDefaultLightness16;
+ *(lHslDefaultState+1) = Appli_HslDefaultSet[elementIndex].HslDefaultLightness16 >> 8;
+ *(lHslDefaultState+2) = Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16;
+ *(lHslDefaultState+3) = Appli_HslDefaultSet[elementIndex].HslDefaultHueLightness16 >>8;
+ *(lHslDefaultState+4) = Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16;
+ *(lHslDefaultState+5) = Appli_HslDefaultSet[elementIndex].HslDefaultSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetHslSatRange: This function is callback for Application
+* to get the application values in middleware used for transition change
+* @param lHslSatRange: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslSatRange(MOBLEUINT8* lHslSatRange, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslSatRange) = AppliHslRangeSet[elementIndex].StatusCode;
+ *(lHslSatRange+1) = AppliHslRangeSet[elementIndex].HslMinSaturation16;
+ *(lHslSatRange+2) = AppliHslRangeSet[elementIndex].HslMinSaturation16 >> 8;
+ *(lHslSatRange+3) = AppliHslRangeSet[elementIndex].HslMaxSaturation16;
+ *(lHslSatRange+4) = AppliHslRangeSet[elementIndex].HslMaxSaturation16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_GetHslHueRange: This function is callback for Application
+* to get the application values in middleware used for transition change.
+* @param lHslHueRange: Pointer to the status message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_GetHslHueRange(MOBLEUINT8* lHslHueRange, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ *(lHslHueRange) = AppliHslRangeSet[elementIndex].StatusCode;
+ *(lHslHueRange+1) = AppliHslRangeSet[elementIndex].HslHueMinRange16;
+ *(lHslHueRange+2) = AppliHslRangeSet[elementIndex].HslHueMinRange16 >> 8;
+ *(lHslHueRange+3) = AppliHslRangeSet[elementIndex].HslHueMaxRange16;
+ *(lHslHueRange+4) = AppliHslRangeSet[elementIndex].HslHueMaxRange16 >>8;
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/******************************************************************************/
+#endif /* ENABLE_LIGHT_MODEL_SERVER_HSL */
+/******************************************************************************/
+
+/* This Function used to initialise the PWM . This is used for the RGB board */
+void Appli_Light_PwmInit()
+{
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmCoolValue = 0;
+ Appli_LightPwmValue.PwmWarmValue = 0;
+ Appli_LightPwmValue.PwmRedValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmGreenValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmBlueValue = PWM_VALUE_OFF;
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue);
+}
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_SERVER_HSL
+/******************************************************************************/
+
+/**
+* @brief Function to convert the map the RGB values in real values.
+* @param value1: This value corresponds to red led.
+* @param value2: This value corresponds to green led .
+* @param value3: This value corresponds to blue led .
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval void
+*/
+void RgbF_Create(MOBLEUINT16 value1, MOBLEUINT16 value2, MOBLEUINT16 value3, MOBLEUINT8 elementIndex)
+{
+ Appli_RGBParam[elementIndex].Red_Value = (MOBLEUINT16)(65535 * value1/1000);
+ Appli_RGBParam[elementIndex].Green_Value = (MOBLEUINT16)(65535 * value2/1000);
+ Appli_RGBParam[elementIndex].Blue_Value = (MOBLEUINT16)(65535 * value3/1000);
+}
+
+/**
+* @brief Function to convert the HSL values in RGB values.
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval void
+*/
+void HSL2RGB_Conversion(MOBLEUINT8 elementIndex)
+{
+
+ MOBLEUINT16 hueValue;
+ float lightnessvalue;
+ float saturationValue;
+ MOBLEUINT16 cValue; /* chroma */
+ MOBLEUINT16 mValue; /* intermediate value used for creating the r,g,b baseline */
+ MOBLEUINT16 xValue; /* intermediate value used for computing r,g,b */
+
+ if(AppliHslSet[elementIndex].HslSaturation16 == 0)
+ {
+ Appli_RGBParam[elementIndex].Red_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Green_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Blue_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ }
+ else if((AppliHslSet[elementIndex].HslLightness16 == 0xFFFF) || (AppliHslSet[elementIndex].HslLightness16 == 0x00))
+ {
+ Appli_RGBParam[elementIndex].Red_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Green_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ Appli_RGBParam[elementIndex].Blue_Value = AppliHslSet[elementIndex].HslLightness16 ;
+ }
+ else
+ {
+ /* Hue is calculated for angular value. so converting in between 0 to 360 degree */
+ hueValue = (MOBLEUINT16)(360 * (float)AppliHslSet[elementIndex].HslHueLightness16/65535);
+ lightnessvalue = (float)AppliHslSet[elementIndex].HslLightness16/65535;
+ saturationValue = (float)AppliHslSet[elementIndex].HslSaturation16/65535;
+
+ /* Formula to get the values used for RGB conversion */
+ cValue = (MOBLEUINT16)(((1- fabs(2 * lightnessvalue-1))*saturationValue) * 1000);
+ mValue = (MOBLEUINT16)((lightnessvalue * 1000) - (cValue/2));
+ xValue = (MOBLEUINT16)(cValue * (1 - fabs(fmod(hueValue / 60.0, 2.0) - 1)));
+
+ /* Conditions applied for the different angle of hue value */
+ if (hueValue > 0 && hueValue < (HUE_UPPER_LIMIT / 6))
+ {
+ RgbF_Create(cValue + mValue, xValue + mValue, mValue, elementIndex);
+ }
+ else if (hueValue >= (HUE_UPPER_LIMIT / 6) && hueValue < (HUE_UPPER_LIMIT / 3))
+ {
+ RgbF_Create(xValue + mValue, cValue + mValue, mValue, elementIndex);
+ }
+ else if (hueValue >= (HUE_UPPER_LIMIT / 3) && hueValue < (HUE_UPPER_LIMIT / 2))
+ {
+ RgbF_Create(mValue, cValue + mValue, xValue + mValue, elementIndex);
+ }
+ else if (hueValue >= (HUE_UPPER_LIMIT / 2)
+ && hueValue < (2 * HUE_UPPER_LIMIT / 3))
+ {
+ RgbF_Create(mValue, xValue + mValue, cValue + mValue, elementIndex);
+ }
+ else if (hueValue >= (2 * HUE_UPPER_LIMIT / 3)
+ && hueValue < (5 * HUE_UPPER_LIMIT / 6))
+ {
+ RgbF_Create(xValue + mValue, mValue, cValue + mValue, elementIndex);
+ }
+ else if ((hueValue >= (5 * HUE_UPPER_LIMIT / 6) && hueValue <= HUE_UPPER_LIMIT) || (hueValue == 0))
+ {
+ RgbF_Create(cValue + mValue, mValue, xValue + mValue, elementIndex);
+ }
+ else
+ {
+ RgbF_Create(mValue, mValue, mValue, elementIndex);
+ }
+ }
+}
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_SERVER_HSL */
+/******************************************************************************/
+
+/**
+* @brief Rgb_LedOffState: This function is called while using CTL, makes all the RGB
+* PWM off state for Application.
+* @param void:
+* @retval void
+*/
+void Rgb_LedOffState(void)
+{
+ Appli_LightPwmValue.PwmRedValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmGreenValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmBlueValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+}
+
+/**
+* @brief Ctl_LedOffState: This function is called while using HSL, makes all the
+* cool Warm PWM off state for Application.
+* @param void:
+* @retval void
+*/
+void Ctl_LedOffState(void)
+{
+ Appli_LightPwmValue.PwmWarmValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.PwmCoolValue = PWM_VALUE_OFF;
+ Appli_LightPwmValue.IntensityValue = PWM_VALUE_OFF;
+}
+
+/**
+* @brief Function to set the values for PWM for RGB board.
+* @param state: decided the state of PWM according to the condition.
+* @retval void
+*/
+void Light_UpdateLedValue(MOBLEUINT8 state ,Appli_LightPwmValue_t light_state)
+{
+
+#ifndef USER_BOARD_1LED
+ if(light_state.IntensityValue > 0)
+ {
+#ifdef USER_BOARD_COOL_WHITE_LED
+ if((light_state.PwmCoolValue == 0) && (light_state.PwmWarmValue == 0))
+ light_state.PwmWarmValue = light_state.IntensityValue;
+#endif
+#ifdef USER_BOARD_RGB_LED
+ if((light_state.PwmRedValue == PWM_VALUE_OFF) &&
+ (light_state.PwmGreenValue == PWM_VALUE_OFF) &&
+ (light_state.PwmBlueValue == PWM_VALUE_OFF))
+ light_state.PwmBlueValue = light_state.IntensityValue;
+#endif
+ }
+#endif
+
+ if(state == RESUME_STATE)
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, light_state.IntensityValue);
+#endif
+
+#ifdef USER_BOARD_COOL_WHITE_LED
+
+ Modify_PWM(COOL_LED, light_state.PwmCoolValue);
+ Modify_PWM(WARM_LED, light_state.PwmWarmValue);
+#endif
+
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, light_state.PwmRedValue);
+ Modify_PWM(GREEN_LED, light_state.PwmGreenValue);
+ Modify_PWM(BLUE_LED, light_state.PwmBlueValue);
+#endif
+
+ }
+ else if(state == RESET_STATE)
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, PWM_VALUE_OFF);
+#endif
+#ifdef USER_BOARD_COOL_WHITE_LED
+ Modify_PWM(COOL_LED, 0);
+ Modify_PWM(WARM_LED, 0);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, PWM_VALUE_OFF);
+ Modify_PWM(GREEN_LED, PWM_VALUE_OFF);
+ Modify_PWM(BLUE_LED, PWM_VALUE_OFF);
+#endif
+ }
+ else if(state == LOAD_STATE)
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, light_state.IntensityValue);
+#endif
+
+#ifdef USER_BOARD_COOL_WHITE_LED
+ Modify_PWM(COOL_LED, light_state.PwmCoolValue);
+ Modify_PWM(WARM_LED, light_state.PwmWarmValue);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, light_state.PwmRedValue);
+ Modify_PWM(GREEN_LED, light_state.PwmGreenValue);
+ Modify_PWM(BLUE_LED, light_state.PwmBlueValue);
+#endif
+ }
+ else
+ {
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, light_state.IntensityValue);
+#endif
+
+#ifdef USER_BOARD_COOL_WHITE_LED
+ light_state.PwmCoolValue = PWM_DEFAULT_VALUE;
+
+ Modify_PWM(COOL_LED, light_state.PwmCoolValue);
+ Modify_PWM(WARM_LED, light_state.PwmWarmValue);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, light_state.PwmRedValue);
+ Modify_PWM(GREEN_LED, light_state.PwmGreenValue);
+ Modify_PWM(BLUE_LED, light_state.PwmBlueValue);
+#endif
+ }
+}
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h
new file mode 100644
index 000000000..d36af58c0
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h
@@ -0,0 +1,281 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light.h
+ * @author MCD Application Team
+ * @brief Application interface for Light Mesh Model
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_LIGHT_H
+#define __APPLI_LIGHT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "light.h"
+
+/* Exported macro ------------------------------------------------------------*/
+#define HUE_UPPER_LIMIT 360
+/* Exported variables -------------------------------------------------------*/
+
+/* Light Lightness set */
+
+#pragma pack(push, 1)
+
+typedef struct
+{
+ MOBLEUINT16 PresentState16;
+ MOBLEUINT16 LastLightness16;
+ MOBLEUINT16 LightnessDefault;
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 RangeMin;
+ MOBLEUINT16 RangeMax;
+}Appli_Light_lightnessSet;
+
+
+/* Light Lightness Linear set */
+typedef struct
+{
+ MOBLEUINT16 PresentState16;
+}Appli_Light_lightnessLinearSet;
+
+/* Light Ctl Set */
+typedef struct
+{
+ MOBLEUINT16 PresentLightness16;
+ MOBLEUINT16 PresentTemperature16;
+ MOBLEINT16 PresentCtlDelta16;
+ MOBLEUINT16 TargetLightness16;
+ MOBLEUINT16 TargetTemperature16;
+ MOBLEINT16 TargetCtlDelta16;
+}Appli_Light_CtlSet;
+
+/* Light Ctl Temperature Range Set */
+typedef struct
+{
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 RangeMin;
+ MOBLEUINT16 RangeMax;
+}Appli_Light_CtlTemperatureRangeSet;
+
+/* Light Ctl Default set */
+typedef struct
+{
+ MOBLEUINT16 CtlDefaultLightness16;
+ MOBLEUINT16 CtlDefaultTemperature16;
+ MOBLEINT16 CtlDefaultDeltaUv;
+}Appli_Light_CtlDefaultSet;
+
+/* Light Hsl Hue set */
+typedef struct
+{
+ MOBLEUINT16 HslLightness16;
+ MOBLEUINT16 HslHueLightness16;
+ MOBLEUINT16 HslSaturation16;
+ MOBLEUINT16 TargetHslLightness16;
+ MOBLEUINT16 TargetHslHueLightness16;
+ MOBLEUINT16 TargetHslSaturation16;
+}Appli_Light_HslSet;
+
+/* Light Hsl Hue set */
+typedef struct
+{
+ MOBLEUINT16 HslDefaultLightness16;
+ MOBLEUINT16 HslDefaultHueLightness16;
+ MOBLEUINT16 HslDefaultSaturation16;
+}Appli_Light_HslDefaultSet;
+
+typedef struct
+{
+ MOBLEUINT16 Red_Value;
+ MOBLEUINT16 Green_Value;
+ MOBLEUINT16 Blue_Value;
+}Appli_Light_RGBSet;
+
+typedef struct
+{
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 HslHueMinRange16;
+ MOBLEUINT16 HslHueMaxRange16;
+ MOBLEUINT16 HslMinSaturation16;
+ MOBLEUINT16 HslMaxSaturation16;
+}Appli_Light_HslRangeSet;
+
+typedef struct
+{
+ MOBLEUINT16 IntensityValue;
+ MOBLEUINT16 PwmRedValue;
+ MOBLEUINT16 PwmGreenValue;
+ MOBLEUINT16 PwmBlueValue;
+ MOBLEUINT16 PwmWarmValue;
+ MOBLEUINT16 PwmCoolValue;
+}Appli_LightPwmValue_t;
+
+#pragma pack(pop)
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t*,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Linear_Set(Light_LightnessStatus_t* pLight_LightnessLinearParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Default_Set(Light_LightnessDefaultParam_t* pLight_LightnessDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Last_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Range_Set(Light_LightnessRangeParam_t* pLight_LightnessRangeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Ctl_Set(Light_CtlStatus_t* pLight_CtlParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Set(Light_CtlStatus_t* pLight_CtltempParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Set(Light_CtlTemperatureRangeParam_t* pLight_CtlTempRangeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlDefault_Set(Light_CtlDefaultParam_t* pLight_CtlDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Hsl_Set(Light_HslStatus_t* pLight_HslParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslHue_Set(Light_HslStatus_t* pLight_HslHueParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslSaturation_Set(Light_HslStatus_t* pLight_HslSaturationParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslDefault_Set(Light_HslDefaultParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslRange_Set(Light_HslRangeParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessStatus(MOBLEUINT8* lLightnessState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessLinearStatus(MOBLEUINT8* lLightnessState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessDefaultStatus(MOBLEUINT8* lDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessLastStatus(MOBLEUINT8* lLastState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessRangeStatus(MOBLEUINT8* lRangeState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlLightStatus(MOBLEUINT8* lCtlLightState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTargetStatus(MOBLEUINT8* lCtlLightState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTemperatureStatus(MOBLEUINT8* lCtlTempState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTemperatureRange(MOBLEUINT8* lCtlTempRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlDefaultStatus(MOBLEUINT8* lCtlDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslStatus(MOBLEUINT8* lHslState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslTargetStatus(MOBLEUINT8* lHslState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslHueStatus(MOBLEUINT8* lHslHueState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslSaturationStatus(MOBLEUINT8* lHslSaturationState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslHueRange(MOBLEUINT8* lHslHueRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslSatRange(MOBLEUINT8* lHslSatRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslDefaultStatus(MOBLEUINT8* lHslDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+void Appli_Light_PwmInit(void);
+void HSL2RGB_Conversion(MOBLEUINT8 elementIndex);
+void Ctl_LedOffState(void);
+void Rgb_LedOffState(void);
+void RgbF_Create(MOBLEUINT16 value1,
+ MOBLEUINT16 value2,
+ MOBLEUINT16 value3,
+ MOBLEUINT8 elementIndex);
+void Light_UpdateLedValue(MOBLEUINT8 state,
+ Appli_LightPwmValue_t light_state);
+
+/******************************************************************************/
+#endif /* __APPLI_LIGHT_H */
+/******************************************************************************/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.c
new file mode 100644
index 000000000..14b713458
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.c
@@ -0,0 +1,1206 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "appli_light_lc.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "appli_mesh.h"
+#include "generic_client.h"
+#include "appli_light_client.h"
+#include "light_lc.h"
+#include "light_client.h"
+
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+
+extern MOBLEUINT8 Tid_Client;
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief Appli_LightClient_API: This function is a Wrapper to call Light Client API depending on opcode received in input
+* @param elementIndex: Index of the element
+* @param msg_opcode: opcode of the desired API
+* @param msg_params: buffer containing the desired API parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_LightClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+
+ switch(msg_opcode){
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS
+/******************************************************************************/
+ case LIGHT_LIGHTNESS_GET:
+ {
+ result = LightClient_Lightness_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_SET:
+ {
+ result = LightClient_Lightness_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Linear Lightness params, Transition Time and Delay
+ break;
+ }
+ case LIGHT_LIGHTNESS_SET_UNACK:
+ {
+ result = LightClient_Lightness_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Linear Lightness params, Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_LIGHTNESS_LINEAR_GET:
+ {
+ result = LightClient_Lightness_Linear_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_LINEAR_SET:
+ {
+ result = LightClient_Lightness_Linear_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Lightness params, Transition Time and Delay
+ break;
+ }
+ case LIGHT_LIGHTNESS_LINEAR_SET_UNACK:
+ {
+ result = LightClient_Lightness_Linear_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Light_LightnessParam_t)-4)); //Remove the size of Lightness params, Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_LIGHTNESS_DEFAULT_GET:
+ {
+ result = LightClient_Lightness_Default_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_DEFAULT_SET:
+ {
+ result = LightClient_Lightness_Default_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessDefaultParam_t));
+ break;
+ }
+ case LIGHT_LIGHTNESS_DEFAULT_SET_UNACK:
+ {
+ result = LightClient_Lightness_Default_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessDefaultParam_t));
+ break;
+ }
+
+
+ case LIGHT_LIGHTNESS_RANGE_GET:
+ {
+ result = LightClient_Lightness_Range_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LIGHTNESS_RANGE_SET:
+ {
+ result = LightClient_Lightness_Range_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+ case LIGHT_LIGHTNESS_RANGE_SET_UNACK:
+ {
+ result = LightClient_Lightness_Range_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LightnessRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+
+
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_CTL
+/******************************************************************************/
+ case LIGHT_CTL_GET:
+ {
+ result = LightClient_Ctl_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_SET:
+ {
+ result = LightClient_Ctl_Set_Ack(elementIndex,
+ msg_params,
+ (sizeof(Light_CtlParam_t)-4) ); //Remove the size of Last_Lightness and Last_Temperature
+ break;
+ }
+ case LIGHT_CTL_SET_UNACK:
+ {
+ result = LightClient_Ctl_Set_Unack(elementIndex,
+ msg_params,
+ (sizeof(Light_CtlParam_t)-4) ); //Remove the size of Last_Lightness and Last_Temperature
+ break;
+ }
+
+ case LIGHT_CTL_TEMPERATURE_GET:
+ {
+ result = LightClient_Ctl_Temperature_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_SET:
+ {
+ result = LightClient_Ctl_Temperature_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_SET_UNACK:
+ {
+ result = LightClient_Ctl_Temperature_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_CTL_TEMPERATURE_RANGE_GET:
+ {
+ result = LightClient_Ctl_Temperature_Range_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_RANGE_SET:
+ {
+ result = LightClient_Ctl_Temperature_Range_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+ case LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACK:
+ {
+ result = LightClient_Ctl_Temperature_Range_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlTemperatureRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+
+ case LIGHT_CTL_DEFAULT_GET:
+ {
+ result = LightClient_Ctl_Default_Get(elementIndex);
+ break;
+ }
+ case LIGHT_CTL_DEFAULT_SET:
+ {
+ result = LightClient_Ctl_Default_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlDefaultParam_t));
+ break;
+ }
+ case LIGHT_CTL_DEFAULT_SET_UNACK:
+ {
+ result = LightClient_Ctl_Default_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_CtlDefaultParam_t));
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_CTL */
+/******************************************************************************/
+
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_HSL
+/******************************************************************************/
+ case LIGHT_HSL_GET:
+ {
+ result = LightClient_Hsl_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_SET:
+ {
+ result = LightClient_Hsl_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslParam_t) );
+ break;
+ }
+ case LIGHT_HSL_SET_UNACK:
+ {
+ result = LightClient_Hsl_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslParam_t) );
+ break;
+ }
+
+ case LIGHT_HSL_DEFAULT_GET:
+ {
+ result = LightClient_Hsl_Default_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_DEFAULT_SET:
+ {
+ result = LightClient_Hsl_Default_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslDefaultParam_t) );
+ break;
+ }
+ case LIGHT_HSL_DEFAULT_SET_UNACK:
+ {
+ result = LightClient_Hsl_Default_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslDefaultParam_t) );
+ break;
+ }
+
+ case LIGHT_HSL_RANGE_GET:
+ {
+ result = LightClient_Hsl_Range_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_RANGE_SET:
+ {
+ result = LightClient_Hsl_Range_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+ case LIGHT_HSL_RANGE_SET_UNACK:
+ {
+ result = LightClient_Hsl_Range_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslRangeParam_t)-1); //Remove the size of StatusCode
+ break;
+ }
+
+ case LIGHT_HSL_HUE_GET:
+ {
+ result = LightClient_Hsl_Hue_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_HUE_SET:
+ {
+ result = LightClient_Hsl_Hue_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslHueParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+ case LIGHT_HSL_HUE_SET_UNACK:
+ {
+ result = LightClient_Hsl_Hue_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslHueParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+
+ case LIGHT_HSL_SATURATION_GET:
+ {
+ result = LightClient_Hsl_Saturation_Get(elementIndex);
+ break;
+ }
+ case LIGHT_HSL_SATURATION_SET:
+ {
+ result = LightClient_Hsl_Saturation_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_HslSaturationParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+ case LIGHT_HSL_SATURATION_SET_UNACK:
+ {
+ result = LightClient_Hsl_Saturation_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_HslSaturationParam_t)-2); //Remove the size of Transition Time and Delay
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_HSL */
+/******************************************************************************/
+/******************************************************************************/
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_LC
+/******************************************************************************/
+ case LIGHT_LC_MODE_GET:
+ {
+ result = LightClient_LC_Mode_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LC_MODE_SET:
+ {
+ result = LightClient_LC_Mode_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_ModeParam_t));
+ break;
+ }
+ case LIGHT_LC_MODE_SET_UNACK:
+ {
+ result = LightClient_LC_Mode_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_ModeParam_t));
+ break;
+ }
+ case LIGHT_LC_OM_GET:
+ {
+ result = LightClient_LC_OM_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LC_OM_SET:
+ {
+ result = LightClient_LC_OM_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OccupancyModeParam_t));
+ break;
+ }
+ case LIGHT_LC_OM_SET_UNACK:
+ {
+ result = LightClient_LC_OM_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OccupancyModeParam_t));
+ break;
+ }
+ case LIGHT_LC_ON_OFF_GET:
+ {
+ result = LightClient_LC_OnOff_Get(elementIndex);
+ break;
+ }
+ case LIGHT_LC_ON_OFF_SET:
+ {
+ result = LightClient_LC_OnOff_Set_Ack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OnOffParam_t));
+ break;
+ }
+ case LIGHT_LC_ON_OFF_SET_UNACK:
+ {
+ result = LightClient_LC_OnOff_Set_Unack(elementIndex,
+ msg_params,
+ sizeof(Light_LC_OnOffParam_t));
+ break;
+ }
+
+ case LIGHT_LC_PROPERTY_GET:
+ {
+ result = LightClient_LC_Property_Get(elementIndex, msg_params);
+ break;
+ }
+ case LIGHT_LC_PROPERTY_SET:
+ {
+
+ result = LightClient_LC_Property_Set_Ack(elementIndex,
+ msg_params,
+ 5);
+ break;
+ }
+ case LIGHT_LC_PROPERTY_SET_UNACK:
+ {
+
+ result = LightClient_LC_Property_Set_Unack(elementIndex,
+ msg_params,
+ 5);
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_LC */
+/******************************************************************************/
+ default:
+ {
+ TRACE_M(TF_LIGHT, "OpCode value invalid %d \r\n", msg_opcode);
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ return result;
+}
+
+/**
+* @brief Appli_Light_Lightness_Status: This function is callback for Application
+* when Light Lightness status message is received
+* @param pLightness_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Status(MOBLEUINT8 const *pLightness_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#824E!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pLightness_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Lightness: 0x%x (%d)\r\n",
+ value | pLightness_status[i] << 8,
+ value | pLightness_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Lightness: 0x%x (%d)\r\n",
+ value | pLightness_status[i] << 8,
+ value | pLightness_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\r\n",
+ pLightness_status[i],
+ pLightness_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Linear_Status: This function is callback for Application
+* when Light Lightness Linear status message is received
+* @param pLightnessLinear_status: Pointer to the parameters received for message
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Linear_Status(MOBLEUINT8 const *pLightnessLinear_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Linear_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8252!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pLightnessLinear_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Lightness: 0x%x (%d)\r\n",
+ value | pLightnessLinear_status[i] << 8,
+ value | pLightnessLinear_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Lightness: 0x%x (%d)\r\n",
+ value | pLightnessLinear_status[i] << 8,
+ value | pLightnessLinear_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\r\n",
+ pLightnessLinear_status[i],
+ pLightnessLinear_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Last_Status: This function is callback for Application
+* when Light Lightness Last status message is received
+* @param pLightnessDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Last_Status(MOBLEUINT8 const *pLightnessLast_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Last_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8256!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ value = pLightnessLast_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness Last: 0x%x (%d)\r\n",
+ value | pLightnessLast_status[i] << 8,
+ value | pLightnessLast_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Default_Status: This function is callback for Application
+* when Light Lightness Default status message is received
+* @param pLightnessDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Default_Status(MOBLEUINT8 const *pLightnessDefault_status, MOBLEUINT32 pLength
+ , MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Default_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8256!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ value = pLightnessDefault_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness Default: 0x%x (%d)\r\n",
+ value | pLightnessDefault_status[i] << 8,
+ value | pLightnessDefault_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Lightness_Range_Status: This function is callback for Application
+* when Light Lightness range ststus message is received
+* @param pLightnessRange_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status, MOBLEUINT32 pLength
+ , MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Lightness_Range_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8258!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ TRACE_M(TF_LIGHT,"Status Code: 0x%x (%d)\r\n",
+ pLightnessRange_status[i],
+ pLightnessRange_status[i]);
+ }
+ else if((i == 1) || (i == 3))
+ {
+ value = pLightnessRange_status[i];
+ }
+ else if(i == 2)
+ {
+ TRACE_M(TF_LIGHT,"Range Min: 0x%x (%d)\r\n",
+ value | pLightnessRange_status[i] << 8,
+ value | pLightnessRange_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Range Max: 0x%x (%d)\r\n",
+ value | pLightnessRange_status[i] << 8,
+ value | pLightnessRange_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Ctl_Status: This function is callback for Application
+* when Light CTL status message is received
+* @param pLightCtl_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Ctl_Status(MOBLEUINT8 const *pLightCtl_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Ctl_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8260!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4) || (i == 6))
+ {
+ value = pLightCtl_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Lightness: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Lightness: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 7)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtl_status[i] << 8,
+ value | pLightCtl_status[i] << 8);
+ }
+ else if(i == 8)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time:0x%x (%d)\r\n",
+ pLightCtl_status[i],
+ pLightCtl_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_CtlTemperature_Status: This function is callback for Application
+* when Light CTL temperature status message is received
+* @param pLightCtlTemp_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Status(MOBLEUINT8 const *pLightCtlTemp_status, MOBLEUINT32 pLength
+ , MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_CtlTemperature_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8266!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4) || (i == 6))
+ {
+ value = pLightCtlTemp_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Present CTL Delta UV: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Temperature: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 7)
+ {
+ TRACE_M(TF_LIGHT,"Target CTL Delta UV: 0x%x (%d)\r\n",
+ value | pLightCtlTemp_status[i] << 8,
+ value | pLightCtlTemp_status[i] << 8);
+ }
+ else if(i == 8)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\r\n",
+ pLightCtlTemp_status[i],
+ pLightCtlTemp_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Appli_Light_CtlTemperature_Range_Set: This function is callback for Application
+* when Light CTL temperature range status message is received
+* @param pCtlTempRange_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Status(MOBLEUINT8 const *pCtlTempRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_CtlTemperature_Range_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8263!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ TRACE_M(TF_LIGHT,"Status Code: 0x%x (%d)\r\n",
+ pCtlTempRange_status[i],
+ pCtlTempRange_status[i]);
+ }
+ else if((i == 1) || (i == 3))
+ {
+ value = pCtlTempRange_status[i];
+ }
+ else if(i == 2)
+ {
+ TRACE_M(TF_LIGHT,"Range Min: 0x%x (%d)\r\n",
+ value | pCtlTempRange_status[i] << 8,
+ value | pCtlTempRange_status[i] << 8 );
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Range Max: 0x%x (%d)\r\n",
+ value | pCtlTempRange_status[i] << 8,
+ value | pCtlTempRange_status[i] << 8 );
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_CtlDefault_Status: This function is callback for Application
+* when Light CTL Default status message is received
+* @param pCtlDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_CtlDefault_Status(MOBLEUINT8 const *pCtlDefault_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Ctl_DefaultStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8268!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4))
+ {
+ value = pCtlDefault_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness: 0x%x (%d)\n\r",
+ value | pCtlDefault_status[i] << 8,
+ value | pCtlDefault_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Temperature: 0x%x (%d)\n\r",
+ value | pCtlDefault_status[i] << 8,
+ value | pCtlDefault_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Delta UV: 0x%x (%d)\n\r",
+ value | pCtlDefault_status[i] << 8,
+ value | pCtlDefault_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_Hsl_Status: This function is callback for Application
+* when Light HSL status message is received
+* @param pHsl_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_Hsl_Status(MOBLEUINT8 const *pHsl_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_Hsl_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8278!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4))
+ {
+ value = pHsl_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"HSL Lightness: 0x%x (%d)\n\r",
+ value | pHsl_status[i] << 8,
+ value | pHsl_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"HSL Hue: 0x%x (%d)\n\r",
+ value | pHsl_status[i] << 8,
+ value | pHsl_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"HSL Saturation: 0x%x (%d)\n\r",
+ value | pHsl_status[i] << 8,
+ value | pHsl_status[i] << 8);
+ }
+ else if(i == 6)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\n\r",
+ pHsl_status[i],
+ pHsl_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslHue_Status: This function is callback for Application
+* when Light HSL HUE status message is received
+* @param pHslHue_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslHue_Status(MOBLEUINT8 const *pHslHue_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslHue_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8271!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pHslHue_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Hue: 0x%x (%d)\n\r",
+ value | pHslHue_status[i] << 8,
+ value | pHslHue_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Hue: 0x%x (%d)\n\r",
+ value | pHslHue_status[i] << 8,
+ value | pHslHue_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\n\r",
+ pHslHue_status[i],
+ pHslHue_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslSaturation_Status: This function is callback for Application
+* when Light HSL Saturation status message is received
+* @param pHslSaturation_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslSaturation_Status(MOBLEUINT8 const *pHslSaturation_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslSaturation_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8275!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2))
+ {
+ value = pHslSaturation_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Present Saturation: 0x%x (%d)\n\r",
+ value | pHslSaturation_status[i] << 8,
+ value | pHslSaturation_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Target Saturation: 0x%x (%d)\n\r",
+ value | pHslSaturation_status[i] << 8,
+ value | pHslSaturation_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Remaining Time: 0x%x (%d)\n\r",
+ pHslSaturation_status[i],
+ pHslSaturation_status[i]);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslDefault_Status: This function is callback for Application
+* when Light HSL Default status message is received
+* @param pHslDefault_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslDefault_Status(MOBLEUINT8 const *pHslDefault_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslDefault_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#827C!\r\n");
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if((i == 0) || (i == 2) || (i == 4))
+ {
+ value = pHslDefault_status[i];
+ }
+ else if(i == 1)
+ {
+ TRACE_M(TF_LIGHT,"Lightness: 0x%x (%d)\n\r",
+ value | pHslDefault_status[i] << 8,
+ value | pHslDefault_status[i] << 8);
+ }
+ else if(i == 3)
+ {
+ TRACE_M(TF_LIGHT,"Hue: 0x%x (%d)\n\r",
+ value | pHslDefault_status[i] << 8,
+ value | pHslDefault_status[i] << 8);
+ }
+ else if(i == 5)
+ {
+ TRACE_M(TF_LIGHT,"Saturation: 0x%x (%d)\n\r",
+ value | pHslDefault_status[i] << 8,
+ value | pHslDefault_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Appli_Light_HslRange_Status: This function is callback for Application
+* when Light HSL range status message is received
+* @param pHslRange_status: Pointer to the parameters received for message
+* @param pLength: length of data
+* @param dstPeer: destination send by peer for this node. It can be a
+* unicast or group address
+* @param elementIndex: index of the element received from peer for this node which
+* is elementNumber-1
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_Light_HslRange_Status(MOBLEUINT8 const *pHslRange_status, MOBLEUINT32 pLength, MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+#if ( CFG_DEBUG_TRACE != 0 )
+ MOBLEUINT32 i;
+ MOBLEUINT16 value = 0;
+#endif
+
+ TRACE_M(TF_LIGHT,"Light_HslRange_Status callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#827E!\r\n");
+
+
+#if ( CFG_DEBUG_TRACE != 0 )
+ for(i = 0; i < pLength; i++)
+ {
+ if(i == 0)
+ {
+ TRACE_M(TF_LIGHT,"Status Code: 0x%x (%d)\n\r",
+ pHslRange_status[i],
+ pHslRange_status[i]);
+ }
+ else if((i == 1) || (i == 3) || (i == 5) || (i == 7))
+ {
+ value = pHslRange_status[i];
+ }
+ else if(i == 2)
+ {
+ TRACE_M(TF_LIGHT,"Hue Range Min: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ else if(i == 4)
+ {
+ TRACE_M(TF_LIGHT,"Hue Range Max: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ else if(i == 6)
+ {
+ TRACE_M(TF_LIGHT,"Saturation Range Min: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ else if(i == 8)
+ {
+ TRACE_M(TF_LIGHT,"Saturation Range Max: 0x%x (%d)\n\r",
+ value | pHslRange_status[i] << 8,
+ value | pHslRange_status[i] << 8);
+ }
+ }
+#endif
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.h
new file mode 100644
index 000000000..2a2dfc254
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_client.h
@@ -0,0 +1,111 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_LIGHT_CLIENT_H
+#define __APPLI_LIGHT_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "generic.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_Light_Lightness_Status(MOBLEUINT8 const *pLightness_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Linear_Status(MOBLEUINT8 const *pLightnessLinear_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Last_Status(MOBLEUINT8 const *pLightnessLast_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Default_Status(MOBLEUINT8 const *pLightnessDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Ctl_Status(MOBLEUINT8 const *pLightCtl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Status(MOBLEUINT8 const *pLightCtlTemp_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Status(MOBLEUINT8 const *pCtlTempRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlDefault_Status(MOBLEUINT8 const *pCtlDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Hsl_Status(MOBLEUINT8 const *pHsl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslSaturation_Status(MOBLEUINT8 const *pHslSaturation_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslHue_Status(MOBLEUINT8 const *pHslHue_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslRange_Status(MOBLEUINT8 const *pHslRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslDefault_Status(MOBLEUINT8 const *pHslDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_LightClient_API(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 msg_opcode,
+ MOBLEUINT8* msg_params);
+
+#endif /* __APPLI_LIGHT_CLIENT_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.c
new file mode 100644
index 000000000..17bc31377
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.c
@@ -0,0 +1,454 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_lc.c
+ * @author MCD Application Team
+ * @brief Application interface for light LC Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_light_lc.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variable ----------------------------------------------------------*/
+
+__attribute__((aligned(4)))const light_lc_cb_t AppliLightLc_cb =
+{
+ Appli_LightLCs_ModeGet,
+ Appli_LightLCs_ModeSet,
+ Appli_LightLCs_ModeSetUnack,
+ Appli_LightLCs_ModeStatus,
+ Appli_LightLCs_OmGet,
+ Appli_LightLCs_OmSet,
+ Appli_LightLCs_OmSetUnack,
+ Appli_LightLCs_OmStatus,
+ Appli_LightLCs_OnOffGet,
+ Appli_LightLCs_OnOffSet,
+ Appli_LightLCs_OnOffSetUnack,
+ Appli_LightLCs_OnOffStatus,
+ Appli_LightLCs_PropertyGet,
+ Appli_LightLCs_PropertySet,
+ Appli_LightLCs_PropertySetUnack,
+ Appli_LightLCs_PropertyStatus
+};
+
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/**
+ * @brief Callback corresponding to LightLCs_ModeGet_cb
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeGet(MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_ModeSet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeSet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_ModeSetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeSetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_ModeSatus_cb
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_ModeStatus(MOBLEUINT8 const* pLightLCMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_ModeStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8294!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC Mode value: %d\n\r",
+ pLightLCMode_status[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmGet_cb
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmGet(MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmSet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmSet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmSetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmSetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OmStatus_cb
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OmStatus(MOBLEUINT8 const* pLightLCOccupancyMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_OmStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#8298!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC OM value: %d\n\r",
+ pLightLCOccupancyMode_status[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OnOffGet_cb
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_OnOffGet(MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLC_OnOffSet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_OnOffSet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OnOffSetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_OnOffSetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_OnOffStatus_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_OnOffStatus(MOBLEUINT8 const* pLightLCOnOff_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_OnOffStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#829C!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC OnOff status: %d\n\r",
+ pLightLCOnOff_status[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertyGet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_PropertyGet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertySet_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_PropertySet(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+{
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+}
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertySetUnack_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+ */
+void Appli_LightLCs_PropertySetUnack(MOBLEUINT8 const* pRxData, MODEL_MessageHeader_t *pmsgParam)
+ {
+ TRACE_M(TF_LIGHT_LC, "Element index %d peer addr %X dst peer %X\r\n",
+ pmsgParam->elementIndex, pmsgParam->peer_addr, pmsgParam->dst_peer);
+ }
+
+
+/**
+ * @brief Callback corresponding to LightLCs_PropertyStatus_cb
+ * @param Data
+ * @param Message parameters
+ * @retval None
+*/
+void Appli_LightLCs_PropertyStatus(MOBLEUINT8 const* pLightLCProperty_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+ TRACE_M(TF_LIGHT_LC,"LightLCs_PropertyStatus callback received for element %d \r\n", elementIndex);
+ TRACE_M(TF_SERIAL_CTRL,"#64!\r\n");
+
+ for(i = 0; i < plength; i++)
+ {
+ if(i == 0)
+ TRACE_M(TF_SERIAL_CTRL,"Light LC Property status: %d\n\r",
+ pLightLCProperty_status[i]);
+ }
+}
+
+
+/**
+ * @brief
+ * @param
+ * @retval
+ */
+__weak MOBLE_RESULT Appli_Light_LCs_Init(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ MOBLEUINT8 lcsElementIndex = 0;
+
+ /* Extract element index of LC server */
+ result = ExtractLcServerElementIndex(&lcsElementIndex,
+#ifdef APPLICATION_NUMBER_OF_ELEMENTS
+ APPLICATION_NUMBER_OF_ELEMENTS,
+#else
+ 0,
+#endif
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ ENABLE_LIGHT_MODEL_SERVER_LC,
+ ENABLE_LIGHT_MODEL_SERVER_LC_SETUP,
+#else
+ 0,
+ 0,
+#endif
+#ifdef ENABLE_GENERIC_MODEL_SERVER_ONOFF
+ ENABLE_GENERIC_MODEL_SERVER_ONOFF,
+#else
+ 0,
+#endif
+#ifdef ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF
+ ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF,
+#else
+ 0,
+#endif
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS);
+#else
+ 0);
+#endif
+
+ if(MOBLE_SUCCEEDED(result))
+ {
+ result = Light_LCs_Init(&BufferLcServer, lcsElementIndex, &AppliLightLc_cb, SIZE_OF_LC_SERVER_T);
+ }
+
+ if(MOBLE_FAILED(result))
+ {
+ TRACE_M(TF_LIGHT_LC, "Light LC Server init failed\r\n");
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief
+ * @param
+ * @retval
+ */
+__weak MOBLE_RESULT Appli_Light_LC_SensorPropertyUpdate(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 propertyId,
+ MOBLEUINT32 value)
+{
+ return Light_LC_SensorPropertyUpdate(elementIndex,
+ propertyId,
+ value);
+}
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+/**
+ * @brief Handling of serial inputs to LC model
+ * @param serial string
+ * @param serial string size
+ * @retval void
+ */
+void Appli_Light_LC_SerialCmd(char *rcvdStringBuff, uint16_t rcvdStringSize)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_INVALIDARG;
+
+ if (!strncmp(rcvdStringBuff+6, "TR0", 3))
+ {
+ if (rcvdStringSize == 9)
+ {
+ /* call to function corresponding MMDL/SR/LLC/BV-03-C */
+ result = Light_LC_SetTransitionTimeZero(1);
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else if (!strncmp(rcvdStringBuff+6, "OCCUPANCY", 9)) /* occupancy detect */
+ {
+ if (rcvdStringSize == 15)
+ {
+ /* occupancy detected for element index 0 */
+ Appli_Light_LC_SensorPropertyUpdate(0,
+ PRESENCE_DETECTED_PID,
+ 1);
+ result = MOBLE_RESULT_SUCCESS;
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ /* Check the result of command processing */
+ if(result == MOBLE_RESULT_SUCCESS)
+ {
+ BLEMesh_PrintStringCb("Success\r\n");
+ }
+ else if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ BLEMesh_PrintStringCb("Fail Out of memory\r\n");
+ }
+ else if(result == MOBLE_RESULT_INVALIDARG)
+ {
+ BLEMesh_PrintStringCb("Fail Invalid Argument\r\n");
+ }
+ else
+ {
+ BLEMesh_PrintStringCb("Fail\r\n");
+ }
+}
+#endif
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.h
new file mode 100644
index 000000000..e9ce605f2
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light_lc.h
@@ -0,0 +1,81 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light_lc.h
+ * @author MCD Application Team
+ * @brief Application interface for Light Control Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_LIGHT_LC_H
+#define __APPLI_LIGHT_LC_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "light_lc.h"
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+/*******************************************************************************
+Following Variables are used for the Light LC Mode MODEL
+*******************************************************************************/
+void Appli_LightLCs_ModeGet(MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_ModeSet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_ModeSetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_ModeStatus(MOBLEUINT8 const* pLightLCMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+void Appli_LightLCs_OmGet(MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OmSet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OmSetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OmStatus(MOBLEUINT8 const* pLightLCOccupancyMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_LightLCs_OnOffGet(MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OnOffSet(MOBLEUINT8 const* pRxData,
+
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OnOffSetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_OnOffStatus(MOBLEUINT8 const* pLightLCOnOff_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_LightLCs_PropertyGet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_PropertySet(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_PropertySetUnack(MOBLEUINT8 const* pRxData,
+ MODEL_MessageHeader_t *pmsgParam);
+void Appli_LightLCs_PropertyStatus(MOBLEUINT8 const* pLightLCOccupancyMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Light_LCs_Init(void);
+MOBLE_RESULT Appli_Light_LC_SensorPropertyUpdate(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 propertyId,
+ MOBLEUINT32 value);
+void Appli_Light_LC_SerialCmd(char *rcvdStringBuff,
+ uint16_t rcvdStringSize);
+#endif /* __APPLI_LIGHT_LC_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.c
new file mode 100644
index 000000000..b14dd1d72
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.c
@@ -0,0 +1,1908 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_mesh.c
+ * @author MCD Application Team
+ * @brief User Application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "ble_common.h"
+#include "app_conf.h"
+#include "hal_common.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "types.h"
+#include "ble_hal_aci.h"
+#include "ble_hci_le.h"
+#include <string.h>
+#include "models_if.h"
+#include "mesh_cfg.h"
+#include "generic.h"
+#include "light.h"
+#include "light_lc.h"
+#include "sensors.h"
+#include "common.h"
+#include "serial_if.h"
+#include "appli_nvm.h"
+#include "pal_nvm.h"
+#include "appli_config_client.h"
+#include "appli_generic_client.h"
+#include "appli_light_client.h"
+#include "appli_sensor.h"
+#include "appli_sensors_client.h"
+
+#include "stm32_seq.h"
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+#include "PWM_config.h"
+#include "PWM_handlers.h"
+#endif
+#include "mesh_cfg_usr.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private define ------------------------------------------------------------*/
+#define APPLI_OPTIM 0
+
+/*********** Macros to be modified according to the requirement *************/
+#define BOUNCE_THRESHOLD 20U
+#define LONG_PRESS_THRESHOLD 1000U
+#define MANUAL_UNPROVISION_TIMER 3000U
+#define FLASH_ERASE_TIME 100U
+//#define DISCOVER_TIMER 10*60*1000 /* 10 minutes */
+#define DISCOVER_TIMER_INTERVAL 10*60*(1000000/CFG_TS_TICK_VAL) /* 10 minutes */
+#if (APPLI_OPTIM == 1)
+#define APPLI_MESH_TIMER_INTERVAL 1*(1000/CFG_TS_TICK_VAL) /* 1 ms */
+#endif
+#define DEFAULT_DELAY_PACKET_FROM 500U
+#define DEFAULT_DELAY_PACKET_RANDOM_TIME 500U
+#define USER_OUTPUT_OOB_APPLI_PROCESS 0U
+#define INPUT_OOB_TIMEOUT 300U /* input Oob30 Sec timeout*/
+#define PBADV_UNPROV_DEV_BEACON_INTERVAL 100U /* 100 ms */
+
+#define DEVICE_KEY_SIZE 16U
+#define APP_KEY_SIZE 16U
+#if (LOW_POWER_FEATURE == 1)
+#define LPN_API_TIMER_INTERVAL 5*(1000000/CFG_TS_TICK_VAL) /* 5 secondes */
+#endif
+/* Private macro -------------------------------------------------------------*/
+#define MAX_APPLI_BUFF_SIZE 8
+#define MAX_PENDING_PACKETS_QUE_SIZE 2
+#define DATA_BUFFER_LENGTH 8
+#define MAX_NUMB_ELEMENTS APPLICATION_NUMBER_OF_ELEMENTS
+#define CUSTOM_BEACON_AD_TYPE 0x00
+#define ENABLE_CUSTOM_BEACON 0
+#define CUSTOM_BEACON_INTERVAL 2000U
+
+/**********************Friendship callbacks macros ****************************/
+#define FN_CLEARED_REPEAT_REQUEST 1
+#define FN_CLEARED_POLL_TIMEOUT 2
+#define FN_CLEARED_FRIEND_CLEAR 3
+#define LPN_CLEARED_NO_RESPONSE 1
+
+/* Private variables ---------------------------------------------------------*/
+
+
+enum ButtonState
+{
+ BS_OFF,
+ BS_DEBOUNCE,
+ BS_SHORT_PRESS,
+ BS_LONG_PRESS
+};
+
+enum ButtonState buttonState = BS_OFF;
+tClockTime tBounce = 0;
+/*Will be an array aligned with number of elements*/
+MOBLEUINT8 Appli_LedState = 0;
+MOBLEUINT16 IntensityValue = INTENSITY_LEVEL_ZERO;
+MOBLEUINT8 IntensityFlag = FALSE;
+MOBLEUINT8 ProxyFlag = 0;
+MOBLEUINT8 ProvisionFlag = 0;
+MOBLEUINT8 UnprovisionInProgress = 0;
+
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+static MOBLEUINT8 PrvngInProcess = 0;
+static MOBLEUINT32 OutputOobData = 0;
+static MOBLEUINT32 OutputOobBlinkCount = 0;
+#endif
+
+#ifdef ENABLE_AUTH_TYPE_INPUT_OOB
+MOBLEUINT8 InputOobData[8] = {0};
+MOBLEUINT8 inputOOBDataReady = 0;
+#endif
+
+/*Number Of Elements selected per Node. Maximum Elements supported = 3*/
+MOBLEUINT8 NumberOfElements = APPLICATION_NUMBER_OF_ELEMENTS;
+
+#ifdef ENABLE_AUTH_TYPE_STATIC_OOB
+/* 16 octets Static OOB information to be input here. Used during provisioning by Library */
+const MOBLEUINT8 StaticOobBuff[SIZE_STATIC_OOB] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01};
+#else
+const MOBLEUINT8 StaticOobBuff[] = {0};
+#endif
+
+#ifdef PUB_KEY_TYPE_OOB
+/* 64 octets Public Key information to be input here. It is only required for Public Key OOB case.
+Used during provisioning by Library */
+const MOBLEUINT8 PubKeyBuff[64] = {0xF4, 0x65, 0xE4, 0x3F, 0xF2, 0x3D, 0x3F, 0x1B, 0x9D, 0xC7,
+0xDF, 0xC0, 0x4D, 0xA8, 0x75, 0x81, 0x84, 0xDB, 0xC9, 0x66, 0x20, 0x47, 0x96, 0xEC, 0xCF,
+0x0D, 0x6C, 0xF5, 0xE1, 0x65, 0x00, 0xCC, 0x02, 0x01, 0xD0, 0x48, 0xBC, 0xBB, 0xD8, 0x99,
+0xEE, 0xEF, 0xC4, 0x24, 0x16, 0x4E, 0x33, 0xC2, 0x01, 0xC2, 0xB0, 0x10, 0xCA, 0x6B, 0x4D,
+0x43, 0xA8, 0xA1, 0x55, 0xCA, 0xD8, 0xEC, 0xB2, 0x79};
+
+/* 32 octets Private Key information to be input here. It is only required for Public Key OOB case.
+Used during provisioning by Library */
+const MOBLEUINT8 PrivKeyBuff[32] = {0x52, 0x9A, 0xA0, 0x67, 0x0D, 0x72, 0xCD, 0x64, 0x97, 0x50,
+0x2E, 0xD4, 0x73, 0x50, 0x2B, 0x03, 0x7E, 0x88, 0x03, 0xB5, 0xC6, 0x08, 0x29, 0xA5, 0xA3,
+0xCA, 0xA2, 0x19, 0x50, 0x55, 0x30, 0xBA};
+#else
+const MOBLEUINT8 PubKeyBuff[] = NULL;
+const MOBLEUINT8 PrivKeyBuff[] = NULL;
+#endif
+
+
+
+/* Select Node as Sniffer, Means able to sniff all the packets
+* 0 - Filters are enabled and packets not targeted to node are filtered
+* 1 - Filters are disabled and packets not targeted to node are not filtered
+*/
+MOBLEUINT8 DisableFilter = 0;
+
+#if LOW_POWER_FEATURE
+MOBLEINT32 BLEMesh_sleepTime;
+MOBLEUINT32 SysRefCount;
+MOBLEBOOL LPN_scan_enabled;
+#endif
+
+MOBLEUINT8 nvm_operation;
+MOBLEUINT8 nvm_flash_page;
+MOBLEUINT8 provisioning_completion;
+
+/* Timer to control unprovisioned device beacons */
+#if PB_ADV_SUPPORTED
+MOBLEUINT8 discoverTimer_Id;
+tClockTime discoverTimerinterval = DISCOVER_TIMER_INTERVAL;
+#endif
+
+#if (APPLI_OPTIM == 1)
+MOBLEUINT8 appliTaskTimer_Id;
+#endif
+#if LOW_POWER_FEATURE
+volatile uint8_t BleProcessInit = 0;
+#endif
+#if (LOW_POWER_FEATURE == 1)
+MOBLEUINT8 lowPowerNodeApiTimer_Id;
+#endif
+
+MOBLEUINT8 pPropertyId[4];
+
+/********************* Application configuration **************************/
+#if defined(__GNUC__) || defined(__IAR_SYSTEMS_ICC__) || defined(__CC_ARM)
+MOBLEUINT8 bdaddr[8];
+
+#ifdef INTERNAL_UNIQUE_NUMBER_MAC
+static void Appli_GetMACfromUniqueNumber(void);
+#endif /* INTERNAL_UNIQUE_NUMBER_MAC */
+
+const void *mobleNvmBase;
+const void *appNvmBase;
+const void *prvsnr_data;
+#else
+#error "Unknown compiler"
+#endif /* __GNUC__ || defined(__IAR_SYSTEMS_ICC__) || defined(__CC_ARM) */
+
+/* Private function prototypes -----------------------------------------------*/
+static void Appli_LongButtonPress(void);
+static void Appli_ShortButtonPress(void);
+#if USER_OUTPUT_OOB_APPLI_PROCESS
+void Appli_OobAuthenticationProcess(void);
+#endif
+void BLEMesh_UnprovisionCallback(MOBLEUINT8 reason);
+void Appli_LowPowerProcess(void);
+#if (APPLI_OPTIM == 1)
+static void AppliMeshTask(void);
+#endif
+void Appli_GetPublicationParamsCb(model_publicationparams_t* pPubParameters);
+WEAK_FUNCTION (void SerialPrvn_ProvisioningStatusUpdateCb(uint8_t flagPrvningInProcess,
+ MOBLEUINT16 nodeAddress));
+
+/* Private functions ---------------------------------------------------------*/
+
+/************************* Button Control functions ********************/
+/**
+* @brief Function calls when a button is pressed for short duration
+* @param void
+* @retval void
+*/
+static void Appli_ShortButtonPress(void)
+{
+ BLEMesh_ModelsCommand();
+}
+
+
+/**
+* @brief Function calls when a button is pressed for Long duration
+* @param void
+* @retval void
+*/
+static void Appli_LongButtonPress(void)
+{
+ /** GENERIC ONOFF **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API ONOFF GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_ON_OFF_GET, NULL);
+
+ /** GENERIC LEVEL **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API LEVEL GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_LEVEL_GET, NULL);
+
+ /** GENERIC POWER ONOFF **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API POWER ON OFF GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_POWER_ON_OFF_GET, NULL);
+
+ /** GENERIC TRANSITION TIME **/
+// TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DEFAULT TRANSITION TIME GET ------------- \r\n");
+// Appli_GenericClient_API(0, GENERIC_DEFAULT_TRANSITION_TIME_GET, NULL);
+
+ /** LIGHT LIGHTNESS **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_GET, NULL);
+
+ /** LIGHT LIGHTNESS LINEAR **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS LINEAR GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_LINEAR_GET, NULL);
+
+ /** LIGHT LIGHTNESS DEFAULT **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS DEFAULT GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_DEFAULT_GET, NULL);
+
+ /** LIGHT LIGHTNESS RANGE **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS RANGE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LIGHTNESS_RANGE_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE RANGE **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE RANGE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_RANGE_GET, NULL);
+
+ /** LIGHT LIGHTNESS CTL DEFAULT **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL DEFAULT GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_CTL_DEFAULT_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL DEFAULT **/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL DEFAULT GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_DEFAULT_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL RANGE**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL RANGE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_RANGE_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL HUE**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL HUE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_HUE_GET, NULL);
+
+ /** LIGHT LIGHTNESS HSL SATURATION**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SATURATION GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_HSL_SATURATION_GET, NULL);
+
+ /** LIGHT LC MODE**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC MODE GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_MODE_GET, NULL);
+
+ /** LIGHT LC OM**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC OM GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_OM_GET, NULL);
+
+ /** LIGHT LC ON OFF**/
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC ON OFF GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_ON_OFF_GET, NULL);
+
+ /** LIGHT LC PROPERTY **/
+//LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B
+ pPropertyId[0]= 0x2B; // Property ID byte 0 : Property ID identifying a Light LC Property.
+ pPropertyId[1]= 0x00; // Property ID byte 1 : Property ID identifying a Light LC Property.
+// TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC PROPERTY GET ------------- \r\n");
+// Appli_LightClient_API(0, LIGHT_LC_PROPERTY_GET, pPropertyId);
+
+
+ /* SENSOR APIs */
+ //PRESENT_AMBIENT_TEMPERATURE_PID : 0x004F
+ pPropertyId[0]= 0x4F; // Property ID byte 0 : Property ID for the sensor
+ pPropertyId[1]= 0x00; // Property ID byte 1 : Property ID for the sensor
+
+ /** SENSOR DESCRIPTOR**/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR DESCRIPTOR GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_DESCRIPTOR_GET, pPropertyId);
+
+ /** SENSOR CADENCE**/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR CADENCE GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_CADENCE_GET, pPropertyId);
+
+ /** SENSOR SETTINGS **/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTINGS GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_SETTINGS_GET, pPropertyId);
+
+ /** SENSOR SETTING **/
+ pPropertyId[2]= 0xAD; // Sensor Setting Property ID byte 0 : Property ID for the sensor setting
+ pPropertyId[3]= 0x00; // Sensor Setting Property ID byte 1 : Property ID for the sensor setting
+
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTING GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_SETTING_GET, pPropertyId);
+
+ /** SENSOR GET **/
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_GET, pPropertyId);
+
+ /** SENSOR COLUMN **/
+// pPropertyId[2]= 0x01; // Raw Value X byte 0 : Raw value identifying a column
+// pPropertyId[3]= 0x00; // Raw Value X byte 1 : Raw value identifying a column
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR COLUMN GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_COLUMN_GET, pPropertyId);
+
+ /** SENSOR SERIES **/
+// pPropertyId[2]= 0x01; // Raw Value X1 byte 0 : Raw value identifying a starting column.
+// pPropertyId[3]= 0x02; // Raw Value X2 byte 0 : Raw value identifying an ending column.
+// TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SERIES GET ------------- \r\n");
+// Appli_SensorsClient_API(0, SENSOR_SERIES_GET, pPropertyId);
+
+ IntensityPublish();
+
+}
+
+/**
+* @brief Updates the button status
+* @param int isPressed
+* @retval void
+*/
+static void Appli_UpdateButtonState(int isPressed)
+{
+ uint32_t t0 = 0,t1 = 1;
+
+ t0 = Clock_Time(); /* SW1 press timing */
+
+ while(BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED);
+ t1 = Clock_Time(); /* SW1 release timing */
+
+ if((t1 - t0) > LONG_PRESS_THRESHOLD)
+ {
+ Appli_LongButtonPress();
+ }
+ else if((t1 - t0) > BOUNCE_THRESHOLD)
+ {
+ /* Button 1 short press action */
+ Appli_ShortButtonPress();
+ }
+}
+
+/**
+* @brief task for the BLE MESH, the MESH Models and the Appli processes
+* @param void
+* @retval void
+*/
+static void Mesh_Task()
+{
+ BLEMesh_Process();
+ BLEMesh_ModelsProcess(); /* Models Processing */
+
+ if((UnprovisionInProgress > 0) &&
+ (!LL_FLASH_IsActiveFlag_OperationSuspended()))
+ {
+ UnprovisionInProgress = 0;
+ AppliNvm_ClearModelState();
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, (NVM_SIZE >> 1));
+ PalNvmErase(APP_NVM_BASE, 0);
+ PalNvmErase(PRVN_NVM_BASE_OFFSET, 0);
+ TRACE_M(TF_PROVISION,"NVM erased\r\n");
+ TRACE_M(TF_PROVISION,"Device is unprovisioned by application \r\n");
+ }
+
+#if (APPLI_OPTIM == 0)
+ /* Set the task in the scheduler for the next execution */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+#endif
+}
+
+/**
+* @brief task for the BLE MESH, the MESH Models and the Appli processes
+* @param void
+* @retval void
+*/
+static void Appli_Task()
+{
+ Appli_Process();
+
+#if (APPLI_OPTIM == 0)
+ /* Set the task in the scheduler for the next execution */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+#endif
+}
+
+/************************* LED Control functions ********************/
+/**
+* @brief Controls the state of on board LED
+* @param void
+* @retval void
+*/
+void Appli_LedCtrl(void)
+{
+ if(Appli_LedState)
+ {
+ BSP_LED_On(LED_BLUE);
+
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+
+ }
+}
+
+/************* BLE-Mesh library callback functions ***************/
+
+/**
+* @brief Blinks the on board LED
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_LedBlink(void)
+{
+ /* Switch On the LED */
+ Appli_LedState = 1;
+ Appli_LedCtrl();
+ Clock_Wait(500);
+
+ /* Switch Off the LED */
+ Appli_LedState = 0;
+ Appli_LedCtrl();
+ Clock_Wait(500);
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Callback function Sets the state of the bulb
+* @param MOBLEUINT16 ctrl which sets the lighting state of LED
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_LedStateCtrlCb(MOBLEUINT16 ctrl)
+{
+ /* Switch On the LED */
+ if(ctrl > 0)
+ {
+ Appli_LedState = 1;
+ }
+ /* Switch Off the LED */
+ else
+ {
+ Appli_LedState = 0;
+ }
+
+ Appli_LedCtrl();
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief initializes BLE Stack
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleStackInitCb()
+{
+ /* BLE Stack initialization */
+ /* Not Required in BLE */
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief Sets transmission power of RF
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleSetTxPowerCb(void)
+{
+ tBleStatus status;
+ /* API to change the Transmission power of BLE Device */
+ /* uint8_t en_high_power, uint8_t pa_level
+ en_high_power Can be only 0 or 1. Set high power bit on or off.
+ pa_level Can be from 0 to 7. Set the PA level value
+ */
+ status = aci_hal_set_tx_power_level(1, CFG_TX_POWER);
+ if (status)
+ return MOBLE_RESULT_FAIL;
+ else
+ return MOBLE_RESULT_SUCCESS;
+}
+
+/**
+* @brief SET UUID value
+* @param uuid_prefix_data : Pointer of UUID buffer data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleSetUUIDCb(MOBLEUINT8 *uuid_prefix_data)
+{
+ /* UUID is 128 bits (16 bytes) and can guarantee uniqueness across space and time.
+ It can be “Time-based “ UUID or “truly-random or pseudo-random numbers”
+
+ In this buffer user need to fill 10 bytes of UUID data.
+ Remaining 6 bytes, library fill this data with BDaddress.
+
+ For example :
+ F81D4FAE-7DEC-XBC4-Y12F-17D1AD07A961 (16 bytes)
+ <any number> |_| |_| <BDAddress>
+
+ X = 1 i.e. “Time Base UUID”
+ X = 4 i.e. “Random Number“
+ Y = 4 i.e. Conforming to the current spec
+ For UUID information refer RFC4122
+ */
+
+ /* copy UUID prefix data*/
+ uint8_t uuid_buff[10] = {0xF8,0x1D,0x4F,0xAE,0x7D,0xEC};/*random value by user */
+
+ uuid_buff[6] = 0x4B; /* 0x4B => 4 : Random */
+ uuid_buff[7] = 'S' ; /* User define value */
+ uuid_buff[8] = 0xA1; /* 0xA1 => A : Conforming to the current Spec */
+ uuid_buff[9] = 'T' ; /* User define value */
+
+ memcpy(uuid_prefix_data,uuid_buff,sizeof(uuid_buff));
+ memcpy(&uuid_prefix_data[10],bdaddr,6); /* Copy bdaddr to last 6 bytes of UUID */
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief SET CID , PID and VID values
+* @param company_product_info : vendor fill product information in this buffer
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleSetProductInfoCB(MOBLEUINT8 *company_product_info)
+{
+ /* CID : provide 16-bit company identifier assigned by the Bluetooth SIG */
+ uint16_t company_id = COMPANY_ID;
+
+ /* PID : Provide 16-bit vendor-assigned product identifier */
+ uint16_t product_id = PRODUCT_ID;
+
+ /* VID : Provide 16-bit vendor-assigned product version identifier*/
+ uint16_t product_version_id = PRODUCT_VERSION_ID;
+
+ memcpy(company_product_info + 0,(void *)&company_id,sizeof(company_id));
+ memcpy(company_product_info + 2 ,(void *)&product_id,sizeof(product_id));
+ memcpy(company_product_info + 4 ,(void *)&product_version_id,sizeof(product_version_id));
+
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Call back function called when GATT Connection Created
+* @param none
+* @retval none
+*/
+void Appli_BleGattConnectionCompleteCb(void)
+{
+ ProvisionFlag = 1;
+ /* Proxy Node, will be called whenever Gatt connection is established */
+ /* Turn ON Red LED*/
+ ProxyFlag = 1;
+ BSP_LED_On(LED_GREEN);
+}
+
+/**
+* @brief Call back function called when GATT Disconnection Complete
+* @param none
+* @retval none
+*/
+void Appli_BleGattDisconnectionCompleteCb(void)
+{
+ ProvisionFlag = 0;
+ /* Proxy Node, will be called whenever Gatt disconnected */
+ /* Turn Off Red LED*/
+ ProxyFlag = 0;
+ BSP_LED_Off(LED_GREEN);
+}
+
+/**
+* @brief Unprovisioned Node Identification
+* @param MOBLEUINT8 data
+* @retval none
+*/
+void Appli_BleUnprovisionedIdentifyCb(MOBLEUINT8 data)
+{
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ PrvngInProcess = 1;
+#endif
+ TRACE_M(TF_PROVISION,"Unprovisioned Node Identifier received: %02x\n\r", data);
+}
+
+/**
+* @brief Set Number of Elements in a Node
+* @param none
+* @retval Sending the value to BLE Mesh Library
+*/
+MOBLEUINT8 Appli_BleSetNumberOfElementsCb(void)
+{
+ if(NumberOfElements > BLEMesh_GetNumberOfElements())
+ {
+ TRACE_M(TF_MISC, "Number of Elements enabled in application exceeding from Library Capability!\r\n");
+ return BLEMesh_GetNumberOfElements();
+ }
+
+ else if(NumberOfElements == 0)
+ {
+ TRACE_M(TF_MISC,"Number Of Elements must be 1 or greater than 1!\r\n");
+ return 1;
+ }
+
+ else
+ {
+ return NumberOfElements;
+ }
+}
+
+/**
+* @brief Sets the Attention Timer Callback function
+* @param none
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_BleAttentionTimerCb(void)
+{
+/* avoid printf, if low power feature is supported */
+#if (LOW_POWER_FEATURE == 0)
+ TRACE_M(TF_MISC, " \r\n");
+#endif /* LOW_POWER_FEATURE == 0 */
+ return MOBLE_RESULT_SUCCESS;
+}
+
+
+/**
+* @brief Call back function to give Output OOB information
+* @param MOBLEUINT8* output_oob
+* @param MOBLEUINT8 size
+* @retval void
+*/
+void Appli_BleOutputOOBAuthCb(MOBLEUINT8* output_oob, MOBLEUINT8 size)
+{
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ uint32_t ooBData = 0;
+ for (MOBLEUINT8 i = 0; i < size; i++)
+ {
+ ooBData |= (output_oob[i] << 8*i);
+ }
+ OutputOobData = ooBData;
+ TRACE_M(TF_PROVISION,"Output OOB information for provisioner: %ld\n\r", ooBData);
+ #endif
+}
+
+
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+/**
+* @brief Process for both output and Input OOB handling
+* @param void
+* @retval void
+*/
+void Appli_OobAuthenticationProcess(void)
+{
+ if(OutputOobBlinkCount < OutputOobData)
+ {
+ OutputOobBlinkCount++;
+ Appli_LedBlink();
+ }
+ else
+ {
+ OutputOobBlinkCount++;
+ Clock_Wait(1000);
+ if(OutputOobBlinkCount > OutputOobData+3)
+ {
+ OutputOobBlinkCount = 0;
+ }
+ }
+}
+#endif
+
+
+/**
+* @brief Call back function to provide Input OOB information
+* @param MOBLEUINT8 size
+* @retval MOBLEUINT8*
+*/
+MOBLEUINT8* Appli_BleInputOOBAuthCb(MOBLEUINT8 size)
+{
+#if defined (ENABLE_AUTH_TYPE_INPUT_OOB) && (ENABLE_SERIAL_INTERFACE)
+ MOBLEUINT16 inputTimer = 0;
+ TRACE_M(TF_PROVISION,"Input OOB information for provisioner-Size: %d\n\r", size);
+ while(1)
+ {
+ Serial_InterfaceProcess();
+ /* Enable Mesh process working in while loop */
+ BTLE_StackTick();
+ /* Check if input is completed or timeout */
+ if((inputOOBDataReady != 0x00) | (inputTimer > INPUT_OOB_TIMEOUT))
+ {
+ inputOOBDataReady = 0;
+ break;
+ }
+ Clock_Wait(100);
+ inputTimer++;
+ }
+ return InputOobData;
+#else
+ return NULL;
+#endif
+}
+
+
+/**
+* @brief Call back function to provide Input OOB information
+* @param rcvdStringBuff: buffer to store input string
+* @param rcvdStringSize: length of the input string
+* @retval void
+*/
+void Appli_BleSerialInputOOBValue(char *rcvdStringBuff, uint16_t rcvdStringSize)
+{
+#ifdef ENABLE_AUTH_TYPE_INPUT_OOB
+ unsigned long long InputOobDatatemp;
+ sscanf(rcvdStringBuff + 5, "%lld", &InputOobDatatemp);
+ memmove(&InputOobData, &InputOobDatatemp, sizeof(InputOobDatatemp));
+ inputOOBDataReady = 1;
+#endif
+}
+
+
+/**
+* @brief Application BLE Disable Filter
+* @param none
+* @retval Status is replied
+*/
+MOBLEUINT8 Appli_BleDisableFilterCb(void)
+{
+ return DisableFilter;
+}
+
+/**
+* @brief Checks and do Manual Unprovision of board
+* @param void
+* @retval void
+*/
+void Appli_CheckForUnprovision(void)
+{
+ /* Checks if the User button is pressed or not at the startup */
+ if (BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED)
+ {
+ BSP_LED_On(LED_BLUE);
+ tClockTime t = Clock_Time();
+ int interrupted = 0;
+
+ /*Wait to check if user is pressing the button persistently*/
+ while ((Clock_Time() - t) < MANUAL_UNPROVISION_TIMER)
+ {
+ if (BSP_PB_GetState(BUTTON_SW1) != BUTTON_PRESSED)
+ {
+ interrupted = 1;
+ break;
+ }
+ }
+ /* Unprovision, show that unprovisioning is completed, and
+ wait until user releases button*/
+ if (!interrupted)
+ {
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, (NVM_SIZE >> 1));
+ PalNvmErase(APP_NVM_BASE, 0);
+ PalNvmErase(PRVN_NVM_BASE_OFFSET, 0);
+ TRACE_M(TF_PROVISION,"NVM erased\r\n");
+
+ BLEMesh_Unprovision();
+ AppliNvm_ClearModelState();
+ TRACE_M(TF_PROVISION,"Device is unprovisioned by application \r\n");
+ t = Clock_Time();
+ while ((Clock_Time() - t) < FLASH_ERASE_TIME)
+ {
+ BLEMesh_Process();
+ }
+
+ while (BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED)
+ {
+ Appli_LedBlink();
+ }
+ }
+ BSP_LED_Off(LED_BLUE);
+ NVIC_SystemReset();
+ }
+
+ /* Register the task for all MESH dedicated processes */
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_REQ_ID, UTIL_SEQ_RFU, Mesh_Task );
+ /* Set the task in the scheduler for the next scheduling */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+#else
+ BleProcessInit = 1;
+#endif
+
+ /* Register the task for all MESH dedicated processes */
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_APPLI_REQ_ID, UTIL_SEQ_RFU, Appli_Task );
+ /* Set the task in the scheduler for the next scheduling */
+#if (LOW_POWER_FEATURE == 0)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+
+#if (APPLI_OPTIM == 1)
+ HW_TS_Create(CFG_TIM_PROC_ID_ISR, &appliTaskTimer_Id, hw_ts_Repeated, AppliMeshTask);
+
+ HW_TS_Start(appliTaskTimer_Id, APPLI_MESH_TIMER_INTERVAL);
+#endif
+}
+
+void Appli_Unprovision(void)
+{
+ if(!ProxyFlag)
+ {
+ /* No GATT connection */
+ BLEMesh_StopAdvScan();
+
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, (NVM_SIZE >> 1));
+ PalNvmErase(APP_NVM_BASE, 0);
+ PalNvmErase(PRVN_NVM_BASE_OFFSET, 0);
+ TRACE_M(TF_PROVISION,"NVM erased\r\n");
+
+ BLEMesh_Unprovision();
+ AppliNvm_ClearModelState();
+ TRACE_M(TF_PROVISION,"Device is unprovisioned by application \r\n");
+
+ BLEMesh_Process();
+
+ NVIC_SystemReset();
+ }
+}
+
+
+/**
+* @brief Checks and updates Mac address to generate MAC Address
+* @param void
+* @retval MOBLEUINT8 sum return the sum calculated mac
+*/
+int Appli_CheckBdMacAddr(void)
+{
+ MOBLEUINT8 sum = 239;
+ MOBLEUINT8 result = 0;
+ tBleStatus status = BLE_STATUS_SUCCESS;
+
+#ifdef EXTERNAL_MAC_ADDR_MGMT
+ memcpy(bdaddr, (MOBLEUINT8 *)CFG_ADV_BD_ADDRESS, 7);
+ bdaddr[7] = (EXTERNAL_MAC_ADDR_MGMT | EXTERNAL_MAC_TYPE);
+#endif
+
+#ifdef INTERNAL_UNIQUE_NUMBER_MAC
+ status = aci_hal_read_config_data(CONFIG_DATA_PUBADDR_OFFSET,
+ &bdaddr[7],
+ bdaddr);
+ if(status != BLE_STATUS_SUCCESS)
+ {
+ TRACE_M(TF_PROVISION, "Failed to read Public Address %d", status);
+ }
+
+ Appli_GetMACfromUniqueNumber();
+ bdaddr[7] = INTERNAL_UNIQUE_NUMBER_MAC;
+#endif
+
+ for (int i = 0; i < 6; ++i)
+ {
+ sum = (sum << 1) + bdaddr[i];
+ }
+
+ if (sum == bdaddr[6])
+ {
+ result = 1;
+ }
+
+#if defined(EXTERNAL_MAC_ADDR_MGMT) && defined(EXTERNAL_MAC_IS_PUBLIC_ADDR)
+ /* Do nothing for modification of 2 MSb */
+#else
+ bdaddr[5] |= 0xC0; /* 2 Msb bits shall be 11b for Static Random Address */
+#endif
+
+#ifdef GENERATE_STATIC_RANDOM_MAC
+ /* 6bytes of MAC will be filled, baddr_tmp[7] will contain the length */
+ status = aci_hal_read_config_data(CONFIG_DATA_RANDOM_ADDRESS_OFFSET,
+ &bdaddr[7],
+ bdaddr);
+ if(status != BLE_STATUS_SUCCESS)
+ {
+ TRACE_M(TF_PROVISION, "Failed to read Random Address %d", status);
+ }
+
+ bdaddr[7] = GENERATE_STATIC_RANDOM_MAC;
+ /* Do nothing for bdaddr, just pass the identification */
+ result = 1; /* This will overwrite the above for loop result,
+ which is redundant for this case */
+#endif
+
+ return result;
+}
+
+
+/**
+* @brief Reads the unique serial number of the device
+* @param void
+* @retval void
+*/
+#ifdef INTERNAL_UNIQUE_NUMBER_MAC
+static void Appli_GetMACfromUniqueNumber(void)
+{
+#ifdef STM32L152xE
+ /************************STM32L152RE 96 bit Unique ID addresses***************/
+#define DEVICE_ID_REG0 (0x1FF800D0)
+#define DEVICE_ID_REG1 (0x1FF800D4)
+#define DEVICE_ID_REG2 (0x1FF800E4)
+#endif
+
+ /*
+ The unique serial number is a six bytes value generated from STM32 UID
+ stored at DEVICE_ID_REG0, DEVICE_ID_REG1 and DEVICE_ID_REG2. It is generated
+ cancating 4bytes from DEVICE_ID_REG2 and first bytes of DEVICE_ID_REG0 and
+ DEVICE_ID_REG1. Since the UID at DEVICE_ID_REG0 and
+ DEVICE_ID_REG1 could be identical for same batch samples,
+ 4 bytes have been taken from DEVICE_ID_REG2
+ */
+
+ uint8_t i;
+ uint8_t sum = 239;
+#if 0
+ uint8_t *ls_addr;
+
+ ls_addr = (uint8_t*)DEVICE_ID_REG2;
+
+ for(i = 0; i < 4; i += 1)
+ {
+ bdaddr[i] = *ls_addr;
+ ls_addr++;
+ }
+
+ bdaddr[4] = *(uint8_t*)(DEVICE_ID_REG0);
+ bdaddr[5] = (*(uint8_t*)(DEVICE_ID_REG1)) | 0xC0;
+#endif
+ /* Static Device Address:
+ The two most significant bits
+ of the address shall be equal to 1,
+ hence ORed with 0xC0)*/
+
+ for (i = 0; i < 6; ++i)
+ {
+ sum = (sum << 1) + bdaddr[i];
+ }
+ bdaddr[6] = sum;
+}
+#endif
+
+
+#if 0
+/**
+* @brief provides the information of the power saving mode
+* @param sleepMode curently unused, to be used in future
+* @retval SleepModes returns the mode of the controller
+*/
+SleepModes App_SleepMode_Check(SleepModes sleepMode)
+{
+ if (buttonState == BS_OFF)
+ {
+ return SLEEPMODE_WAKETIMER;
+ }
+ else
+ {
+ return SLEEPMODE_RUNNING;
+ }
+}
+#endif
+
+/**
+* @brief callback for unprovision the node by provisioner.
+* @param status reserved for future
+* @retval void
+*/
+void BLEMesh_UnprovisionCallback(MOBLEUINT8 reason)
+{
+ ProvisionFlag = 0;
+
+ TRACE_I(TF_PROVISION,"Device is unprovisioned by provisioner \n\r");
+#if PB_ADV_SUPPORTED
+ BLEMesh_SetUnprovisionedDevBeaconInterval(PBADV_UNPROV_DEV_BEACON_INTERVAL);
+#endif
+ AppliNvm_ClearModelState();
+}
+
+/**
+* @brief This function scans and prints unprovisioned devices
+* @param unprovDeviceArray: Pointer of an array for filling unprovisioned device UUIDs
+* @param noOfUnprovDevices: Pointer to take total count of nearby unprovisioned devices
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT BLEMesh_ScanDevices(neighbor_params_t *unprovDeviceArray, MOBLEUINT8 *noOfUnprovDevices)
+{
+ MOBLE_RESULT result;
+
+ result = BLEMesh_GetNeighborState(unprovDeviceArray,noOfUnprovDevices);
+ /* Array print for testing */
+ /* Check if any unprovisioned device is available */
+ if(!(*noOfUnprovDevices))
+ {
+ TRACE_I(TF_PROVISION,"No Unprovisioned Device Nearby\r\n");
+ }
+ else
+ {
+ for(MOBLEINT8 count=0; count < *noOfUnprovDevices; count++)
+ {
+ BLEMesh_PrintStringCb("");
+ TRACE_I(TF_PROVISION,"Device-%d -> ", count);
+ BLEMesh_PrintDataCb(unprovDeviceArray[count].uuid, 16);
+ }
+ }
+ return result;
+}
+/**
+* @brief This function returns starts the provisioning of one of the devices
+* @param unprovDeviceArray: Pointer of an array having unprovisioned device UUIDs
+* @param index: Index of the device to be provisioned
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT BLEMesh_ProvisionDevice(neighbor_params_t *unprovDeviceArray, MOBLEUINT16 index)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ result = BLEMesh_ProvisionRemote((unprovDeviceArray+index)->uuid);
+
+ return result;
+}
+
+/* Customized implementation for provisioning a device from mesh node - End */
+
+/**
+* @brief Call back function called when PB-ADV link Opened
+* @param none
+* @retval none
+*/
+void BLEMesh_PbAdvLinkOpenCb(void)
+{
+ ProvisionFlag = 0;
+ TRACE_M(TF_PROVISION,"PB-ADV Link opened successfully \n\r");
+ /* Turn ON Red LED*/
+#if LOW_POWER_FEATURE
+ /* do nothing */
+#else
+ BSP_LED_On(LED_RED);
+#endif
+}
+
+
+/**
+* @brief Call back function called when PB-ADV link Closed
+* @param none
+* @retval none
+*/
+void BLEMesh_PbAdvLinkCloseCb(void)
+{
+ TRACE_M(TF_PROVISION,"PB-ADV Link Closed successfully \n\r");
+ /* Turn Off Red LED*/
+#if LOW_POWER_FEATURE
+ /* do nothing */
+#else
+ BSP_LED_Off(LED_RED);
+#endif
+}
+
+
+/**
+* @brief callback for provision the node by provisioner.
+* @param void
+* @retval void
+*/
+void BLEMesh_ProvisionCallback(void)
+{
+ ProvisionFlag = 1;
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ PrvngInProcess = 0;
+#endif
+ TRACE_I(TF_PROVISION,"Device is provisioned by provisioner \r\n");
+
+#if (LOW_POWER_FEATURE == 1)
+ /* Call API LPN_API_TIMER_INTERVAL after LPN provisioning */
+// HW_TS_Start(lowPowerNodeApiTimer_Id, LPN_API_TIMER_INTERVAL);
+#endif
+}
+
+
+/**
+* @brief callback for configuration the node by provisioner.
+* @param void
+* @retval void
+*/
+void BLEMesh_ConfigurationCallback(void)
+{
+#if (LOW_POWER_FEATURE == 1)
+// /* Set the task in the scheduler for the next execution */
+// UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_LPN_REQ_ID, CFG_SCH_PRIO_0);
+ /* Call API LPN_API_TIMER_INTERVAL after LPN provisioning */
+ if(LPN_scan_enabled == MOBLE_FALSE)
+ {
+ HW_TS_Start(lowPowerNodeApiTimer_Id, LPN_API_TIMER_INTERVAL);
+ LPN_scan_enabled = MOBLE_TRUE;
+ }
+#endif
+}
+
+
+/**
+* @brief callback for friendship established by friend node
+* @param address of corresponding low power node
+* @param receive delay of low power node (unit ms)
+* @param poll timeout of low power node (unit 100ms)
+* @param number of elements of low power node
+* @param previous friend address of low power node (can be invalid address)
+* @retval void
+*/
+void BLEMesh_FnFriendshipEstablishedCallback(MOBLE_ADDRESS lpnAddress,
+ MOBLEUINT8 lpnReceiveDelay,
+ MOBLEUINT32 lpnPollTimeout,
+ MOBLEUINT8 lpnNumElements,
+ MOBLE_ADDRESS lpnPrevFriendAddress)
+{
+ TRACE_M(TF_LPN_FRND,"Friendship established. Low power node address 0x%.4X \r\n", lpnAddress);
+ TRACE_M(TF_LPN_FRND,"Low power node receive delay %dms \r\n", lpnReceiveDelay);
+ TRACE_M(TF_LPN_FRND,"Low power node poll timeout %ldms \r\n", lpnPollTimeout*100);
+ TRACE_M(TF_LPN_FRND,"Low power node number of elements %d \r\n", lpnNumElements);
+ if (lpnPrevFriendAddress != MOBLE_ADDRESS_UNASSIGNED)
+ {
+ TRACE_M(TF_LPN_FRND,"Low power node previous friend address 0x%.4X \r\n", lpnPrevFriendAddress);
+ }
+}
+
+/**
+* @brief callback for friendship clear by friend node
+* @param reason of friendship clear
+* 0: reserved,
+* 1: friend request received from existing low power node (friend)
+* 2: low power node poll timeout occurred
+* 3: friend clear received
+* @param previous friend address of low power node (can be invalid address)
+* @retval void
+*/
+void BLEMesh_FnFriendshipClearedCallback(MOBLEUINT8 reason, MOBLE_ADDRESS lpnAddress)
+{
+ TRACE_M(TF_LPN_FRND,"Friendship cleared. Low power node address 0x%.4X \r\n", lpnAddress);
+
+ switch(reason)
+ {
+ case FN_CLEARED_REPEAT_REQUEST:
+ TRACE_M(TF_LPN_FRND,"Reason: New friend request received from existing low power node \r\n");
+ break;
+ case FN_CLEARED_POLL_TIMEOUT:
+ TRACE_M(TF_LPN_FRND,"Reason: Low power node poll timeout occurred \r\n");
+ break;
+ case FN_CLEARED_FRIEND_CLEAR:
+ TRACE_M(TF_LPN_FRND,"Reason: Friend clear received \r\n");
+ break;
+ default:
+ TRACE_M(TF_LPN_FRND,"Reason: Invalid \r\n");
+ break;
+ }
+}
+
+/**
+* @brief callback for friendship established by low power node
+* @param address of corresponding friend node
+* @retval void
+*/
+void BLEMesh_LpnFriendshipEstablishedCallback(MOBLE_ADDRESS fnAddress)
+{
+ /* Friendship established */
+ TRACE_M(TF_LPN_FRND,"Friend node responding, friendship established.\r\n");
+}
+
+/**
+* @brief callback for friendship cleare by low power node
+* @param reason of friendship clear.
+* 0: reserved
+* 1: No response received from friend node
+* @retval void
+*/
+void BLEMesh_LpnFriendshipClearedCallback(MOBLEUINT8 reason, MOBLE_ADDRESS fnAddress)
+{
+ TRACE_M(TF_LPN_FRND,"Friendship cleared. Friend node address 0x%.4x \r\n", fnAddress);
+
+ if (reason == LPN_CLEARED_NO_RESPONSE)
+ {
+ TRACE_M(TF_LPN_FRND,"Reason: Friend node not responding \r\n");
+ }
+ else
+ {
+ TRACE_M(TF_LPN_FRND,"Reason: Invalid \r\n");
+ }
+}
+
+/**
+* @brief New neighbor appeared callback in neighbor table.
+ If MAC address of neighbor changes it appears as new neighbor.
+* @param MAC address of neighbor.
+* is neighbor provisioned or unprovisioned device.
+* uuid of neighbor. NULL if not available
+* network address of neighbor. MOBLE_ADDRESS_UNASSIGNED if not available
+* last updated rssi value.
+* @retval void
+*/
+void BLEMesh_NeighborAppearedCallback(const MOBLEUINT8* bdAddr,
+ MOBLEBOOL provisioned,
+ const MOBLEUINT8* uuid,
+ MOBLE_ADDRESS networkAddress,
+ MOBLEINT8 rssi)
+{
+ TRACE_M(TF_NEIGHBOUR,"New neighbor appeared. Neighbor MAC address:");
+
+ for (MOBLEUINT8 count=0 ; count<6; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", bdAddr[count]);
+ }
+
+ if (provisioned == MOBLE_TRUE)
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Provisioned node. \n\r");
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Unprovisioned device. \n\r");
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"rssi: %d. ", rssi);
+
+ if (networkAddress != MOBLE_ADDRESS_UNASSIGNED)
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address: 0x%.4x\n\r", networkAddress);
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address not available\n\r");
+ }
+
+ for (MOBLEUINT8 i=0; i<16; i++)
+ {
+ if (uuid[i] == 0x00)
+ {
+ continue;
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"UUID: ");
+
+ for (MOBLEUINT8 count=0 ; count<16; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", uuid[count]);
+ }
+
+ break;
+ }
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"\n\r");
+}
+
+/**
+* @brief Existing neighbor refreshed callback in neighbor table.
+ If MAC address of neighbor changes it appears as new neighbor.
+* @param MAC address of neighbor.
+* is neighbor provisioned or unprovisioned device.
+* uuid of neighbor. NULL if not available
+* network address of neighbor. MOBLE_ADDRESS_UNASSIGNED if not available
+* last updated rssi value.
+* @retval void
+*/
+void BLEMesh_NeighborRefreshedCallback(const MOBLEUINT8* bdAddr,
+ MOBLEBOOL provisioned,
+ const MOBLEUINT8* uuid,
+ MOBLE_ADDRESS networkAddress,
+ MOBLEINT8 rssi)
+{
+ TRACE_M(TF_NEIGHBOUR,"Existing neighbor refreshed. Neighbor MAC address:");
+
+ for (MOBLEUINT8 count=0 ; count<6; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", bdAddr[count]);
+ }
+
+ if (provisioned == MOBLE_TRUE)
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Provisioned node. \n\r");
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"-> Unprovisioned device. \n\r");
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"rssi: %d. ", rssi);
+
+ if (networkAddress != MOBLE_ADDRESS_UNASSIGNED)
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address: 0x%.4x\n\r", networkAddress);
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"Network address not available\n\r");
+ }
+
+ for (MOBLEUINT8 i=0; i<16; i++)
+ {
+ if (uuid[i] == 0x00)
+ {
+ continue;
+ }
+ else
+ {
+ TRACE_M(TF_NEIGHBOUR,"UUID: ");
+
+ for (MOBLEUINT8 count=0 ; count<16; count++)
+ {
+ TRACE_M(TF_NEIGHBOUR,"%.2x ", uuid[count]);
+ }
+
+ break;
+ }
+ }
+
+ TRACE_M(TF_NEIGHBOUR,"\n\r");
+}
+
+/**
+* @brief Beacon received callback
+* Beacons are received only if received beacon ad type is not
+* Mesh Message, Mesh Beacon or PB-ADV
+* @param MAC address
+* data
+* length of beacon
+* rssi value of beacon
+* @retval void
+*/
+#if (ENABLE_CUSTOM_BEACON == 1)
+/* BLEMesh_CustomBeaconReceivedCallback high frequency callback */
+void BLEMesh_CustomBeaconReceivedCallback(const MOBLEUINT8* bdAddr,
+ const MOBLEUINT8* data,
+ MOBLEUINT8 length,
+ MOBLEINT8 rssi)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ if (length < 2)
+ {
+ result = MOBLE_RESULT_FAIL;
+ TRACE_M(TF_BEACON, "Message is too small \r\n");
+ }
+
+ if (result == MOBLE_RESULT_SUCCESS)
+ {
+ if (data[1] == CUSTOM_BEACON_AD_TYPE)
+ {
+ TRACE_M(TF_BEACON, "Message length(%d), rssi(%d) \r\n", length, rssi);
+
+ if (TF_BEACON == 1)
+ {
+ TRACE_I(TF_BEACON, "Data: ");
+ for (MOBLEUINT8 count=0; count<length; count++)
+ {
+ TRACE_I(TF_BEACON, "%.2x ", data[count]);
+ }
+ TRACE_I(TF_BEACON, " \r\n");
+ }
+ }
+ }
+}
+#endif /* BLEMesh_CustomBeaconReceivedCallback high frequency callback */
+
+/**
+* @brief Custom beacon generator
+* If size set to > 31 bytes, beacon is rejected
+* BLEMesh_SetCustomBeaconInterval should be set to get this callback
+* @param beacon data buffer. It includes length and AD type fields
+* buffer size
+* @retval void
+*/
+void BLEMesh_CustomBeaconGeneratorCallback(void* buffer, MOBLEUINT8* size)
+{
+ MOBLEUINT8 adType = CUSTOM_BEACON_AD_TYPE;
+ MOBLEUINT8 dataLength = 5;
+ MOBLEUINT8 data[5] = {0x00,0x01,0x02,0x03,0x04};
+ MOBLEUINT8* buf = (MOBLEUINT8*)buffer;
+
+ buf[0] = dataLength+1;
+ buf[1] = adType;
+ memcpy(buf+2, data, dataLength);
+
+ *size = dataLength+2;
+}
+
+/**
+* @brief Low Power mode process
+* If low power feature is supported, device enables low power mode
+* @param void
+* @retval void
+*/
+void Appli_LowPowerProcess(void)
+{
+#if 0
+#if LOW_POWER_FEATURE
+ BluenrgMesh_sleepTime = (MOBLEINT32)BluenrgMesh_GetSleepDuration();
+
+ if (BluenrgMesh_sleepTime > 0)
+ {
+ /* Timer 0 used for low power */
+ HAL_VTimerStart_ms(0, BluenrgMesh_sleepTime);
+
+ /* To start virtual timer */
+ BTLE_StackTick();
+
+ /* save virtual timer current count */
+ SysRefCount = HAL_VTimerGetCurrentTime_sysT32();
+
+ /* wakeup either from io or virtual timer */
+ BlueNRG_Sleep(SLEEPMODE_WAKETIMER, WAKEUP_IO13, WAKEUP_IOx_LOW);
+
+ /* update systick count based on updated virtual timer count */
+ Set_Clock_Time(Clock_Time() +
+ HAL_VTimerDiff_ms_sysT32(HAL_VTimerGetCurrentTime_sysT32(), SysRefCount));
+
+ /* Stop Timer 0 */
+ HAL_VTimer_Stop(0);
+ }
+#endif /* LOW_POWER_FEATURE */
+#endif
+}
+
+/**
+* @brief Appli_IntensityControlPublishing:Function is used to set the intensity value.
+* Publishing the value.
+* @param void
+* @retval void
+*/
+void Appli_IntensityControlPublishing(MOBLEUINT8* value)
+{
+
+ if(IntensityFlag == FALSE)
+ {
+
+ IntensityValue = IntensityValue + (INTENSITY_LEVEL_FULL/5);
+ value[0] = (MOBLEUINT8)IntensityValue;
+ value[1] = (MOBLEUINT8)(IntensityValue >> 8) ;
+
+ if(IntensityValue >= INTENSITY_LEVEL_FULL)
+ {
+ IntensityFlag = TRUE;
+ }
+
+ }
+ else
+ {
+
+ IntensityValue = IntensityValue - (INTENSITY_LEVEL_FULL/5);
+ value[0] = (MOBLEUINT8)IntensityValue;
+ value[1] = (MOBLEUINT8)(IntensityValue >> 8) ;
+
+ if(IntensityValue <= INTENSITY_LEVEL_ZERO)
+ {
+ IntensityFlag = FALSE;
+ }
+
+ }
+}
+
+
+/**
+* @brief Publish the intensity value for generic level or light lightness
+* This function should be called in main loop
+* @param void
+* @retval void
+*/
+void IntensityPublish(void)
+{
+
+#ifdef LIGHT_CLIENT_MODEL_PUBLISH
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS
+ MOBLEUINT8 elementIndex = 0;
+ MOBLEUINT8 pLightnessParam[3];
+ Appli_IntensityControlPublishing(pLightnessParam);
+ Appli_LightClient_API(elementIndex, LIGHT_LIGHTNESS_SET, pLightnessParam);
+#endif
+
+#else
+#ifdef GENERIC_CLIENT_MODEL_PUBLISH
+ MOBLEUINT8 elementIndex = 0;
+ MOBLEUINT8 pGeneric_LevelParam[3];
+
+ Appli_IntensityControlPublishing(pGeneric_LevelParam);
+ Appli_GenericClient_API(elementIndex, GENERIC_LEVEL_SET_ACK, pGeneric_LevelParam);
+#endif
+#endif
+}
+
+/**
+* @brief Application processing
+* This function should be called in main loop
+* @param void
+* @retval void
+*/
+void Appli_Process(void)
+{
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+ AppliNvm_Process();
+#endif
+
+#ifdef ENABLE_AUTH_TYPE_OUTPUT_OOB
+ if(PrvngInProcess)
+ {
+#if USER_OUTPUT_OOB_APPLI_PROCESS
+ Appli_OobAuthenticationProcess();
+#endif
+ }
+#endif
+
+#ifdef TPT_LAYER_BUSY_TEST
+ if(BLEMesh_TrsptIsBusyState())
+ {
+ //SdkEvalLedOn(LED1);
+ }
+ else
+ {
+ //SdkEvalLedOff(LED1);
+ }
+#endif
+}
+
+#if PB_ADV_SUPPORTED
+static void UnprovisionedDeviceBeaconApp(void)
+{
+ BLEMesh_SetUnprovisionedDevBeaconInterval(0);
+}
+
+static void UnprovisionedDeviceBeaconTask(void)
+{
+ /**
+ * The code shall be executed in the background as aci command may be sent
+ * The background is the only place where the application can make sure a new aci command
+ * is not sent if there is a pending one
+ */
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_BEACON_REQ_ID, CFG_SCH_PRIO_0);
+
+ return;
+}
+#endif
+
+#if (APPLI_OPTIM == 1)
+static void AppliMeshTask(void)
+{
+ /* Set the task in the scheduler for the next execution */
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_REQ_ID, CFG_SCH_PRIO_0);
+
+ return;
+}
+#endif
+
+static void AppliMeshSW1Task(void)
+{
+ Appli_UpdateButtonState(BSP_PB_GetState(BUTTON_SW1) == BUTTON_PRESSED);
+
+ return;
+}
+
+#if (ENABLE_SENSOR_MODEL_SERVER != 0)
+static void AppliMeshSW3Task(void)
+{
+ Sensor_UpdatePublishState(0, 1);
+
+ Appli_Sensor_Update(0, 1);
+
+ return;
+}
+#endif
+
+#if (LOW_POWER_FEATURE == 1)
+static void LowPowerNodeApiApp(void)
+{
+ TRACE_I(TF_PROVISION,"Scan disabled \r\n");
+ BLEMesh_LpnDisableScan();
+
+ return;
+}
+
+static void LowPowerNodeApiTask(void)
+{
+ /* Set the task in the scheduler for the next execution */
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_MESH_LPN_REQ_ID, CFG_SCH_PRIO_0);
+
+ return;
+}
+#endif
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+/**
+* @brief function to inintiallise the GPIO interrupt fot Power down
+* @param void
+* @retval void
+*/
+static void GPIO_InitNVICPowerOff(void)
+{
+ GPIO_InitTypeDef gpioinitstruct = {0};
+
+ /* Enable the PowerOff GPIO Clock */
+ POWEROFF_GPIO_CLK_ENABLE();
+
+ /* Configure PowerOff pin as input with External interrupt */
+ gpioinitstruct.Pin = POWEROFF_PIN;
+ gpioinitstruct.Pull = GPIO_PULLUP;
+ gpioinitstruct.Mode = GPIO_MODE_IT_FALLING;
+ HAL_GPIO_Init(POWEROFF_GPIO_PORT, &gpioinitstruct);
+
+ /* Enable and set PowerOff EXTI Interrupt to the lowest priority */
+ HAL_NVIC_SetPriority((IRQn_Type)(POWEROFF_EXTI_IRQn), 0x0F, 0x00);
+ HAL_NVIC_EnableIRQ((IRQn_Type)(POWEROFF_EXTI_IRQn));
+}
+#endif
+
+/**
+* @brief Initializes the Application
+* @param void
+* @retval void
+*/
+void Appli_Init(MOBLEUINT8 *flag)
+{
+#if 0
+#ifdef ENABLE_UNPROVISIONING_BY_POWER_ONOFF_CYCLE
+/* Hardware Factory Restore implementation */
+ AppliNvm_FactorySettingReset();
+#endif
+#endif
+
+#if PB_ADV_SUPPORTED
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_BEACON_REQ_ID, UTIL_SEQ_RFU, UnprovisionedDeviceBeaconApp );
+ /**
+ * Create Timer to control unprovisioned device beacons
+ */
+ HW_TS_Create(CFG_TIM_PROC_ID_ISR, &discoverTimer_Id, hw_ts_SingleShot, UnprovisionedDeviceBeaconTask);
+
+ HW_TS_Start(discoverTimer_Id, DISCOVER_TIMER_INTERVAL);
+#endif
+
+#if ENABLE_SERIAL_INTERFACE
+ Serial_Init();
+#endif
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+ GPIO_InitNVICPowerOff();
+#endif
+
+#if 0
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+ __HAL_RCC_TIM1_CLK_ENABLE();
+ __HAL_RCC_TIM2_CLK_ENABLE();
+ PWM_Init();
+#ifdef USER_BOARD_1LED
+ Modify_PWM(SINGLE_LED, 1);
+#endif
+#ifdef USER_BOARD_COOL_WHITE_LED
+ Modify_PWM(COOL_LED, 0);
+ Modify_PWM(WARM_LED, 0);
+#endif
+#ifdef USER_BOARD_RGB_LED
+ Modify_PWM(RED_LED, 1);
+ Modify_PWM(GREEN_LED, 1);
+ Modify_PWM(BLUE_LED, 1);
+#endif
+#endif
+#endif
+
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_SW1_REQ_ID, UTIL_SEQ_RFU, AppliMeshSW1Task );
+
+#if (ENABLE_CUSTOM_BEACON == 1)
+ BLEMesh_SetCustomBeaconInterval(CUSTOM_BEACON_INTERVAL);
+#endif
+
+#if (LOW_POWER_FEATURE == 1) /**
+ * Create Timer to control unprovisioned device beacons
+ */
+ HW_TS_Create(CFG_TIM_PROC_ID_ISR, &lowPowerNodeApiTimer_Id, hw_ts_SingleShot, LowPowerNodeApiTask);
+
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_LPN_REQ_ID, UTIL_SEQ_RFU, LowPowerNodeApiApp );
+ LPN_scan_enabled = MOBLE_FALSE;
+#endif
+#if (ENABLE_SENSOR_MODEL_SERVER != 0)
+ UTIL_SEQ_RegTask( 1<< CFG_TASK_MESH_SW3_REQ_ID, UTIL_SEQ_RFU, AppliMeshSW3Task );
+#endif
+}
+
+/*****************************Config Model Callbacks***************************/
+/**
+* @brief Callback from Config Model to receive the Publication Parameters
+* @param Structure Pointer having parameters - modelID, elementAddress,
+* Publish Address, PublishPeriod, PublishTTL, Credential Flag,
+* Publish AppKeyIndex, Retransmit Count & Restransmit Interval Steps
+* @retval none
+*/
+void Appli_GetPublicationParamsCb(model_publicationparams_t* pPubParameters)
+{
+ if(pPubParameters->modelID == SENSOR_SERVER_MODEL_ID)
+ {
+ Sensor_ModelPublishSet(pPubParameters);
+ }
+}
+
+
+/**
+* @brief PWM_CoolValue: This function is used to calculate the value for the
+ cool temperature for the light.
+* @param colourValue: Temperature value ratio
+* @param brightValue: Lightness value ratio.
+* @retval duty: duty fot the PWM
+*/
+MOBLEUINT16 PWM_CoolValue(float colourValue ,float brightValue)
+{
+ float colourDuty;
+ MOBLEUINT16 duty;
+
+ colourDuty = colourValue * brightValue;
+ duty = (MOBLEUINT16)(colourDuty * PWM_TIME_PERIOD);
+
+ return duty;
+}
+
+
+/**
+* @brief PWM_WarmValue: This function is used to calculate the value for the
+ warm temperature for the light.
+* @param colourValue: Temperature value ratio
+* @param brightValue: Lightness value ratio.
+* @retval duty: duty fot the PWM
+*/
+MOBLEUINT16 PWM_WarmValue(float colourValue ,float brightValue)
+{
+ float warmDuty;
+ MOBLEUINT16 duty;
+
+ warmDuty = (1-colourValue)* brightValue;
+ duty = (MOBLEUINT16)(warmDuty * PWM_TIME_PERIOD);
+
+ return duty;
+}
+
+/**
+* @brief PwmValueMapping: This function takes the value as parameter from the
+* model and return the value according to .
+* @param setValue: value to be set from model
+* @param maxRange: Max range of the parameter
+* @param minRange: Min range of the parameter
+* @retval MOBLEUINT8
+*/
+MOBLEUINT16 PwmValueMapping(MOBLEUINT16 setValue , MOBLEUINT16 maxRange , MOBLEINT16 minRange)
+{
+ MOBLEUINT16 percentValue;
+ MOBLEUINT16 duty;
+
+#ifdef SMART_PLUG
+ percentValue = (setValue * 100)/ (maxRange - minRange);
+
+ if(percentValue < 2)
+ {
+ duty = 0;
+ }
+ else if((percentValue > 2) && (percentValue <= 10))
+ {
+ duty = 1;
+ }
+ else if((percentValue > 10) && (percentValue <= 20))
+ {
+ duty = 2;
+ }
+ else if((percentValue > 20) && (percentValue <= 30))
+ {
+ duty = 3;
+ }
+ else if((percentValue > 30) && (percentValue <= 40))
+ {
+ duty = 4;
+ }
+ else if((percentValue > 40) && (percentValue <= 50))
+ {
+ duty = 5;
+ }
+ else if((percentValue > 50) && (percentValue <= 60))
+ {
+ duty = 6;
+ }
+ else if((percentValue > 60) && (percentValue <= 70))
+ {
+ duty = 7;
+ }
+ else if((percentValue > 70) && (percentValue <= 80))
+ {
+ duty = 8;
+ }
+ else if((percentValue > 80) && (percentValue <= 90))
+ {
+ duty = 9;
+ }
+ else if(percentValue > 90)
+ {
+ duty = 10;
+ }
+#else
+ if(minRange > 0x00)
+ {
+ percentValue = (setValue - 800)/ (maxRange - minRange);
+ percentValue = (percentValue*100);
+ }
+ else
+ {
+ percentValue = (setValue * 100)/ (maxRange - minRange);
+ }
+
+ duty = percentValue*320 ;
+
+ if(duty >= 32000)
+ {
+ duty = 31999;
+ }
+ if(duty == 0)
+ {
+ duty = 1;
+ }
+#endif
+
+ return duty;
+}
+
+
+/************************************ Weak linking ***********************************
+If implemented in application, linker would replace weak linking in library */
+WEAK_FUNCTION (void SerialPrvn_ProvisioningStatusUpdateCb(uint8_t flagPrvningInProcess, MOBLEUINT16 nodeAddress))
+{
+
+}
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.h
new file mode 100644
index 000000000..3eabd1c68
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_mesh.h
@@ -0,0 +1,135 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_mesh.h
+ * @author MCD Application Team
+ * @brief Header file for the user application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_MESH_H
+#define __APPLI_MESH_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "mesh_cfg_usr.h"
+#include "mesh_cfg.h"
+
+/* Exported macro ------------------------------------------------------------*/
+/* MACROS for Power Level definitions */
+#define POWER_LEVEL_LOW 0
+#define TX_POWER_LEVEL_MINUS_18DBM 0 /* = -18 dBm, */
+#define TX_POWER_LEVEL_MINUS_15DBM 1 /* = -15 dBm, */
+#define TX_POWER_LEVEL_MINUS_12DBM 2 /* = -12 dBm, */
+#define TX_POWER_LEVEL_MINUS_9DBM 3 /* = -9 dBm, */
+#define TX_POWER_LEVEL_MINUS_6DBM 4 /* = -6 dBm, */
+#define TX_POWER_LEVEL_MINUS_2DBM 5 /* = -2 dBm, */
+#define TX_POWER_LEVEL_0DBM 6 /* = 0 dBm, */
+#define TX_POWER_LEVEL_PLUS_5DBM 7 /* = 5 dBm. */
+#define POWER_LEVEL_HIGH 1
+#define TX_POWER_LEVEL_MINUS_14DBM 0 /* = -14 dBm, */
+#define TX_POWER_LEVEL_MINUS_11DBM 1 /* = -11 dBm, */
+#define TX_POWER_LEVEL_MINUS_8DBM 2 /* = -8 dBm, */
+#define TX_POWER_LEVEL_MINUS_5DBM 3 /* = -5 dBm, */
+#define TX_POWER_LEVEL_PLUS_2DBM 5 /* = 2 dBm, */
+#define TX_POWER_LEVEL_PLUS_4DBM 6 /* = 4 dBm, */
+#define TX_POWER_LEVEL_PLUS_8DBM 7 /* = 8 dBm */
+
+#ifdef SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+#define POWEROFF_PIN GPIO_PIN_12
+#define POWEROFF_GPIO_PORT GPIOB
+#define POWEROFF_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
+#define POWEROFF_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
+#define POWEROFF_EXTI_LINE GPIO_PIN_12
+#define POWEROFF_EXTI_IRQn EXTI15_10_IRQn
+#endif
+
+typedef enum _prvn_nvm_state
+{
+ NVM_INIT = 0,
+ NVM_SAVE_PENDING,
+} prvn_nvm_state;
+
+/* Exported variables ------------------------------------------------------- */
+
+extern MOBLEUINT8 bdaddr[];
+
+typedef struct
+{
+ MOBLEUINT16 nodeAddress;
+ MOBLEUINT8 numOfElements;
+ MOBLEUINT8 Reserved1; /* For Alignment by 4*/
+ MOBLEUINT16 newNodeAddress;
+ MOBLEUINT8 newNodeElements;
+ prvn_nvm_state saveToNVM;
+ MOBLEUINT8 NewProvNodeDevKey[DEVICE_KEY_SIZE];
+ MOBLEUINT8 NewProvNodeAppKey[APP_KEY_SIZE];
+ MOBLEUINT8 NewProvNodeUUID[UUID_SIZE];
+} NodeUnderProvisionParam_t;
+
+extern NodeUnderProvisionParam_t NodeUnderProvisionParam;
+extern MOBLEUINT16 Appli_SIG_Models[APPLICATION_NUMBER_OF_ELEMENTS][APPLICATION_SIG_MODELS_MAX_COUNT];
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+extern MOBLEUINT32 Appli_Vendor_Models[APPLICATION_NUMBER_OF_ELEMENTS][APPLICATION_VENDOR_MODELS_MAX_COUNT];
+#endif
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_BleStackInitCb(void);
+MOBLE_RESULT Appli_BleSetTxPowerCb(void);
+MOBLE_RESULT Appli_BleSetUUIDCb(MOBLEUINT8 *uuid_prefix_data);
+MOBLE_RESULT Appli_BleSetProductInfoCB(MOBLEUINT8 *company_product_info);
+void Appli_BleUnprovisionedIdentifyCb(MOBLEUINT8 data);
+void Appli_BleGattConnectionCompleteCb(void);
+void Appli_BleGattDisconnectionCompleteCb(void);
+MOBLEUINT8 Appli_BleSetNumberOfElementsCb(void);
+MOBLE_RESULT Appli_BleAttentionTimerCb(void);
+void Appli_BleOutputOOBAuthCb(MOBLEUINT8* output_oob, MOBLEUINT8 size);
+MOBLEUINT8* Appli_BleInputOOBAuthCb(MOBLEUINT8 size);
+void Appli_BleSerialInputOOBValue(char *rcvdStringBuff, uint16_t rcvdStringSize);
+MOBLEUINT8 Appli_BleDisableFilterCb(void);
+void BLEMesh_PbAdvLinkCloseCb(void);
+void Appli_IntensityControlPublishing(MOBLEUINT8* value);
+
+int Appli_CheckBdMacAddr(void);
+MOBLE_RESULT Appli_LedBlink(void);
+MOBLE_RESULT Appli_LedStateCtrlCb(MOBLEUINT16 ctrl);
+
+void Appli_CheckForUnprovision(void);
+void Appli_Unprovision(void);
+void Appli_Process(void);
+void Appli_LedCtrl(void);
+void Appli_Init(MOBLEUINT8 *flag);
+
+MOBLE_ADDRESS GetAddressToConfigure(void);
+MOBLE_ADDRESS GetNewAddressToProvision(void);
+void SaveProvisionedNodeAddress(void);
+MOBLEUINT8* GetNewProvNodeDevKey(void);
+MOBLEUINT8* GetNewProvNodeAppKey(void);
+void IntensityPublish(void);
+void Start_SelfConfiguration (void);
+void Appli_ProvisionerInit(void);
+void Appli_StartProvisionerMode(MOBLEUINT8 mode);
+
+void Appli_GetPublicationParamsCb(model_publicationparams_t*);
+
+MOBLEUINT16 PWM_CoolValue(float colourValue ,float brightValue);
+MOBLEUINT16 PWM_WarmValue(float colourValue ,float brightValue);
+MOBLEUINT16 PwmValueMapping(MOBLEUINT16 setValue , MOBLEUINT16 maxRange , MOBLEINT16 minRange);
+
+MOBLE_RESULT BLEMesh_ScanDevices(neighbor_params_t *unprovDeviceArray, MOBLEUINT8 *noOfUnprovDevices);
+MOBLE_RESULT BLEMesh_ProvisionDevice(neighbor_params_t *unprovDeviceArray, MOBLEUINT16 index);
+
+#endif /* __APPLI_MESH_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.c
new file mode 100644
index 000000000..c75c3ede2
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.c
@@ -0,0 +1,751 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_nvm.c
+ * @author MCD Application Team
+ * @brief User Application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include <string.h>
+#include "hal_common.h"
+#include "ble_mesh.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "mesh_cfg.h"
+#include "pal_nvm.h"
+#include "appli_mesh.h"
+#ifdef SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+#include "common.h"
+#endif
+#if (LOW_POWER_FEATURE == 1)
+#include "app_conf.h"
+#include "stm32_seq.h"
+#endif
+#include "config_client.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+/* Private define ------------------------------------------------------------*/
+
+extern const MOBLEUINT8* _bdaddr[];
+
+#ifdef SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+extern MOBLEUINT8 PowerOnOff_flag;
+#endif
+
+extern const void* appNvmBase;
+
+
+/*
+* Page of size 4k, STM32WB, reserved for application is divided into 16 subpages of each 256 bytes
+* First subpage is reserved (for e.g. External MAC is present in this area)
+* Rest 15 subpages are used on rolling basis for application states.
+* First byte of each subpage indicates if page is valid or not
+*/
+
+#define APP_NVM_RESERVED_SIZE 256U
+#define APP_NVM_SUBPAGE_SIZE 256U
+#define APP_NVM_MAX_SUBPAGE 15U
+#define APP_NVM_SUBPAGE_OFFSET(i) (unsigned int)(APP_NVM_RESERVED_SIZE + APP_NVM_SUBPAGE_SIZE*(i))
+
+/* offsets defined wrt start of subpage */
+#define APP_NVM_VALID_FLAG_OFFSET 0U
+#define APP_NVM_VALID_FLAG_SIZE 4U
+#define APP_NVM_RESET_COUNT_OFFSET (unsigned int)APP_NVM_VALID_FLAG_SIZE
+#define APP_NVM_RESET_COUNT_SIZE 12U /* 12 bytes reserved for write cycle optimization */
+#define APP_NVM_GENERIC_MODEL_OFFSET (unsigned int)(APP_NVM_VALID_FLAG_SIZE+APP_NVM_RESET_COUNT_SIZE)
+//#define APP_NVM_GENERIC_MODEL_SIZE 16U
+#define APP_NVM_LIGHT_MODEL_OFFSET (unsigned int)(APP_NVM_VALID_FLAG_SIZE+APP_NVM_RESET_COUNT_SIZE+APP_NVM_GENERIC_MODEL_SIZE)
+//#define APP_NVM_LIGHT_MODEL_SIZE 16U
+
+#define FLASH_EMPTY_SIGNATURE 0xFFFFFFFF
+
+#define RADIO_OFF_DELAY 1000
+
+/* Private variables ---------------------------------------------------------*/
+
+typedef struct
+{
+ MOBLEUINT8 modelData[APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE];
+ MOBLEBOOL erasePageReq;
+ MOBLEBOOL writeReq;
+} APPLI_NVM_REQS;
+
+/* ALIGN(4) */
+__attribute__((aligned(4))) APPLI_NVM_REQS AppliNvm_Reqs;
+MOBLEUINT16 StopRadioInProgress;
+
+MOBLE_RESULT AppliNvm_EraseRestoreResvNvm(void);
+MOBLE_RESULT AppliNvm_FindFirstEmptyPage(MOBLEINT16* subPageIndex,
+ MOBLEUINT32 SubPageSize,
+ MOBLEUINT32 totalSubPage,
+ MOBLEUINT32 nvmBaseOffset);
+MOBLE_RESULT AppliNvm_MarkSubpageInvalid(void);
+MOBLE_RESULT AppliNvm_FlashProgram(MOBLEUINT32 offset,
+ void const *buf, MOBLEUINT32 size);
+
+#if 0 //#ifdef ENABLE_NVM_TEST
+/**
+* @brief This function erases a specified flash page
+* @param Page Number
+* @retval MOBLE_RESULT_INVALIDARG if PageNumber overflow
+* MOBLE_RESULT_FALSE if flash operation is very close to next radio event
+* MOBLE_RESULT_FAIL if flash command error is set
+* MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FlashErase(uint16_t PageNumber)
+{
+ MOBLE_RESULT result;
+
+ if (PageNumber < FLASH_PAGE_NB)
+ {
+ BLEMesh_StopAdvScan();
+ ATOMIC_SECTION_BEGIN();
+ result = PalNvmErase(APP_NVM_BASE, 0);
+ ATOMIC_SECTION_END();
+ }
+ else /* Invalid page no */
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+
+ return result;
+}
+#endif
+
+/**
+* @brief Program word (32-bit) at a APP_NVM_BASE + APP_NVM_RESERVED_SIZE
+* @param TypeProgram Indicate the way to program at a specified address
+* @param Address: address to write
+* @param Data: word to write
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FlashProgram(MOBLEUINT32 offset,
+ void const *buf,
+ MOBLEUINT32 size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ if (offset > PAGE_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > (APP_NVM_BASE + PAGE_SIZE))
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ result = PalNvmWrite(APP_NVM_BASE,
+ offset,
+ buf,
+ size);
+ }
+
+ return result;
+}
+
+
+/**
+* @brief Mark first valid subpage as invalid.
+* @param void
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_MarkSubpageInvalid(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+#if 0
+ MOBLEUINT32 valid = 0;
+ MOBLEINT16 currSubPageIdx;
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+
+ /* find valid subpage */
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+
+ if (result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+ }
+ else
+ {
+ /* mark valid subpage as invalid */
+ memcpy((void*)subPageTemp,
+ (void*)(PRVN_NVM_BASE_OFFSET + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else if (result == MOBLE_RESULT_FALSE)
+ {
+ /* radio busy, try again later */
+ }
+ else
+ {
+ /* do nothing */
+ }
+ }
+#endif
+ return result;
+}
+
+
+/**
+* @brief This function writes Reset count value in flash at APP_NVM_BASE + APP_NVM_RESERVED_SIZE
+* if device has been turned ON 5 times consecutively with each ON duration < 2s, reset to factory settings
+* LED blinks 2 times to indicate device startup without reset
+* LED blinks 5 times to indicate reset at device startup
+* @param void
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FactorySettingReset(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+#if 0
+ MOBLEINT16 currSubPageIdx = 0;
+ MOBLEUINT32 resetCount;
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,APP_NVM_SUBPAGE_SIZE,APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ if(currSubPageIdx > 0)
+ {
+ /* Not the first reset */
+ /* read the previous subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx-1)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ else
+ {
+ /* read the current subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+
+ /* read reset count from the subpage */
+ memcpy((void*)&resetCount,
+ (void*)&(subPageTemp[APP_NVM_RESET_COUNT_OFFSET]),
+ 4);
+ resetCount = resetCount << 1; /* Shifting for making Bits 0 from LSB */
+ memcpy((void*)&(subPageTemp[APP_NVM_RESET_COUNT_OFFSET]), (void*)&resetCount, 4);
+
+ /* Check for "POWER_ON_OFF_CYCLES_FOR_UNPROVISIONING" times, that many bits shall be zero */
+ if (resetCount > MASK_BITS_FOR_POWER_ON_OFF_CYCLES)
+ {
+ /* MASK_BITS_FOR_POWER_ON_OFF_CYCLES = 0xFFFFFFE0 */
+
+ /* update reset count */
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+
+ if (!memcmp((void*)&subPageTemp[APP_NVM_RESET_COUNT_OFFSET],
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)+APP_NVM_RESET_COUNT_OFFSET),
+ 4))
+ {
+ /* updated value of reset count in flash */
+ }
+
+ /* Blink twice to indicate device startup
+ 1 second to blink once and 2 seconds to blink twice */
+ for (MOBLEUINT8 i=0; i< ON_TIME_IN_SECONDS_FOR_POWER_CYCLING; i++)
+ {
+ Appli_LedBlink();
+ }
+
+ /* Load model data copy from nvm */
+ memcpy((void*)AppliNvm_Reqs.modelData,
+ (void*)(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)+APP_NVM_GENERIC_MODEL_OFFSET),
+ APP_NVM_MODELDATA_PER_ELEMENT_SIZE);
+
+ result = AppliNvm_MarkSubpageInvalid();
+
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ else /* Device is forced to factory reset, 5 LSBs are zero */
+ {
+ /* Unprovision node */
+ BLEMesh_Unprovision();
+
+ /* Clear lib data, primary and backup nvm used by BLE-Mesh lib */
+ PalNvmErase(NVM_BASE, 0);
+ PalNvmErase(NVM_BASE, 0x1000);
+
+ AppliNvm_ClearModelState();
+
+ BLEMesh_SetUnprovisionedDevBeaconInterval(100);
+
+ /* Blink 5 times to indicate factory setting reset */
+ for (MOBLEUINT8 i=0; i<BLINK_TIMES_FOR_FACTORY_RESET; i++)
+ {
+ Appli_LedBlink();
+ }
+
+ TRACE_M(TF_MISC, "Reset to factory settings \r\n");
+ }
+
+ result = MOBLE_RESULT_SUCCESS;
+ }
+#endif
+ return result;
+}
+
+
+/**
+* @brief Save model states in nvm
+* @param model state buff
+* @param model state buff size
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_SaveModelState(uint8_t* state,
+ uint16_t size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS; /* if save model state not defined, return MOBLE_RESULT_FAIL */
+
+#if (SAVE_MODEL_STATE_NVM == 1)
+
+ if (size > APP_NVM_MODEL_SIZE)
+ {
+ /* incorrect size */
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ memcpy(AppliNvm_Reqs.modelData,
+ state,
+ size);
+
+ AppliNvm_Reqs.writeReq = MOBLE_TRUE;
+ AppliNvm_Reqs.erasePageReq = MOBLE_FALSE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ }
+#endif /* SAVE_MODEL_STATE_NVM */
+ return result;
+}
+
+
+/**
+* @brief Clear model states in nvm
+* @param none
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_ClearModelState(void)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL; /* if save model state not defined, return MOBLE_RESULT_FAIL */
+
+#if (SAVE_MODEL_STATE_NVM == 1)
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+ MOBLEINT16 subPageIdx;
+ MOBLEUINT8 clearBuff[APP_NVM_MODELDATA_PER_ELEMENT_SIZE] = {0};
+ MOBLEUINT32 valid = 0;
+
+ result = AppliNvm_FindFirstEmptyPage(&subPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ if(subPageIdx > 0)
+ { /* Not the first subpage */
+ /* clear models states */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx-1)),
+ APP_NVM_SUBPAGE_SIZE);
+ memcpy((void*)&subPageTemp[APP_NVM_GENERIC_MODEL_OFFSET],
+ (void*)(clearBuff),
+ APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE);
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ else
+ { /* First subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ memcpy((void*)&subPageTemp[APP_NVM_GENERIC_MODEL_OFFSET],
+ (void*)(clearBuff),
+ APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE);
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx),
+ (uint32_t*)&subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ }
+#endif /* SAVE_MODEL_STATE_NVM */
+ return result;
+}
+
+
+/**
+* @brief Load Model states from nvm
+* @param model state buff
+* @param model state buff size
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_LoadModelState(uint8_t state[],
+ uint16_t* size)
+{
+#if (SAVE_MODEL_STATE_NVM == 1)
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEINT16 currSubPageIdx = 0;
+
+ *size = 0;
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ APP_NVM_BASE + APP_NVM_RESERVED_SIZE);
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ if(currSubPageIdx > 0)
+ {
+ /* Not the first reset */
+ /* Load model data copy from nvm */
+ memcpy((void*)AppliNvm_Reqs.modelData,
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(currSubPageIdx-1) + APP_NVM_GENERIC_MODEL_OFFSET),
+ APP_NVM_GENERIC_MODEL_SIZE + APP_NVM_LIGHT_MODEL_SIZE);
+ memcpy((void*)state,
+ (void*)(AppliNvm_Reqs.modelData),
+ APP_NVM_MODEL_SIZE);
+ *size = APP_NVM_MODEL_SIZE;
+ }
+ }
+ return result;
+#else /* SAVE_MODEL_STATE_NVM */
+ *size = 0;
+ return MOBLE_RESULT_SUCCESS;
+#endif /* SAVE_MODEL_STATE_NVM */
+}
+
+
+/**
+* @brief Process NVM erase and write requests
+* @param void
+* @retval void
+*/
+void AppliNvm_Process(void)
+{
+ MOBLE_RESULT result;
+ MOBLEINT16 subPageIdx;
+ uint8_t reserveAreaCopy[APP_NVM_RESERVED_SIZE];
+
+ /* Erase if required */
+ if ((AppliNvm_Reqs.erasePageReq == MOBLE_TRUE) &&
+ (!LL_FLASH_IsActiveFlag_OperationSuspended()))
+ {
+ if(StopRadioInProgress == 0)
+ {
+ /* save reserve flash area */
+ memcpy((void*)reserveAreaCopy,
+ (void*)APP_NVM_BASE,
+ APP_NVM_RESERVED_SIZE);
+
+ TRACE_M(TF_PROVISION,"Erase flash page\r\n");
+ result = PalNvmErase(APP_NVM_BASE, 0);
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ }
+ else
+ {
+ AppliNvm_Reqs.erasePageReq = MOBLE_FALSE;
+ AppliNvm_Reqs.writeReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ /* restore reserve area */
+/* FLASH_ProgramWordBurst(APP_NVM_BASE, (uint32_t*)reserveAreaCopy); */
+ result = AppliNvm_FlashProgram(0,
+ (uint32_t*)&reserveAreaCopy,
+ APP_NVM_RESERVED_SIZE);
+ BLEMesh_ResumeAdvScan();
+ }
+ }
+ else
+ StopRadioInProgress--;
+ }
+
+ if (AppliNvm_Reqs.erasePageReq == MOBLE_FALSE &&
+ AppliNvm_Reqs.writeReq == MOBLE_TRUE)
+ {
+ result = AppliNvm_FindFirstEmptyPage(&subPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ BLEMesh_SuspendAdvScan();
+ StopRadioInProgress = RADIO_OFF_DELAY;
+
+ AppliNvm_Reqs.erasePageReq = MOBLE_TRUE;
+#if (LOW_POWER_FEATURE == 1)
+ UTIL_SEQ_SetTask( 1<<CFG_TASK_APPLI_REQ_ID, CFG_SCH_PRIO_0);
+#endif
+ result = MOBLE_RESULT_SUCCESS;
+ }
+ else
+ {
+ MOBLEUINT8 subPageTemp[APP_NVM_SUBPAGE_SIZE];
+ MOBLEUINT32 valid = 0;
+
+ if(subPageIdx > 0)
+ {
+ /* Not the first reset */
+ /* read the previous subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx-1)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+ else
+ {
+ /* read the current subpage */
+ memcpy((void*)&(subPageTemp[0]),
+ (void*)(APP_NVM_BASE + APP_NVM_SUBPAGE_OFFSET(subPageIdx)),
+ APP_NVM_SUBPAGE_SIZE);
+ }
+
+ memcpy((void*)&(subPageTemp[APP_NVM_GENERIC_MODEL_OFFSET]),
+ (void*)&(AppliNvm_Reqs.modelData),
+ APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE);
+
+ subPageTemp[APP_NVM_VALID_FLAG_OFFSET] = valid;
+
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx),
+ (uint8_t*)subPageTemp,
+ APP_NVM_SUBPAGE_SIZE);
+
+ if (result == MOBLE_RESULT_SUCCESS)
+ {
+ AppliNvm_Reqs.writeReq = MOBLE_FALSE;
+ }
+ }
+ }
+}
+
+
+/**
+* @brief Function used to set the flag which is responsible for storing the
+ states in flash.
+* @param void
+* @retval void
+*/
+void AppliNvm_SaveMessageParam (void)
+{
+#ifdef SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+ PowerOnOff_flag = FLAG_SET;
+#endif
+}
+
+
+/**
+* @brief Find first valid subpage available.
+* If no valid subpage found, erase page appli nvm to reset it
+* @param pointer to variable to update first valid subpage index
+* @retval MOBLE_RESULT_SUCCESS on success
+*/
+MOBLE_RESULT AppliNvm_FindFirstEmptyPage(MOBLEINT16* subPageIndex,
+ MOBLEUINT32 SubPageSize,
+ MOBLEUINT32 totalSubPage,
+ MOBLEUINT32 nvmBaseOffset)
+{
+ MOBLEUINT32 valid[2];
+ MOBLEINT8 subPageIdx = -1;
+ MOBLEUINT32 *subPageOffset;
+ MOBLEUINT32 addressValidPage;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ for (MOBLEUINT16 count=0; count<totalSubPage; count++)
+ {
+ addressValidPage = nvmBaseOffset + SubPageSize*count;
+ subPageOffset = &addressValidPage;
+
+ /* Read 8 bytes and check if it's Empty */
+ memcpy((void*)&valid, (void*)(*subPageOffset), 8);
+
+ if ((valid[0] == FLASH_EMPTY_SIGNATURE) /*&& (valid[1] == FLASH_EMPTY_SIGNATURE)*/)
+ {
+ subPageIdx = count;
+ break;
+ }
+ }
+
+ if (subPageIdx < 0)
+ {
+ TRACE_M(TF_PROVISION,"Out of Memory, Flash page is full \r\n");
+ result = MOBLE_RESULT_OUTOFMEMORY;
+ }
+ else
+ {
+ result = MOBLE_RESULT_SUCCESS;
+ }
+
+ *subPageIndex = subPageIdx;
+
+ return result;
+}
+
+#if 0 //#ifdef ENABLE_NVM_TEST
+MOBLE_RESULT AppliNVM_Save_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ uint8_t reserveAreaCopy[APP_NVM_RESERVED_SIZE];
+ MOBLEINT16 subPageIdx;
+
+ for(MOBLEUINT8 count = 0;count <= buffer_size;count++)
+ {
+ buffer[count] = count;
+ }
+
+ /* save reserve flash area */
+ memcpy((void*)reserveAreaCopy,
+ (void*)APP_NVM_BASE,
+ APP_NVM_RESERVED_SIZE);
+
+ result = AppliNvm_FlashErase((uint16_t)((APP_NVM_BASE - RESET_MANAGER_FLASH_BASE_ADDRESS) / PAGE_SIZE));
+
+ if (result == MOBLE_RESULT_SUCCESS)
+ {
+ /* restore reserve area */
+// FLASH_ProgramWordBurst(APP_NVM_BASE, (uint32_t*)reserveAreaCopy);
+ result = AppliNvm_FlashProgram(0,
+ (uint32_t*)&reserveAreaCopy,
+ APP_NVM_RESERVED_SIZE);
+ }
+
+ result = AppliNvm_FindFirstEmptyPage(&subPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ TRACE_M(TF_PROVISION, "Flash sub page is full, preparing new subpage\r\n");
+ }
+ else
+ {
+ result = AppliNvm_FlashProgram(APP_NVM_SUBPAGE_OFFSET(subPageIdx)+APP_NVM_GENERIC_MODEL_OFFSET,
+ buffer,
+ buffer_size);
+ }
+ return result;
+}
+
+MOBLE_RESULT AppliNVM_Retrieve_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size)
+{
+ MOBLEINT16 currSubPageIdx;
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+
+ result = AppliNvm_FindFirstEmptyPage(&currSubPageIdx,
+ APP_NVM_SUBPAGE_SIZE,
+ APP_NVM_MAX_SUBPAGE,
+ (APP_NVM_BASE+APP_NVM_RESERVED_SIZE));
+
+ if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ TRACE_M(TF_PROVISION," Can not find the empty page for testing flash \r\n");
+ }
+ else
+ {
+ memcpy((void*)buffer,
+ (void*)(APP_NVM_SUBPAGE_OFFSET(currSubPageIdx)+APP_NVM_GENERIC_MODEL_OFFSET),
+ buffer_size);
+
+ result = AppliNvm_MarkSubpageInvalid();
+
+ if (MOBLE_FAILED(result))
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+
+ return result;
+}
+#endif
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.h
new file mode 100644
index 000000000..f57757f25
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_nvm.h
@@ -0,0 +1,107 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_nvm.h
+ * @author MCD Application Team
+ * @brief Header file for the NVM application file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_NVM_H
+#define __APPLI_NVM_H
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "mesh_cfg.h"
+
+/* Exported macro ------------------------------------------------------------*/
+
+extern const void *prvsnr_data;
+
+/* offset defined for the embedded provisioner node */
+#if defined(STM32WB55xx)
+#define PRVN_NVM_PAGE_SIZE 4096U
+#elif defined(STM32WB15xx)
+#define PRVN_NVM_PAGE_SIZE 2048U
+#endif
+#define PRVN_NVM_BASE_OFFSET ((unsigned int)prvsnr_data)
+#define PRVN_NVM_CHUNK_SIZE (sizeof(NvmPerNode_t)) /* Number of bytes saved per Element */
+#define PRVN_NVM_SUBPAGE_SIZE (sizeof(NvmPerNode_t)) /* Number of bytes saved per Element */
+#define PRVN_NVM_MAX_SUBPAGE (unsigned int)(PRVN_NVM_PAGE_SIZE/PRVN_NVM_CHUNK_SIZE)
+#define PRVN_NVM_SUBPAGE_OFFSET(i) (unsigned int)(PRVN_NVM_SUBPAGE_SIZE*(i))
+
+#define APP_NVM_BASE ((unsigned int)appNvmBase)
+#if defined(STM32WB55xx)
+#define APP_NVM_SIZE 4096U
+#elif defined(STM32WB15xx)
+#define APP_NVM_SIZE 2048U
+#endif
+
+/* Exported variables ------------------------------------------------------- */
+typedef struct
+{
+ MOBLEUINT8 devKey[4+DEVICE_KEY_SIZE];
+
+#if ENABLE_SAVE_UUID_PER_NODE
+ MOBLEUINT8 node_UUID[UUID_SIZE];
+#endif
+
+} NvmPerNode_t;
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT AppliNvm_FlashProgram(MOBLEUINT32 offset, void const *buf, MOBLEUINT32 size);
+MOBLE_RESULT AppliNvm_FactorySettingReset(void);
+#if 0 //#ifdef ENABLE_NVM_TEST
+MOBLE_RESULT AppliNvm_FlashErase(uint16_t PageNumber);
+#endif
+MOBLE_RESULT AppliNvm_SaveModelState(uint8_t* state, uint16_t size);
+MOBLE_RESULT AppliNvm_ClearModelState(void);
+MOBLE_RESULT AppliNvm_LoadModelState(uint8_t state[], uint16_t* size);
+void AppliNvm_Process(void);
+void AppliNvm_SaveMessageParam (void);
+MOBLE_RESULT AppliNvm_FindFirstEmptyPage(MOBLEINT16* subPageIndex,
+ MOBLEUINT32 SubPageSize,
+ MOBLEUINT32 totalSubPage,
+ MOBLEUINT32 nvmBaseOffset);
+MOBLE_RESULT AppliPrvnNvm_LoadData(uint8_t state[], uint8_t* size);
+
+MOBLE_RESULT AppliPrvnNvm_SaveData(uint8_t* data,
+ MOBLE_ADDRESS address,
+ uint8_t* pUUID,
+ uint8_t numElements);
+
+MOBLEUINT32* AppliPrvnNvm_GetNodeDevKey(MOBLE_ADDRESS addrss);
+void AppliPrvnNvm_Process(void);
+
+MOBLE_RESULT AppliPrvnNvm_FactorySettingReset(MOBLEUINT8*flag);
+
+MOBLE_RESULT AppliPrvnNvm_CopyData(uint8_t state[], uint8_t* size);
+
+void AppliPrvnNvm_SaveProvisionerDevKey(MOBLEUINT8 *data ,
+ MOBLE_ADDRESS address,
+ MOBLEUINT8 *prvnFlag,
+ MOBLEUINT8 numOfElements);
+
+void AppliPrvnNvm_SaveKeys (MOBLEUINT8 status);
+
+MOBLE_RESULT AppliNVM_Save_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size);
+MOBLE_RESULT AppliNVM_Retrieve_FlashTesting(MOBLEUINT8 *buffer,
+ MOBLEUINT16 buffer_size);
+
+
+#endif /* __APPLI_NVM_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.c
new file mode 100644
index 000000000..ee75bc10e
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.c
@@ -0,0 +1,844 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensor.c
+ * @author MCD Application Team
+ * @brief Application interface for Sensor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "hal_common.h"
+#include "types.h"
+#include "sensor_cfg_usr.h"
+#include "sensors.h"
+#include "appli_sensor.h"
+#include "appli_light_lc.h"
+#include "mesh_cfg.h"
+//#include "LPS25HB.h"
+#include "string.h"
+#include "common.h"
+//#include "math.h"
+
+/** @addtogroup ST_BLE_Mesh
+ * @{
+ */
+
+/** @addtogroup Application_Mesh_Models
+ * @{
+ */
+
+MOBLE_RESULT Appli_Sensor_ValueSet(MOBLEUINT8 sensorOffset,
+ MOBLEUINT32 value);
+
+/* Private variables ---------------------------------------------------------*/
+
+/* ALIGN(4) */
+__attribute__((aligned(4)))const sensor_server_init_params_t SensorServerInitParams = SENSOR_SERVER_INIT_PARAMS;
+
+/* ALIGN(4) */
+__attribute__((aligned(4)))const sensor_server_cb_t AppliSensor_cb =
+{
+ /* Sensor Model callbacks */
+ Appli_Sensor_CadenceGet,
+ Appli_Sensor_CadenceSet,
+ Appli_Sensor_CadenceSetUnack,
+ Appli_Sensor_SettingsGet,
+ Appli_Sensor_SettingGet,
+ Appli_Sensor_SettingSet,
+ Appli_Sensor_SettingSetUnack,
+ Appli_Sensor_DescriptorGet,
+ Appli_Sensor_Get,
+ Appli_Sensor_ColumnGet,
+ Appli_Sensor_SeriesGet,
+ Appli_Sensor_ReadDescriptor,
+ Appli_Sensor_ReadValue,
+ Appli_Sensor_ReadColumn,
+ Appli_Sensor_ReadSeries,
+ Appli_Sensor_IsFastCadence,
+ Appli_Sensor_IsStatusTrigger
+};
+
+#if 0
+/**
+ * @brief Pressure sensor init
+ */
+__attribute__((aligned(4)))const PRESSURE_InitTypeDef Lps25InitParams =
+{
+ LPS25HB_ODR_1Hz,
+ LPS25HB_BDU_READ,
+ LPS25HB_DIFF_ENABLE,
+ LPS25HB_SPI_SIM_3W,
+ LPS25HB_P_RES_AVG_32,
+ LPS25HB_T_RES_AVG_16
+};
+#endif
+
+/**
+ * @brief Variables for people
+ */
+MOBLEUINT8 AppliSensorReadFromSensor = 0; /* Used for PTS testing */
+MOBLEUINT8 PresentTemperatureValue = 0;
+MOBLEUINT8 PreviousTemperatureValue = 0;
+MOBLEUINT8 Occupancy_Flag = MOBLE_FALSE;
+extern MOBLEUINT8 NumberOfElements;
+extern MOBLEUINT8 ProvisionFlag;
+MOBLEUINT8 Sensor_Setting_Access = 0x01 ;
+MOBLEUINT32 PresentPeopleCount = 0;
+MOBLEUINT32 PreviousPeopleCount = 0;
+
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+#ifdef ENABLE_SENSOR_MODEL_SERVER
+/******************************************************************************/
+
+
+/**
+ * @brief Callback corresponding to Sensor_CadenceGet_cb
+ * @param Cadence parameters
+* @retval None
+*/
+void Appli_Sensor_CadenceGet(sensor_CadenceCbParam_t* pCadenceParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pCadenceParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_CadenceSet_cb
+ * @param Cadence parameters
+* @retval None
+*/
+void Appli_Sensor_CadenceSet(sensor_CadenceCbParam_t* pCadenceParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pCadenceParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_CadenceSetUnack_cb
+ * @param Cadence parameters
+* @retval None
+*/
+void Appli_Sensor_CadenceSetUnack(sensor_CadenceCbParam_t* pCadenceParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pCadenceParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SettingsGet_cb
+ * @param Setting parameters
+* @retval None
+*/
+void Appli_Sensor_SettingsGet(sensor_SettingsCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->propertyId, elementIndex, peerAddr, dstPeer);
+}
+
+/**
+ * @brief Callback corresponding to Sensor_SettingGet_cb
+ * @param Setting parameters
+* @retval None
+ */
+void Appli_Sensor_SettingGet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SettingSet_cb
+ * @param Setting parameters
+* @retval None
+*/
+void Appli_Sensor_SettingSet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SettingSetUnack_cb
+ * @param Setting parameters
+* @retval None
+*/
+void Appli_Sensor_SettingSetUnack(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pSettingParam->property_ID, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_DescriptorGet_cb
+ * @param Descriptor parameters
+* @retval None
+*/
+void Appli_Sensor_DescriptorGet(MOBLEUINT8 prop_ID,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ if(length == 0)
+ {
+ TRACE_M(TF_SENSOR, "Sensor Descriptor data for all sensors on element index %X peer addr %X, dst peer %X\r\n",
+ elementIndex, peerAddr, dstPeer);
+ }
+ else
+ {
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X, dst peer %X\r\n",
+ prop_ID, elementIndex, peerAddr, dstPeer);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_Get_cb
+ * @param Get parameters
+* @retval None
+*/
+void Appli_Sensor_Get(MOBLEUINT16 prop_ID,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ if(length == 0)
+ {
+ TRACE_M(TF_SENSOR, "Sensor Data for all sensors on element index %X peer addr %X dst peer %X\r\n",
+ elementIndex, peerAddr, dstPeer);
+ }
+ else
+ {
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X \r\n",
+ prop_ID, elementIndex, peerAddr, dstPeer);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ColumnGet_cb
+ * @param Column parameters
+* @retval None
+*/
+void Appli_Sensor_ColumnGet(sensor_ColumnCbParams_t* pColumnParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X element index %X peer addr %X dst peer %X\r\n",
+ pColumnParam->propertyId, elementIndex, peerAddr, dstPeer);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_SeriesGet_cb
+ * @param Series parameters
+* @retval None
+*/
+void Appli_Sensor_SeriesGet(sensor_SeriesCbParams_t* pSeriesParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ TRACE_M(TF_SENSOR, "Property ID %X Raw Value X1 %d Raw Value X2 %d\r\n",
+ pSeriesParam->propertyId,
+ pSeriesParam->rawValueX1,
+ pSeriesParam->rawValueX2);
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadDescriptor_cb
+ * Update SENSORX descriptor identified by sensorOffset
+ * Read from application to optimize RAM
+ * @param Sensor offset in sensor init structure
+ * @param descriptor parameters
+ * @retval Fail if sensor doesn't exist or property ID mismatch occurs
+ * else Success
+ */
+MOBLE_RESULT Appli_Sensor_ReadDescriptor(MOBLEUINT8 sensorOffset,
+ sensor_DescriptorCbParams_t* pDescriptorParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ const sensor_init_params_t* pSensorInitParams = NULL;
+
+ if (sensorOffset < SensorServerInitParams.sensorsCount)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ if (pSensorInitParams->propertyId != pDescriptorParams->propertyId)
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ /* */
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ if (pSensorInitParams != NULL &&
+ pDescriptorParams != NULL)
+ {
+ pDescriptorParams->positiveTolerance = pSensorInitParams->positiveTolerance;
+ pDescriptorParams->negativeTolerance = pSensorInitParams->negativeTolerance;
+ pDescriptorParams->samplingFunction = pSensorInitParams->samplingFunction;
+ pDescriptorParams->measurementPeriod = pSensorInitParams->measurementPeriod;
+ pDescriptorParams->updateInterval = pSensorInitParams->updateInterval;
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadValue_cb
+ * Read sensor value and update buffer
+ * data length <= 128
+ * PreviousTemperatureValue, PresentTemperatureValue to be updated
+ * every time sensor value is changed and call to Sensor_UpdateCadence
+ * @param Sensor offset in sensor init structure
+ * @param Value parameters
+ * @retval Fail if sensor doesn't exist
+ * else Success
+ */
+MOBLE_RESULT Appli_Sensor_ReadValue(MOBLEUINT8 sensorOffset,
+ sensor_ValueCbParams_t* pValueParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+// PRESSURE_StatusTypeDef tempStatus = PRESSURE_OK;
+ MOBLEINT16 temp = 0;
+ MOBLEINT8 temperature8 = 0;
+ float pressure = 0;
+
+ /* sensor offset exist */
+ if (sensorOffset < SensorServerInitParams.sensorsCount)
+ {
+ if (sensorOffset == 0) /* Present Ambient Temperature */
+ {
+ if(AppliSensorReadFromSensor == 0) /* Normal mode */
+ {
+ /* Temperature, Temperature8 format, M=1, d=0, b=-1 */
+// tempStatus = LPS25HB_I2C_ReadRawTemperature(&temp);
+// if (tempStatus == PRESSURE_OK)
+ {
+ TRACE_M(TF_SENSOR, "Temperature sensor raw value %d\r\n" , temp);
+
+ /* Convert temperature raw value to Temperature8 format */
+ temp = (temp/240) + 85;
+
+ if (temp < -64*2)
+ {
+ temp = -64*2;
+ }
+ else if (temp > 63.5*2)
+ {
+ temp = 63.5*2;
+ }
+
+ temperature8 = temp;
+
+ pValueParams->data[0] = (MOBLEUINT8)temperature8;
+
+ if (pValueParams->data[0] == 0xFF)
+ {
+ /* 0xFF is unknown but here it is -1
+ -1 is approximated to 0 */
+ pValueParams->data[0] = 0x00;
+ }
+
+ TRACE_M(TF_SENSOR, "Temperature8 raw value %d, actual value %f\r\n",
+ temperature8, (float)temperature8/2);
+ }
+#if 0
+ else /* error */
+ {
+ pValueParams->data[0] = 0xFF;
+ }
+#endif
+ }
+ else /* Value not to be read from sensor */
+ {
+ pValueParams->data[0] = PresentTemperatureValue;
+ }
+ }
+ else if (sensorOffset == 1) /* Pressure */
+ {
+// tempStatus = LPS25HB_GetPressure(&pressure);
+// if (tempStatus == PRESSURE_OK)
+ {
+ TRACE_M(TF_SENSOR, "Pressure sensor value %f mbar\r\n" , pressure);
+
+ memcpy(pValueParams->data, (void*)&pressure, 4);
+ }
+#if 0
+ else /* error */
+ {
+ memset(pValueParams->data, 0, 4);
+ }
+#endif
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ return result;
+}
+
+#endif
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadColumn_cb
+ * Fill column width and raw valye Y in data buffer
+ * data length <= 8
+ * @param Sensor offset in sensor init structure
+ * @param Series column parameters
+ * @retval Fail if sensor doesn't exist
+ * else Success
+*/
+MOBLE_RESULT Appli_Sensor_ReadColumn(MOBLEUINT8 sensorOffset,
+ MOBLEUINT8 columnOffset,
+ sensor_ColumnCbParams_t* pColumnParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ const sensor_init_params_t* pSensorInitParams = NULL;
+ MOBLEUINT8 dataLength = 0;
+ MOBLEUINT8* data = pColumnParams->data;
+
+ if (sensorOffset < SensorServerInitParams.sensorsCount)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ /* fill sensor column data */
+ memcpy(data+dataLength,
+ &(pSensorInitParams->seriesColumn[columnOffset].columnWidth),
+ pSensorInitParams->dataLength);
+ dataLength = pSensorInitParams->dataLength;
+
+ memset(data+dataLength, 0xAA, pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+
+ pColumnParams->dataLength = dataLength;
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_ReadSeries_cb
+ * Fill sensor series state for all columns between and including X1 and X2
+ * Series data to be concatenated in triplet of raw value X, column width and raw value Y
+ * X[n] CW[n] Y[n] X[n+1] CW[n+1] Y[n+1] ...
+ * data length should be less than minimum of 379 or max application packet length supported
+ * @param Sensor offset in sensor init structure
+ * @param Series parameters
+ * @retval Fail if sensor doesn't exist
+ * else Success
+ */
+MOBLE_RESULT Appli_Sensor_ReadSeries(MOBLEUINT8 sensorOffset,
+ sensor_SeriesCbParams_t* pSeriesParams)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ const sensor_init_params_t* pSensorInitParams = NULL;
+ MOBLEUINT16 dataLength = 0;
+ MOBLEUINT8* data = pSeriesParams->data;
+
+ if (sensorOffset < SensorServerInitParams.sensorsCount)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ for (MOBLEUINT8 count=0; count<pSensorInitParams->seriesCount; count++)
+ {
+ /* fill sensor series data */
+ if (pSensorInitParams->seriesColumn[count].rawX >= pSeriesParams->rawValueX1 &&
+ pSensorInitParams->seriesColumn[count].rawX <= pSeriesParams->rawValueX2)
+ {
+ memcpy(data+dataLength,
+ &(pSensorInitParams->seriesColumn[count].rawX),
+ pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+ memcpy(data+dataLength,
+ &(pSensorInitParams->seriesColumn[count].columnWidth),
+ pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+ memset(data+dataLength, 0xAA, pSensorInitParams->dataLength);
+ dataLength += pSensorInitParams->dataLength;
+
+ pSeriesParams->dataLength = dataLength;
+ }
+ else
+ {
+ /* */
+ }
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ return result;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_IsFastCadence_cb
+ * To check if fast cadence to be used for current sensor state
+ * @param Sensor offset in sensor init structure
+ * @param Fast Cadence Low
+ * @param Fast Cadence High
+ * @retval Trigger status
+ */
+MOBLEUINT8 Appli_Sensor_IsFastCadence(MOBLEUINT8 sensorOffset,
+ void* pFastCadenceLow,
+ void* pFastCadenceHigh)
+{
+ MOBLEUINT8 fastCadenceStatus = 0;
+ MOBLEUINT32 fastCadenceLow = *((MOBLEUINT32*)pFastCadenceLow);
+ MOBLEUINT32 fastCadenceHigh = *((MOBLEUINT32*)pFastCadenceHigh);
+ MOBLEUINT32 sensorValue = PresentTemperatureValue;
+
+ if (sensorOffset == 0)
+ {
+ if (fastCadenceLow <= fastCadenceHigh)
+ {
+ fastCadenceStatus = sensorValue >= fastCadenceLow &&
+ sensorValue <= fastCadenceHigh;
+ }
+ else
+ {
+ fastCadenceStatus = sensorValue > fastCadenceLow ||
+ sensorValue < fastCadenceHigh;
+ }
+}
+ else
+ {
+ /* Implemented only for sensor at offset 0 */
+ }
+
+ return fastCadenceStatus;
+}
+
+
+/**
+ * @brief Callback corresponding to Sensor_IsStatusTrigger_cb
+ * To check if sensor change in sensor state (delta) is more than
+ * given trigger state value
+ * delta up values
+ * @param Sensor offset in sensor init structure
+ * @param Trigger type -> value or percent change
+ * @param Status trigger delta down
+ * @param Status trigger delta up
+ * @retval Trigger status
+*/
+MOBLEUINT8 Appli_Sensor_IsStatusTrigger(MOBLEUINT8 sensorOffset,
+ status_trigger_type_e triggerType,
+ void* pDeltaDown,
+ void* pDeltaUp)
+{
+ const sensor_init_params_t* pSensorInitParams = NULL;
+ MOBLEUINT8 triggerStatus = 0;
+ MOBLEUINT32 deltaDown = *((MOBLEUINT32*)pDeltaDown);
+ MOBLEUINT32 deltaUp = *((MOBLEUINT32*)pDeltaUp);
+ status_trigger_delta_e statusTriggerDelta;
+ MOBLEUINT32 delta;
+
+ if (sensorOffset == 0)
+ {
+ if (PresentTemperatureValue < PreviousTemperatureValue)
+ {
+ /* status trigger delta down */
+ statusTriggerDelta = STATUS_TRIGGER_DELTA_DOWN;
+ delta = PreviousTemperatureValue - PresentTemperatureValue;
+
+ TRACE_M(TF_SENSOR, "Delta down value %ld\r\n", delta);
+ }
+ else
+ {
+ /* status trigger delta up */
+ statusTriggerDelta = STATUS_TRIGGER_DELTA_UP;
+ delta = PresentTemperatureValue - PreviousTemperatureValue;
+
+ TRACE_M(TF_SENSOR, "Delta up value %ld\r\n", delta);
+ }
+
+ if (triggerType == STATUS_TRIGGER_TYPE_PC)
+ {
+ pSensorInitParams = &(SensorServerInitParams.sensorInitParams[sensorOffset]);
+
+ if (pSensorInitParams->valuesRange != 0)
+ {
+ /* change delta to percentage change (of 0.01 % steps) */
+ delta = (MOBLEUINT32)((delta*10000)/pSensorInitParams->valuesRange);
+ }
+ else
+ {
+ triggerStatus = 0;
+ }
+ }
+
+ if ((statusTriggerDelta == STATUS_TRIGGER_DELTA_DOWN && delta >= deltaDown) ||
+ (statusTriggerDelta == STATUS_TRIGGER_DELTA_UP && delta >= deltaUp))
+ {
+ triggerStatus = 1;
+ }
+ else
+ {
+ triggerStatus = 0;
+ }
+ }
+
+ return triggerStatus;
+}
+
+
+/**
+* @brief Initialize hardware interfaces for sensors and mesh sensor model structures
+* Sensor init parameters to be defined in sensor_cfg_usr.h
+* Sensors are initialized in the order as defined in sensor_cfg_usr.h
+ * LPS25HB supports pressure and temperature sensor
+* @param void
+ * @retval
+ */
+MOBLE_RESULT Appli_Sensor_Init(void)
+ {
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+// PRESSURE_StatusTypeDef lps25Status;
+
+ /* Hardware interface initialization */
+#ifndef CUSTOM_BOARD_PWM_SELECTION
+// PRESSURE_StatusTypeDef tempStatus;
+// PRESSURE_StatusTypeDef pressStatus;
+// int16_t temperature;
+// int32_t pressure;
+
+#if 0
+ /* Initiallization of sensors */
+ lps25Status = LPS25HB_Init((PRESSURE_InitTypeDef*)(&Lps25InitParams));
+
+ if (lps25Status != PRESSURE_OK)
+ {
+ TRACE_M(TF_SENSOR, "Error initializing LPS25HB. status (%d)\r\n", lps25Status);
+ }
+
+ tempStatus = LPS25HB_I2C_ReadRawTemperature(&temperature);
+ pressStatus = LPS25HB_I2C_ReadRawPressure(&pressure);
+
+ if (tempStatus == PRESSURE_OK &&
+ pressStatus == PRESSURE_OK)
+ {
+ /* TRACE_M(TF_SENSOR, "Raw temperature (%d) and raw pressure (%d)\r\n",
+ temperature, pressure); */
+ }
+ else
+ {
+ TRACE_M(TF_SENSOR, "Error reading LPS25HB at init\r\n");
+ }
+#endif
+
+#else
+ TRACE_M(TF_SENSOR, "LPS25HB not initialized\r\n");
+#endif
+
+ /* initialize sensor server model */
+ result = SensorServer_Init(&BufferSensorServer,
+ &AppliSensor_cb,
+ TOTAL_SENSOR_SERVER_BUFF_SIZE,
+ &SensorServerInitParams);
+
+ if(MOBLE_FAILED(result))
+ {
+ TRACE_M(TF_SENSOR, "Sensor Server init failed\r\n");
+ }
+
+ return result;
+ }
+
+
+/**
+ * @brief Handling of serial inputs to sensor model
+ * @param Sensor offset in sensor init structure
+ * @param Sensor value
+ * @retval void
+ */
+MOBLE_RESULT Appli_Sensor_Update(MOBLEUINT8 sensorOffset, MOBLEUINT32 value)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ AppliSensorReadFromSensor = 1;
+
+ /* Update previous with current and current with new */
+ PreviousTemperatureValue = PresentTemperatureValue;
+ PresentTemperatureValue = (MOBLEUINT8)value;
+
+ /* To update cadence parameters
+ results in either status trigger or (and) fast cadence based on change and present
+ Application may decide not to update cadence parameters if senosr value is changing
+ very frequently in some cases to save bandwidth */
+ if (PresentTemperatureValue != PreviousTemperatureValue)
+ {
+ result = Sensor_UpdateCadence(sensorOffset,
+ SensorServerInitParams.sensorInitParams[0].elementIdx,
+ SensorServerInitParams.sensorInitParams[0].propertyId);
+ }
+
+ return result;
+ }
+
+
+/**
+ * @brief Handling of serial inputs to sensor model
+ * Appli_Sensor_SerialCmd can be used for testing periodic publishing and
+ * triggered publishing with PTS
+ * @param serial string
+ * @param serial string size
+ * @retval void
+ */
+void Appli_Sensor_SerialCmd(char *rcvdStringBuff, uint16_t rcvdStringSize)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_INVALIDARG;
+ MOBLEUINT16 value = 0;
+ MOBLEUINT8 sensorOffset = 0;
+
+ if (!strncmp(rcvdStringBuff+6, "SETV", 4))
+ {
+ if (rcvdStringSize == 15)
+ {
+ sscanf(rcvdStringBuff+11, "%4hx", &value);
+
+ /* Set SENSOR1 value at offset 0 */
+ result = Appli_Sensor_Update(sensorOffset, value);
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else if (!strncmp(rcvdStringBuff+6, "PUBLISH", 7))
+ {
+ if (rcvdStringSize == 17)
+ {
+ sscanf(rcvdStringBuff+14, "%1hx", &value);
+
+ sensorOffset = value;
+
+ sscanf(rcvdStringBuff+16, "%1hx", &value);
+
+ /* Enable / Disable publishing of sensor as identified by sensor offset */
+ if(value == 0) /* Disable */
+ {
+ result = Sensor_UpdatePublishState(sensorOffset, 0);
+ }
+ else /* Enable */
+ {
+ result = Sensor_UpdatePublishState(sensorOffset, 1);
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ BLEMesh_PrintStringCb("Invalid size of string\r\n");
+ }
+ }
+ else
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+
+ /* Check the result of command processing */
+ if(result == MOBLE_RESULT_SUCCESS)
+ {
+ BLEMesh_PrintStringCb("Success\r\n");
+ }
+ else if(result == MOBLE_RESULT_OUTOFMEMORY)
+ {
+ BLEMesh_PrintStringCb("Fail Out of memory\r\n");
+ }
+ else if(result == MOBLE_RESULT_INVALIDARG)
+ {
+ BLEMesh_PrintStringCb("Fail Invalid Argument\r\n");
+ }
+ else
+ {
+ BLEMesh_PrintStringCb("Fail\r\n");
+ }
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.h
new file mode 100644
index 000000000..4f6cefe6b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensor.h
@@ -0,0 +1,111 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensor.h
+ * @author MCD Application Team
+ * @brief Application interface for Light Mesh Model
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_SENSOR_H
+#define __APPLI_SENSOR_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "sensors.h"
+#include "mesh_cfg.h"
+
+/* Exported functions ------------------------------------------------------- */
+void Appli_Sensor_CadenceGet(sensor_CadenceCbParam_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_CadenceSet(sensor_CadenceCbParam_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_CadenceSetUnack(sensor_CadenceCbParam_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingsGet(sensor_SettingsCbParams_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingGet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingSet(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SettingSetUnack(sensor_SettingCbParams_t* pSettingParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_DescriptorGet(MOBLEUINT8 pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Get (MOBLEUINT16 prop_ID,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_ColumnGet(sensor_ColumnCbParams_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_SeriesGet(sensor_SeriesCbParams_t* pDescriptorParam,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS peerAddr,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Sensor_ReadDescriptor(MOBLEUINT8 sensorOffset,
+ sensor_DescriptorCbParams_t* pDescriptorParams);
+MOBLE_RESULT Appli_Sensor_ReadValue(MOBLEUINT8 sensorOffset,
+ sensor_ValueCbParams_t* pValueParams);
+MOBLE_RESULT Appli_Sensor_ReadColumn(MOBLEUINT8 sensorOffset,
+ MOBLEUINT8 columnOffset,
+ sensor_ColumnCbParams_t* pColumnParams);
+MOBLE_RESULT Appli_Sensor_ReadSeries(MOBLEUINT8 sensorOffset,
+ sensor_SeriesCbParams_t* pSeriesParams);
+MOBLEUINT8 Appli_Sensor_IsFastCadence(MOBLEUINT8 sensorOffset,
+ void* pFastCadenceLow,
+ void* pFastCadenceHigh);
+MOBLEUINT8 Appli_Sensor_IsStatusTrigger(MOBLEUINT8 sensorOffset,
+ status_trigger_type_e triggerType,
+ void* pDeltaDown,
+ void* pDeltaUp);
+MOBLE_RESULT Appli_Sensor_Init(void);
+MOBLE_RESULT Appli_Sensor_Update(MOBLEUINT8 sensorOffset, MOBLEUINT32 value);
+
+MOBLE_RESULT Appli_Sensor_Update(MOBLEUINT8 sensorOffset,
+ MOBLEUINT32 value);
+void Appli_Sensor_SerialCmd(char *rcvdStringBuff,
+ uint16_t rcvdStringSize);
+#endif /* __APPLI_SENSOR_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.c
new file mode 100644
index 000000000..cdf66e0f9
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.c
@@ -0,0 +1,332 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensors_client.c
+ * @author MCD Application Team
+ * @brief Application interface for Generic Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "types.h"
+#include "appli_sensor.h"
+#include "appli_light.h"
+#include "common.h"
+#include "mesh_cfg_usr.h"
+#include "appli_nvm.h"
+#include "appli_mesh.h"
+#include "sensors_client.h"
+#include "appli_sensors_client.h"
+#include "appli_light_lc.h"
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+
+
+/* Private functions ---------------------------------------------------------*/
+/**
+* @brief Appli_SensorsClient_API: This function is a Wrapper to call Sensors Client API depending on opcode received in input
+* @param elementIndex: Index of the element
+* @param msg_opcode: opcode of the desired API
+* @param msg_params: buffer containing the desired API parameters
+* @retval MOBLE_RESULT
+*/
+MOBLE_RESULT Appli_SensorsClient_API(MOBLEUINT8 elementIndex, MOBLEUINT16 msg_opcode, MOBLEUINT8 *msg_params)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_FAIL;
+ switch(msg_opcode){
+/******************************************************************************/
+#ifdef ENABLE_SENSOR_MODEL_CLIENT
+/******************************************************************************/
+ case SENSOR_DESCRIPTOR_GET:
+ {
+ result = SensorsClient_Descriptor_Get(elementIndex, msg_params);
+ break;
+ }
+ case SENSOR_CADENCE_GET:
+ {
+ result = SensorsClient_Cadence_Get(elementIndex, msg_params);
+ break;
+ }
+ case SENSOR_CADENCE_SET:
+ {
+ result = SensorsClient_Cadence_Set(elementIndex,
+ msg_params,
+ 10); //(sizeof(sensor_CadenceCbParam_t)-3));
+ break;
+ }
+ case SENSOR_CADENCE_SET_UNACK:
+ {
+ result = SensorsClient_Cadence_Set_Unack(elementIndex,
+ msg_params,
+ 10); //(sizeof(sensor_CadenceCbParam_t)-3));
+ break;
+ }
+ case SENSOR_SETTINGS_GET:
+ {
+ result = SensorsClient_Settings_Get(elementIndex, msg_params);
+ break;
+ }
+
+ case SENSOR_SETTING_GET:
+ {
+ result = SensorsClient_Setting_Get(elementIndex, msg_params, sizeof(sensor_SettingsCbParams_t));
+ break;
+ }
+ case SENSOR_SETTING_SET:
+ {
+
+ result = SensorsClient_Setting_Set(elementIndex,
+ msg_params,
+ 6);
+ break;
+ }
+ case SENSOR_SETTING_SET_UNACK:
+ {
+
+ result = SensorsClient_Setting_Set_Unack(elementIndex,
+ msg_params,
+ 6);
+ break;
+ }
+ case SENSOR_GET:
+ {
+ result = SensorsClient_Get(elementIndex, msg_params);
+ break;
+ }
+ case SENSOR_COLUMN_GET:
+ {
+ result = SensorsClient_Column_Get(elementIndex, msg_params, 4);
+ break;
+ }
+ case SENSOR_SERIES_GET:
+ {
+ result = SensorsClient_Series_Get(elementIndex, msg_params, 4);
+ break;
+ }
+/******************************************************************************/
+#endif /* #ifdef ENABLE_SENSOR_MODEL_CLIENT */
+/******************************************************************************/
+
+
+ default:
+ {
+ TRACE_M(TF_SENSOR, "OpCode value invalid %d \r\n", msg_opcode);
+ result = MOBLE_RESULT_FAIL;
+ }
+ }
+ return result;
+}
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Cadence_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Cadence_Status(const MOBLEUINT8 *pCadence,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Cadence_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_CADENCE_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Cadence value: %d\n\r", pCadence[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Settings_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Settings_Status(const MOBLEUINT8 *pSettings,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Settings_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_SETTINGS_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Settings value: %d\n\r", pSettings[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Setting_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Setting_Status(const MOBLEUINT8 *pSetting,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Setting_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_SETTING_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Setting value: %d\n\r", pSetting[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Descriptor_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Descriptor_Status(const MOBLEUINT8 *pDescriptor,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Descriptor_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_DESCRIPTOR_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Descriptor value: %d\n\r", pDescriptor[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Status(const MOBLEUINT8 *pStatus,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Status value: %d\n\r", pStatus[i]);
+ }
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ Appli_Light_LC_SensorPropertyUpdate(elementIndex,
+ PRESENCE_DETECTED_PID,
+ (MOBLEUINT32) pStatus[length-1]);
+#endif
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Column_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Column_Status(const MOBLEUINT8 *pColumn,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Column_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_COLUMN_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Column Status value: %d\n\r", pColumn[i]);
+ }
+}
+
+
+/**
+ * @brief Callback corresponding to Appli_Sensor_Series_Status
+ * @param Descriptor parameters
+ * @param
+* @retval None
+*/
+void Appli_Sensor_Series_Status(const MOBLEUINT8 *pSeries,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex)
+{
+ MOBLEUINT8 i;
+
+ TRACE_M(TF_SENSOR,"Appli_Sensor_Series_Status callback received \r\n");
+
+ TRACE_M(TF_SERIAL_CTRL,"#%d! for element %d \r\n",
+ SENSOR_SERIES_STATUS,
+ elementIndex);
+ for(i = 0; i < length; i++)
+ {
+ TRACE_M(TF_SERIAL_CTRL,"Series Status value: %d\n\r", pSeries[i]);
+ }
+}
+
+
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.h
new file mode 100644
index 000000000..b5c605d15
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_sensors_client.h
@@ -0,0 +1,72 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_sensor_client.h
+ * @author MCD Application Team
+ * @brief Application interface for Sensor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_SENSOR_CLIENT_H
+#define __APPLI_SENSOR_CLIENT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "sensors.h"
+#include "mesh_cfg.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+/* Application Variable-------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+MOBLE_RESULT Appli_ConfigClient_Set(void);
+MOBLE_RESULT Appli_SensorsClient_API(MOBLEUINT8 elementIndex,
+ MOBLEUINT16 msg_opcode,
+ MOBLEUINT8 *msg_params);
+void Appli_Sensor_Descriptor_Status(const MOBLEUINT8 *pDescriptor,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Cadence_Status(const MOBLEUINT8 *pCadence,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Settings_Status(const MOBLEUINT8 *pSettings,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Setting_Status(const MOBLEUINT8 *pSetting,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Status(const MOBLEUINT8 *pStatus,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Column_Status(const MOBLEUINT8 *pColumn,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+void Appli_Sensor_Series_Status(const MOBLEUINT8 *pSeries,
+ MOBLEUINT32 length,
+ MOBLE_ADDRESS dstPeer,
+ MOBLEUINT8 elementIndex);
+
+
+
+
+#endif /* __APPLI_SENSOR_CLIENT_H */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.c
new file mode 100644
index 000000000..06a5730fe
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.c
@@ -0,0 +1,565 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_vendor.c
+ * @author MCD Application Team
+ * @brief Application interface for Vendor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h"
+#include "hal_common.h"
+#include "types.h"
+#include "ble_mesh.h"
+#include "appli_mesh.h"
+#include "vendor.h"
+#include "appli_vendor.h"
+#include "common.h"
+#include "appli_light.h"
+#include "models_if.h"
+#include "mesh_cfg.h"
+#include <string.h>
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+typedef struct
+{
+ MOBLE_ADDRESS dst;
+ MOBLEUINT8 data[VENDOR_DATA_BUFFER_SIZE];
+ MOBLEUINT32 length;
+ MOBLEUINT8 elementIndex;
+} APPLI_SEND_BIG_DATA_PACKET;
+
+/* Private variables ---------------------------------------------------------*/
+
+MOBLEUINT8 ResponseBuffer[VENDOR_DATA_BUFFER_SIZE];
+MOBLEUINT16 BuffLength;
+APPLI_SEND_BIG_DATA_PACKET Appli_VendorBigData;
+
+/*Variable to enable OTA for received vendor command*/
+extern MOBLEUINT8 Appli_LedState;
+#ifdef USER_BOARD_1LED
+extern uint16_t DUTY;
+#endif
+extern MOBLEUINT8 NumberOfElements;
+MOBLEUINT32 TestHitCounter = 0;
+extern Appli_LightPwmValue_t Appli_LightPwmValue;
+
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+* @brief Process the Vendor Device Info Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_DeviceInfo(MOBLEUINT8 const *data, MOBLEUINT32 length)
+{
+ MOBLEUINT8 tempBuffer[10];
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+
+ MOBLEUINT8 subCmd = data[0];
+ char *libVersion;
+ char *subLibVersion;
+ MOBLEUINT8 inc = 0;
+ /*First Byte is sending the Sub Command*/
+ ResponseBuffer[0] = subCmd;
+ TRACE_M(TF_VENDOR,"#02-%02hx! \n\r",data[0]);
+
+ switch(subCmd)
+ {
+ case IC_TYPE:
+ {
+#ifdef BLUENRG1_DEVICE
+ ResponseBuffer[1] = BLUENRG1_BRD;
+#endif
+
+#ifdef BLUENRG2_DEVICE
+ ResponseBuffer[1] = BLUENRG2_BRD;
+#endif
+
+#ifdef BLUENRG_MS
+ ResponseBuffer[1] = BLUENRG_MS_BRD;
+#endif
+
+#ifdef STM32WB55xx
+ ResponseBuffer[1] = STM32WB55XX_BRD;
+#endif
+
+ BuffLength = 2;
+ break;
+ }
+ case LIB_VER:
+ {
+ libVersion = BLEMesh_GetLibraryVersion();
+ while(*libVersion != '\0')
+ {
+ tempBuffer[inc] = *libVersion;
+ if(tempBuffer[inc] != 0x2E)
+ {
+ tempBuffer[inc] = BLEMesh_ModelsASCII_To_Char(tempBuffer[inc]);
+ TRACE_M(TF_VENDOR,"Lib version is %x\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ else
+ {
+ TRACE_M(TF_VENDOR,"Lib version is %c\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ libVersion++;
+
+ inc++;
+ }
+ ResponseBuffer[1]= tempBuffer[0];
+ ResponseBuffer[2]= tempBuffer[1];
+ ResponseBuffer[3]= tempBuffer[3];
+ ResponseBuffer[4]= tempBuffer[4];
+ ResponseBuffer[5]= tempBuffer[6];
+ ResponseBuffer[6]= tempBuffer[7];
+ ResponseBuffer[7]= tempBuffer[8];
+ BuffLength = 8;
+ break;
+ }
+ case LIB_SUB_VER:
+ {
+ subLibVersion = BLEMesh_GetLibrarySubVersion();
+ while(*subLibVersion != '\0')
+ {
+ tempBuffer[inc] = * subLibVersion;
+ if((tempBuffer[inc] != 0x2E) && (tempBuffer[inc] != 0x52))
+ {
+ tempBuffer[inc] = BLEMesh_ModelsASCII_To_Char(tempBuffer[inc]);
+ TRACE_M(TF_VENDOR,"Sub Lib version is %x\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ else
+ {
+ TRACE_M(TF_VENDOR,"Sub Lib version is %c\n\r" ,(unsigned char)tempBuffer[inc]);
+ }
+ subLibVersion++;
+ inc++;
+ }
+ ResponseBuffer[1]= tempBuffer[0];
+ ResponseBuffer[2]= tempBuffer[1];
+ ResponseBuffer[3]= tempBuffer[3];
+ ResponseBuffer[4]= tempBuffer[5];
+ ResponseBuffer[5]= tempBuffer[7];
+ ResponseBuffer[6]= tempBuffer[9];
+
+ BuffLength = 7;
+
+ break;
+ }
+ case APPLICATION_VER:
+ {
+ /*Insert Command to check Application Version*/
+ break;
+ }
+
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+
+ }
+
+ return status;
+}
+
+
+/**
+* @brief Process the Vendor Test Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_Test(MOBLEUINT8 const *data, MOBLEUINT32 length)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 subCmd = data[0];
+ /*First Byte is sending the Sub Command*/
+ ResponseBuffer[0]=subCmd;
+ TRACE_M(TF_VENDOR,"#01-%02hx! \n\r",data[0]);
+ switch(subCmd)
+ {
+ case APPLI_TEST_ECHO:
+ {
+ if(length > sizeof(ResponseBuffer))
+ {
+ length = sizeof(ResponseBuffer);
+ TRACE_M(TF_VENDOR,"Length received greater than size of response buffer \r\n");
+ }
+ memcpy (&(ResponseBuffer[1]),&(data[1]),(length-1));
+ BuffLength = length;
+ break;
+ }
+ case APPLI_TEST_RANDOMIZATION_RANGE:
+ {
+ /*Insert Test related Commands here*/
+ break;
+ }
+ case APPLI_TEST_COUNTER:
+ {
+#ifdef USER_BOARD_1LED
+ if((DUTY <= PWM_TIME_PERIOD) && (DUTY > 1))
+ {
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+ else
+ {
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+ TRACE_M(TF_VENDOR,"Test Counter is running \r\n");
+ ResponseBuffer[0] = subCmd;
+ ResponseBuffer[1] = Appli_LedState ;
+ BuffLength = 2;
+ /*Insert Test related Commands here*/
+#endif
+ break;
+ }
+ case APPLI_TEST_INC_COUNTER:
+ {
+#ifdef USER_BOARD_1LED
+ if((DUTY <= PWM_TIME_PERIOD) && (DUTY > 1))
+ {
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+ else
+ {
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ }
+
+ TestHitCounter++;
+ TRACE_M(TF_VENDOR,"Command received Count %.2lx \r\n",TestHitCounter);
+ ResponseBuffer[0] = subCmd;
+ ResponseBuffer[1] = Appli_LedState ;
+ BuffLength = 2;
+#endif
+ /*Insert Test related Commands here*/
+ break;
+ }
+ case APPLI_MODEL_PUBLISH_SELECT:
+ {
+ for (MOBLEUINT8 idx=0; idx<length; idx++)
+ {
+ TRACE_I(TF_VENDOR,"data[%d]= %d",idx,data[idx]);
+ TRACE_I(TF_VENDOR,"\n\r");
+ }
+ break;
+ }
+
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+ }
+
+ return status;
+}
+
+
+/**
+* @brief Process the Vendor LED Control Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @param elementIndex : selected element where '0' is first element
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_LEDControl( MOBLEUINT8 const *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementIndex , MOBLE_ADDRESS dst_peer)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 subCommand;
+ subCommand = data[0];
+ MOBLEUINT16 duty;
+ MOBLEUINT16 intensityValue = 0;
+
+ TRACE_M(TF_VENDOR,"#03-%02hx!\n\r",data[0]);
+ switch(subCommand)
+ {
+ /*
+ Message Received B0 B1 B2 B3 B4 B5 B6 B7
+ B0 - Sub-Cmd LED
+ B1-B7 - Data Bytes
+ */
+ case APPLI_CMD_LED_BULB:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_Control callback received for elementIndex %d \r\n", elementIndex);
+ Appli_LedState = *(data+1); /* Toggle the state of the Blue LED */
+ if( Appli_LedState == 1)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+ break;
+ }
+
+ /* Toggle Command */
+ case APPLI_CMD_TOGGLE:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_Toggle callback received for elementIndex %d \r\n", elementIndex);
+ if(Appli_LedState == 1)
+ {
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+
+#ifndef CUSTOM_BOARD_PWM_SELECTION
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#else
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#endif
+ Appli_LedState = 0;
+ BSP_LED_Off(LED_BLUE);
+ }
+ else
+ {
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ Appli_LedState = 1;
+ BSP_LED_On(LED_BLUE);
+ }
+
+ break;
+ }
+ /* On Command */
+ case APPLI_CMD_ON:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_ON callback received for elementIndex %d \r\n", elementIndex);
+ Appli_LightPwmValue.IntensityValue = PWM_TIME_PERIOD;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+ BSP_LED_On(LED_BLUE);
+ Appli_LedState = 1;
+
+ break;
+ }
+ /* Off Command */
+ case APPLI_CMD_OFF:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_OFF callback received for elementIndex %d \r\n", elementIndex);
+ Appli_LightPwmValue.IntensityValue = LED_OFF_VALUE;
+
+#ifndef CUSTOM_BOARD_PWM_SELECTION
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#else
+ Light_UpdateLedValue(RESET_STATE , Appli_LightPwmValue); /* PWM_ID = PWM4, mapped on PWM4_PIN (GPIO_14 in mapping) */
+#endif
+ Appli_LedState = 0;
+ BSP_LED_Off(LED_BLUE);
+
+ break;
+ }
+ /* intensity command */
+ case APPLI_CMD_LED_INTENSITY:
+ {
+ /*User Need to write the commands as per the element selected*/
+
+ TRACE_M(TF_VENDOR,"Appli_LED_Intensity callback received for elementIndex %d \r\n", elementIndex);
+ intensityValue = data[2] << 8;
+ intensityValue |= data[1];
+
+ duty = PwmValueMapping(intensityValue , 0x7FFF ,0);
+ Appli_LightPwmValue.IntensityValue = duty;
+ Light_UpdateLedValue(LOAD_STATE , Appli_LightPwmValue);
+ if(duty > 16000)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+ break;
+ }
+ /* Default case - Not valid command */
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+ }
+ /*Buffer will be sent for Reliable Response*/
+ /*First Byte is Sub Command and 2nd Byte is LED Status*/
+ ResponseBuffer[0] = subCommand;
+ if(subCommand == APPLI_CMD_LED_INTENSITY)
+ {
+ ResponseBuffer[1] = intensityValue >> 8 ;
+ ResponseBuffer[2] = intensityValue ;
+ BuffLength = 3;
+ }
+ else
+ {
+ ResponseBuffer[1] = Appli_LedState ;
+ BuffLength = 2;
+ }
+
+ return status;
+}
+
+/**
+* @brief Process the Vendor Data write Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_Data_write(MOBLEUINT8 const *data, MOBLEUINT32 length)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 subCmd = data[0];
+ /*First Byte is sending the Sub Command*/
+ ResponseBuffer[0]=subCmd;
+
+ TRACE_M(TF_VENDOR, "#0E-%02hx %02lx! \n\r",data[0], length);
+ for(MOBLEUINT16 i=0; i<length; i++)
+ {
+ TRACE_I(TF_VENDOR,"%02hx ",data[i]);
+ }
+ TRACE_I(TF_VENDOR,"\n\r");
+ switch(subCmd)
+ {
+ case APPLI_STRING_WRITE:
+ {
+ memcpy(&ResponseBuffer,data,length);
+ BuffLength = length;
+ break;
+ }
+ default:
+ {
+ status = MOBLE_RESULT_FALSE;
+ break;
+ }
+ }
+ return status;
+}
+
+/**
+* @brief Appli_GetTestValue: This function is callback for Application
+* when Vensor application test command received then status message is to be provided
+* @param responseValue: Pointer to the status message
+* @retval void
+*/
+void Appli_GetTestValue (MOBLEUINT8 *responseValue)
+{
+ *responseValue = TestHitCounter;
+ *(responseValue+1) = TestHitCounter >> 8;
+ *(responseValue+2) = TestHitCounter >> 16;
+ *(responseValue+3) = TestHitCounter >> 24;
+ TestHitCounter = 0;
+}
+/**
+* @brief Process the Vendor LED Control Command
+* @param data: Pointer to the data received from peer_addr
+* @param length: Length of the data
+* @param elementIndex : selected element where '0' is first element
+* @param dst_peer : Destination address
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_SetBigDataPacket(MOBLEUINT8 *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementIndex , MOBLE_ADDRESS dst_peer)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+
+ if (length > VENDOR_DATA_BUFFER_SIZE)
+ {
+ status = MOBLE_RESULT_INVALIDARG;
+ }
+ memmove(Appli_VendorBigData.data, data, length);
+ Appli_VendorBigData.dst = dst_peer;
+ Appli_VendorBigData.length = length;
+ Appli_VendorBigData.elementIndex = elementIndex;
+ return status;
+}
+/**
+* @brief Send Vendor big data packet
+* @param void
+* @retval MOBLE_RESULT status of result
+*/
+MOBLE_RESULT Appli_Vendor_SendBigDataPacket(void)
+{
+ MOBLE_RESULT status = MOBLE_RESULT_SUCCESS;
+
+ if(BLEMesh_TrsptIsBusyState())
+ {
+ BSP_LED_On(LED_BLUE);
+ status = MOBLE_RESULT_FALSE;
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ status = BLEMesh_SetRemoteData(Appli_VendorBigData.dst,
+ Appli_VendorBigData.elementIndex,
+ 0x000E,
+ Appli_VendorBigData.data,
+ Appli_VendorBigData.length,
+ MOBLE_FALSE,
+ MOBLE_TRUE);
+
+ }
+ return status;
+}
+
+/**
+* @brief Publish Command for Vendor Model
+* @param srcAddress: Source Address of Node
+* @retval void
+*/
+void Appli_Vendor_Publish(MOBLE_ADDRESS srcAddress)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT8 AppliBuff[1];
+ /* changes the LED status on other nodes in the network */
+
+ AppliBuff[0] = APPLI_CMD_TOGGLE;
+
+ result = BLEMesh_SetRemotePublication(VENDORMODEL_STMICRO_ID1, srcAddress,
+ APPLI_LED_CONTROL_STATUS_CMD,
+ AppliBuff, sizeof(AppliBuff),
+ MOBLE_FALSE, MOBLE_TRUE);
+
+ if(result)
+ {
+ TRACE_I(TF_VENDOR_M, "Publication Error \r\n");
+ }
+}
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.h
new file mode 100644
index 000000000..a1b98db75
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_vendor.h
@@ -0,0 +1,46 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_vendor.h
+ * @author MCD Application Team
+ * @brief Application interface for Vendor Mesh Models
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __APPLI_VENDOR_H
+#define __APPLI_VENDOR_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "ble_mesh.h"
+
+/* Exported macro ------------------------------------------------------------*/
+#define LED_OFF_VALUE 1U
+#define LED_ON_VALUE 32000U
+/* Private define ------------------------------------------------------------*/
+
+MOBLE_RESULT Appli_Vendor_LEDControl( MOBLEUINT8 const *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementNumber, MOBLE_ADDRESS dst_peer);
+MOBLE_RESULT Appli_Vendor_DeviceInfo(MOBLEUINT8 const *data, MOBLEUINT32 length);
+MOBLE_RESULT Appli_Vendor_Test(MOBLEUINT8 const *data, MOBLEUINT32 length);
+MOBLE_RESULT Appli_Vendor_Data_write(MOBLEUINT8 const *data, MOBLEUINT32 length);
+void Appli_GetTestValue (MOBLEUINT8 *responseValue);
+MOBLE_RESULT Appli_Vendor_SendBigDataPacket(void);
+MOBLE_RESULT Appli_Vendor_SetBigDataPacket(MOBLEUINT8 *data, MOBLEUINT32 length,
+ MOBLEUINT8 elementIndex , MOBLE_ADDRESS dst_peer);
+void Appli_Vendor_Publish(MOBLE_ADDRESS srcAddress);
+#endif /* __APPLI_VENDOR_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_conf.h
new file mode 100644
index 000000000..dfad3c5fa
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_conf.h
@@ -0,0 +1,72 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef BLE_CONF_H
+#define BLE_CONF_H
+
+#include "app_conf.h"
+
+/******************************************************************************
+ *
+ * BLE SERVICES CONFIGURATION
+ * blesvc
+ *
+ ******************************************************************************/
+#define BLE_CFG_MESH 1
+
+/**
+ * This setting shall be set to '1' if the device needs to support the Peripheral Role
+ * In the MS configuration, both BLE_CFG_PERIPHERAL and BLE_CFG_CENTRAL shall be set to '1'
+ */
+#define BLE_CFG_PERIPHERAL 1
+
+/**
+ * This setting shall be set to '1' if the device needs to support the Central Role
+ * In the MS configuration, both BLE_CFG_PERIPHERAL and BLE_CFG_CENTRAL shall be set to '1'
+ */
+#define BLE_CFG_CENTRAL 1
+
+#define BLE_CFG_BROADCASTER 1
+
+#define BLE_CFG_OBSERVER 1
+
+#define BLE_CFG_DATA_ROLE_MODE 4
+
+
+/**
+ * There is one handler per service enabled
+ * Note: There is no handler for the Device Information Service
+ *
+ * This shall take into account all registered handlers
+ * (from either the provided services or the custom services)
+ */
+#define BLE_CFG_SVC_MAX_NBR_CB 7
+
+#define BLE_CFG_CLT_MAX_NBR_CB 5
+
+/******************************************************************************
+ * GAP Service - Appearance
+ ******************************************************************************/
+#define BLE_CFG_UNKNOWN_APPEARANCE (0)
+#define BLE_CFG_HR_SENSOR_APPEARANCE (832)
+#define BLE_CFG_GAP_APPEARANCE (BLE_CFG_UNKNOWN_APPEARANCE)
+
+#endif /*BLE_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_dbg_conf.h
new file mode 100644
index 000000000..132a0d68c
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/ble_dbg_conf.h
@@ -0,0 +1,199 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __BLE_DBG_CONF_H
+#define __BLE_DBG_CONF_H
+
+/**
+ * Enable or Disable traces from BLE
+ */
+
+#define BLE_DBG_DIS_EN 0
+#define BLE_DBG_HRS_EN 0
+#define BLE_DBG_EDS_STM_EN 0
+#define BLE_DBG_LBS_STM_EN 0
+#define BLE_DBG_SVCCTL_EN 1
+#define BLE_DBG_BLS_EN 0
+#define BLE_DBG_HTS_EN 0
+#define BLE_DBG_P2P_STM_EN 0
+
+/**
+ * Macro definition
+ */
+#if ( BLE_DBG_APP_EN != 0 )
+#define BLE_DBG_APP_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_APP_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_DIS_EN != 0 )
+#define BLE_DBG_DIS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_DIS_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_HRS_EN != 0 )
+#define BLE_DBG_HRS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HRS_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_P2P_STM_EN != 0 )
+#define BLE_DBG_P2P_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_P2P_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_TEMPLATE_STM_EN != 0 )
+#define BLE_DBG_TEMPLATE_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_TEMPLATE_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_EDS_STM_EN != 0 )
+#define BLE_DBG_EDS_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_EDS_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_LBS_STM_EN != 0 )
+#define BLE_DBG_LBS_STM_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_LBS_STM_MSG PRINT_NO_MESG
+#endif
+
+#if ( BLE_DBG_SVCCTL_EN != 0 )
+#define BLE_DBG_SVCCTL_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_SVCCTL_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_CTS_EN != 0)
+#define BLE_DBG_CTS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_CTS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_HIDS_EN != 0)
+#define BLE_DBG_HIDS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HIDS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_PASS_EN != 0)
+#define BLE_DBG_PASS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_PASS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_BLS_EN != 0)
+#define BLE_DBG_BLS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_BLS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_HTS_EN != 0)
+#define BLE_DBG_HTS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HTS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_ANS_EN != 0)
+#define BLE_DBG_ANS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_ANS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_ESS_EN != 0)
+#define BLE_DBG_ESS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_ESS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_GLS_EN != 0)
+#define BLE_DBG_GLS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_GLS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_BAS_EN != 0)
+#define BLE_DBG_BAS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_BAS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_RTUS_EN != 0)
+#define BLE_DBG_RTUS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_RTUS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_HPS_EN != 0)
+#define BLE_DBG_HPS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_HPS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_TPS_EN != 0)
+#define BLE_DBG_TPS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_TPS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_LLS_EN != 0)
+#define BLE_DBG_LLS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_LLS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_IAS_EN != 0)
+#define BLE_DBG_IAS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_IAS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_WSS_EN != 0)
+#define BLE_DBG_WSS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_WSS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_LNS_EN != 0)
+#define BLE_DBG_LNS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_LNS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_SCPS_EN != 0)
+#define BLE_DBG_SCPS_MSG PRINT_MESG_DBG
+#else
+#define BLE_DBG_SCPS_MSG PRINT_NO_MESG
+#endif
+
+#if (BLE_DBG_DTS_EN != 0)
+#define BLE_DBG_DTS_MSG PRINT_MESG_DBG
+#define BLE_DBG_DTS_BUF PRINT_LOG_BUFF_DBG
+#else
+#define BLE_DBG_DTS_MSG PRINT_NO_MESG
+#define BLE_DBG_DTS_BUF PRINT_NO_MESG
+#endif
+
+#endif /*__BLE_DBG_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/cube_hal.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/cube_hal.h
new file mode 100644
index 000000000..c00aae92d
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/cube_hal.h
@@ -0,0 +1,48 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file cube_hal.h
+ * @author MCD Application Team
+ * @brief
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#ifndef _CUBE_HAL_H_
+#define _CUBE_HAL_H_
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "stm32wbxx_hal.h"
+#include "stm32wbxx_hal_conf.h"
+
+#define B1_Pin GPIO_PIN_13
+#define B1_GPIO_Port GPIOC
+#define USART_TX_Pin GPIO_PIN_2
+#define USART_TX_GPIO_Port GPIOA
+#define USART_RX_Pin GPIO_PIN_3
+#define USART_RX_GPIO_Port GPIOA
+#define LD2_Pin GPIO_PIN_5
+#define LD2_GPIO_Port GPIOA
+
+#define UART_TX_TIMEOUT 5
+
+#define Uart_Irq_Handler USART2_IRQHandler
+
+
+void SystemClock_Config(void);
+void Init_Device(void);
+void MX_USART2_UART_Init(void);
+
+
+#endif /* _CUBE_HAL_H_ */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/data.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/data.s
new file mode 100644
index 000000000..782844084
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/data.s
@@ -0,0 +1,28 @@
+;/**
+;******************************************************************************
+;* @file data.s
+;* @author BLE Mesh Team
+;* @version V1.07.000
+;* @date 15-June-2018
+;* @brief Memory management
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+;*/
+_bdaddr EQU 0x0807E000
+ EXPORT _bdaddr
+
+ AREA CONFIG, READONLY
+_mobleNvmBase_data
+ EXPORT _mobleNvmBase_data
+ FILL 4096, 0x00
+
+ END
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/hal_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/hal_common.h
new file mode 100644
index 000000000..d580f16a7
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/hal_common.h
@@ -0,0 +1,53 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hal_common.h
+ * @author MCD Application Team
+ * @brief Common functions of HAL file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef _HAL_H_
+#define _HAL_H_
+
+/* Includes ------------------------------------------------------------------*/
+
+#if defined(NUCLEO_L152RE) || defined(USE_STM32WBXX_NUCLEO) || USE_STM32WBXX_USB_DONGLE /* NUCLEO_L152RE */
+#include "user_if.h"
+#else /* not NUCLEO_L152RE */
+#if defined(BLUENRG1) || defined(BLUENRG2) /* BLUENRG1 or BLUENRG2 */
+#include "hal.h"
+#else /* not BLUENRG1 or BLUENRG2 */
+#error "Unsupported board"
+#endif /* BLUENRG1 or BLUENRG2 */
+#endif /* NUCLEO_L152RE */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "types.h"
+
+void SetLed(int state);
+BUTTON_STATE GetButtonState(void);
+BUTTON_STATE GetButton2State(void);
+void InitDevice(void);
+
+void ShouldSleepFunc(void);
+
+#endif /* _HAL_H_ */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/mesh_cfg_usr.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/mesh_cfg_usr.h
new file mode 100644
index 000000000..385d6955b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/mesh_cfg_usr.h
@@ -0,0 +1,628 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file mesh_cfg_usr.h
+ * @author MCD Application Team
+ * @brief user configurable settings
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MESH_CFG_USR_H
+#define __MESH_CFG_USR_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "ble_mesh.h"
+
+/* Exported macro ------------------------------------------------------------*/
+
+/*
+* Different features supported by BLE-Mesh. Uncomment according to application.
+* Low power feature enabled node do not support other features.
+* Do not define any other feature if Low Power feature is defined
+*/
+#define ENABLE_RELAY_FEATURE
+#define ENABLE_PROXY_FEATURE
+#define ENABLE_FRIEND_FEATURE
+//#define ENABLE_LOW_POWER_FEATURE
+//#define ENABLE_PROVISIONER_FEATURE
+//#define DYNAMIC_PROVISIONER
+
+/*
+* Different provision bearer supported by BLE-Mesh.
+* Define according to application.
+* At least one of PB-ADV and PB-GATT should be defined
+*/
+
+#define ENABLE_PB_ADV
+#define ENABLE_PB_GATT
+//#define ENABLE_PUB_KEY_TYPE_OOB
+#define ENABLE_AUTH_TYPE_NO_OOB
+//#define ENABLE_AUTH_TYPE_STATIC_OOB
+//#define ENABLE_AUTH_TYPE_OUTPUT_OOB
+//#define ENABLE_AUTH_TYPE_INPUT_OOB
+
+/* Static OOB Configurations */
+#define STATIC_OOB_SIZE 16U
+
+/* Output OOB Configurations */
+#define OUTPUT_OOB_SIZE 1U
+#define OUTPUT_OOB_ACTION OUTPUT_OOB_ACTION_BIT_BLINK
+
+/* Input OOB Configurations */
+#define INPUT_OOB_SIZE 1U
+#define INPUT_OOB_ACTION INPUT_OOB_ACTION_BIT_PUSH
+
+/******************************************************************************/
+/* Note: Please use Full Library configuration in project options to use the full
+ configuration of the C/C++ runtime library
+ for printf and scanf functionality */
+
+/* Enables the serial interface using Uart */
+#define ENABLE_SERIAL_INTERFACE 0
+#define ENABLE_SIG_MODELS_AT_COMMANDS 0
+#define ENABLE_VENDOR_MODELS_AT_COMMANDS 0
+#define ENABLE_UT 0
+
+/* Provisioner feature related configuration */
+#if defined (ENABLE_PROVISIONER_FEATURE) || defined(DYNAMIC_PROVISIONER)
+#define PROVISIONER_ROOT_ADDR_DEFAULT 0x0001
+
+/*
+Define the following Macro to save the nodes data in provisioner in NVM
+This may result into excessive flash erase operations, this should be avoided to ensure flash longevity
+*/
+#define SAVE_EMBD_PROVISION_DATA 1
+
+/* Enables the UUID saving per Node - Currently Not Supported */
+#define ENABLE_SAVE_UUID_PER_NODE 0
+
+//#define ENABLE_SERIAL_PRVN 1
+//#define ENABLE_CONFIG_MODEL_CLIENT (1)
+
+#define CLIENT_MAX_SIG_MODELS_PER_ELEMENT 12 /* Number of SIG Models for Node under provisioning */
+#define CLIENT_MAX_VENDOR_MODELS_PER_ELEMENT 1 /* Number of Vendor Models for Node under provisioning */
+#define CLIENT_MAX_ELEMENTS_PER_NODE 1 /* Number of Elements per Node */
+
+/*
+* Enable or disable neighbor table
+* if defined -> enabled
+* If MAC address of neighbor changes it appears as new neighbor
+* Neighbor table update can be triggered (configurable) in following cases
+* On receiving Unprovisioned device beacon
+* On receiving Secure network beacon
+* On receiving Mesh message
+* Message with any TTL
+* Message with TTL = 0
+* if not defined -> disabled
+*/
+#define ENABLE_NEIGHBOR_TABLE
+
+#endif
+
+/* Macro to test the Flash saving data and retrieval process */
+#define ENABLE_NVM_TEST
+
+/* Macros Used for user defined serial print data for models.
+Either use 0 to disable or 1 to enable
+@ TF_GENERIC -> Generic server
+@ TF_GENERIC_CLIENT -> Generic client
+@ TF_SENSOR -> Sensor server
+@ TF_LIGHT -> Lighting server
+@ TF_LIGHT_CLIENT -> Lighting client
+@ TF_LIGHT_LC -> Light LC server
+@ TF_VENDOR -> vendor model
+@ TF_CONFIG_CLIENT -> config client
+@ TF_LPN_FRND -> Friendship, Friend and Low Power
+@ TF_PROVISION -> Provisioning related
+@ TF_HANDLER -> interrupt handler
+@ TF_INIT -> main function
+@ TF_MISC -> others
+@ TF_COMMON -> common (middleware)
+@ TF_GENERIC_M -> Generic server (middleware)
+@ TF_GENERIC_CLIENT_M -> Config client (middleware)
+@ TF_SENSOR_M -> Sensor server (middleware)
+@ TF_LIGHT_M -> Lighting server (middleware)
+@ TF_LIGHT_CLIENT_M -> Lighting client (middleware)
+@ TF_LIGHT_LC_M -> Light LC server (middleware)
+@ TF_VENDOR_M -> vendor model (middleware)
+@ TF_CONFIG_CLIENT_M -> Config client (middleware)
+@ TF_NEIGHBOUR -> neighbour table
+@ TF_MEMORY
+@ TF_BEACON -> Beacons
+@ TF_SERIAL_CTRL
+*/
+/* Enabled by default */
+#ifndef ENABLE_LOW_POWER_FEATURE
+#define TF_GENERIC 1
+#define TF_GENERIC_CLIENT 1
+#define TF_SENSOR 1
+#define TF_LIGHT 1
+#define TF_LIGHT_CLIENT 1
+#define TF_LIGHT_LC 1
+#define TF_VENDOR 1
+#define TF_CONFIG_CLIENT 1
+#define TF_CONFIG_SERVER 1
+#define TF_LPN_FRND 1
+#define TF_PROVISION 1
+#define TF_HANDLER 1
+#define TF_INIT 1
+#define TF_MISC 1
+#define TF_SERIAL_CTRL 1
+/* Disabled by default */
+#define TF_COMMON 0
+#define TF_GENERIC_M 0
+#define TF_GENERIC_CLIENT_M 1
+#define TF_SENSOR_M 1
+#define TF_SENSOR_CLIENT_M 1
+#define TF_LIGHT_M 0
+#define TF_LIGHT_CLIENT_M 1
+#define TF_LIGHT_LC_M 1
+#define TF_VENDOR_M 1
+#define TF_CONFIG_CLIENT_M 0
+#define TF_NEIGHBOUR 0
+#define TF_MEMORY 0
+#define TF_BEACON 0
+#define TF_VENDOR_APPLI_TEST 1 /* Vendor commands testing */
+#define TF_NVM 0
+#endif
+
+/*******************************************************************************
+*** Following section helps to define Device Name during Provisioning *********
+*******************************************************************************/
+
+#define DEVICE_NAME_SIZE 11
+#define DEVICE_NAME 'S','T',' ','B','L','E',' ','M','e','s','h'
+
+/*******************************************************************************
+*** Following section helps to select right configuration of Models ***********
+*******************************************************************************/
+/******************************************************************************/
+/* Define the following Macros to enable the usage of the */
+/* Server Generic Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+/* Define the following Macros to enable the usage of the Server Generic Models */
+#define ENABLE_GENERIC_MODEL_SERVER_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_LEVEL (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_POWER_ONOFF_SETUP (1)
+//#define ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME (1)
+
+//#define ENABLE_GENERIC_MODEL_CLIENT_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_CLIENT_LEVEL (1)
+//#define ENABLE_GENERIC_MODEL_CLIENT_POWER_ONOFF (1)
+//#define ENABLE_GENERIC_MODEL_CLIENT_DEFAULT_TRANSITION_TIME (1)
+
+/* The Following Models are not available in this version, will be developed in
+ next version.
+*/
+/*
+#define ENABLE_GENERIC_MODEL_SERVER_POWER_LEVEL
+#define ENABLE_GENERIC_MODEL_SERVER_POWER_LEVEL_SETUP
+#define ENABLE_GENERIC_MODEL_SERVER_BATTERY
+#define ENABLE_GENERIC_MODEL_SERVER_LOCATION
+#define ENABLE_GENERIC_MODEL_SERVER_LOCATION_SETUP
+#define ENABLE_GENERIC_MODEL_SERVER_ADMIN_PROPERTY
+#define ENABLE_GENERIC_MODEL_SERVER_MANUFACTURER_PROPERTY
+#define ENABLE_GENERIC_MODEL_SERVER_USER_PROPERTY
+#define ENABLE_GENERIC_MODEL_SERVER_CLIENT_PROPERTY
+
+*/
+
+/******************************************************************************/
+/******* Define the following Macros to enable the usage of the Light Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+//#define ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS_SETUP (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_CTL (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_CTL_SETUP (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_CTL_TEMPERATURE (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL_SETUP (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL_HUE (1)
+//#define ENABLE_LIGHT_MODEL_SERVER_HSL_SATURATION (1)
+
+//#define ENABLE_LIGHT_MODEL_CLIENT_LIGHTNESS (1)
+//#define ENABLE_LIGHT_MODEL_CLIENT_CTL (1)
+//#define ENABLE_LIGHT_MODEL_CLIENT_HSL (1)
+
+/*
+ The following Models are managed in different file light_lc.c in middleware
+*/
+//#define ENABLE_LIGHT_MODEL_SERVER_LC (1)
+
+//#define ENABLE_LIGHT_MODEL_CLIENT_LC (1)
+
+/******************************************************************************/
+/* Define the following Macros to enable the usage of the Sensor Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+//#define ENABLE_SENSOR_MODEL_SERVER (1)
+
+//#define ENABLE_SENSOR_MODEL_CLIENT (1)
+
+/******************************************************************************/
+/* Define the following Macros to enable the usage of the time and */
+/* scene Models */
+/* For a choice of 3 elements (max is 8) */
+/* Definition is a bitmap of 3 bits: bit 2 element 3 */
+/* bit 1 element 2 */
+/* bit 0 element 1 */
+/* Example: 6 means Model enabled in element 2 and 3 */
+/******************************************************************************/
+
+//#define ENABLE_TIME_MODEL_SERVER
+//#define ENABLE_TIME_MODEL_SERVER_SETUP
+//#define ENABLE_SCENE_MODEL_SERVER
+//#define ENABLE_SCENE_MODEL_SERVER_SETUP
+
+/*
+ The Following Models are not available in this version
+*/
+//#define ENABLE_LIGHT_MODEL_SERVER_XYL
+//#define ENABLE_LIGHT_MODEL_SERVER_XYL_SETUP
+
+/******* Define the following Macros to enable the vendor model ******/
+#define ENABLE_VENDOR_MODEL_SERVER (1)
+#define GENERIC_SERVER_MODEL_PUBLISH
+
+/******************************************************************************/
+/*
+Define the Macro for enabling/disabling the Publishing with Generic on off
+or by Vendor Model.
+@ define Macro for Vendor Publishing
+@ Undefine or comment Macro for Generic On Off Publishing
+*/
+//#define VENDOR_CLIENT_MODEL_PUBLISH
+//#define GENERIC_CLIENT_MODEL_PUBLISH
+//#define LIGHT_CLIENT_MODEL_PUBLISH
+
+
+/* Define the macros for the numbers of sensor present.*/
+//#define NUMBER_OF_SENSOR 1
+//#define ENABLE_OCCUPANCY_SENSOR
+/*
+Macro is responsible for enabling and desabling the sensor publication.
+Comment this macro to disable the publication
+*/
+//#define ENABLE_SENSOR_PUBLICATION
+
+/******************************************************************************/
+
+
+/* Maximum Time period value of PWM */
+#define PWM_TIME_PERIOD 31990U
+
+/******************************************************************************/
+/***** MACROS for POWER ON-OFF CYCLE BASED UNPROVISIONING *********************/
+/******************************************************************************/
+
+/*
+Define the following Macro to check the Power-OnOff Cycles
+5 Continuous cycles of OnOff with Ontime <2 sec will cause unprovisioning
+*/
+//#define ENABLE_UNPROVISIONING_BY_POWER_ONOFF_CYCLE
+
+#define POWER_ON_OFF_CYCLES_FOR_UNPROVISIONING 5
+#define MASK_BITS_FOR_POWER_ON_OFF_CYCLES (0xFFFFFFFF << POWER_ON_OFF_CYCLES_FOR_UNPROVISIONING)
+ /* 0xFFFFFFE0 */
+#define ON_TIME_IN_SECONDS_FOR_POWER_CYCLING 2
+#define BLINK_TIMES_FOR_FACTORY_RESET 5
+
+/*
+Define the following Macro to save Generic and Light Model states in NVM
+This may result into excessive flash erase operations,
+this should be avoided to ensure flash longevity
+*/
+#define ENABLE_SAVE_MODEL_STATE_NVM
+
+/* Only one Macro will be enable at one time */
+//#define SAVE_MODEL_STATE_FOR_ALL_MESSAGES
+//#define SAVE_MODEL_STATE_POWER_FAILURE_DETECTION
+
+
+/* Macros defined for the number of bytes saved, number of bytes dedicated for ganeric
+ model and light model.
+*/
+#define APP_NVM_GENERIC_MODEL_SIZE 16U
+#define APP_NVM_LIGHT_MODEL_SIZE 48U/*32U*/
+#define APP_NVM_MODELDATA_PER_ELEMENT_SIZE (APP_NVM_GENERIC_MODEL_SIZE+APP_NVM_LIGHT_MODEL_SIZE)
+//#define APP_NVM_MODEL_SIZE 50U
+#define APP_NVM_MODEL_SIZE (APP_NVM_MODELDATA_PER_ELEMENT_SIZE * APPLICATION_NUMBER_OF_ELEMENTS)
+//#define APP_NVM_MODEL_ALL_ELEMENTS_SIZE
+
+
+/*Macros are defined for the selection of the number of led and type of lighting
+ used for the application.
+*if board has one led, uncomment USER_BOARD_1LED
+*if board has cool warm leds, uncomment USER_BOARD_COOL_WHITE_LED
+*if board has RGB leds, uncomment USER_BOARD_RGB_LED
+*if board has RGB leds as well as cool warm leds,
+ uncomment USER_BOARD_COOL_WHITE_LED and USER_BOARD_RGB_LED
+*/
+/* comment ENABLE_GENERIC_MODEL_SERVER_DEFAULT_TRANSITION_TIME when using
+ USER_BOARD_COOL_WHITE_LED ,USER_BOARD_RGB_LED
+ Default transition is provided only for one led.
+*/
+//#define USER_BOARD_1LED
+//#define USER_BOARD_COOL_WHITE_LED
+//#define USER_BOARD_RGB_LED
+
+/* Pulse Width Modulation support for external LED control */
+#define ENABLE_PWM_SUPPORT 0
+
+/*******************************************************************************
+*** Following section helps to configure the Application of Mesh ***********
+*******************************************************************************/
+
+/* Max elements supported by the MESH library: 1 */
+/* Max elements in the MESH application: 1 */
+#define APPLICATION_NUMBER_OF_ELEMENTS 1
+/* Max total Models per element supported by the MESH library (SIG + Vendor): 3 */
+/* Max SIG Models per element in the MESH application */
+#define USER_SIG_MODELS_MAX_COUNT 1
+/* Max Vendor Models per element in the MESH application */
+#define USER_VENDOR_MODELS_MAX_COUNT 1
+
+
+/* Contains a 16-bit company identifier assigned by the Bluetooth SIG
+(the list is available
+@ https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers)
+For STMicroelectronics : it is 0x0030 */
+#define COMPANY_ID 0x0030
+
+/* Contains a 16-bit vendor-assigned product identifier */
+#define PRODUCT_ID 0x0002
+
+/* Contains a 16-bit vendor-assigned product version ID */
+#define PRODUCT_VERSION_ID 0x010A
+
+#define MAX_APPLICATION_PACKET_SIZE 160 /*Can go up to 160*/
+
+#define TPT_SEGMENT_COUNT (((MAX_APPLICATION_PACKET_SIZE)/12)+2)
+
+/*******************************************************************************
+********** MAC Address Configuration *******************************************
+*******************************************************************************/
+
+/*
+* Define to enable external MAC handling,
+* DONT change the Values 0x01, 0x02, 0x03
+* SELECT ONLY One of the Option
+*/
+//#define GENERATE_STATIC_RANDOM_MAC 0x01
+//#define EXTERNAL_MAC_ADDR_MGMT 0x02
+#define INTERNAL_UNIQUE_NUMBER_MAC 0x03
+
+/* Declare this value as 0x01 if the External Address is PUBLIC Address */
+/* For example like this: #define EXTERNAL_MAC_IS_PUBLIC_ADDR 0x1 */
+/* Else, by default, the external address will be treated as RANDOM */
+#define EXTERNAL_MAC_IS_PUBLIC_ADDR 0x0
+
+/******************************************************************************/
+
+
+/*******************************************************************************
+****** Following section helps to select right configuration of node ***********
+*******************************************************************************/
+/*
+* Minimum gap between successive transmissions
+* varies from 10 to 65535
+*/
+#define TR_GAP_BETWEEN_TRANSMISSION 50U
+
+
+/*
+* Friend node receive window size is 50 ms
+*/
+
+/*
+* Friend node subscription list size is 4
+*/
+
+/*
+* Friend node message queue is 16
+*/
+
+/*
+* Number of Low power nodes that can be associated with Friend node
+* varies from 1 to 10
+*/
+#define FN_NO_OF_LPNS 1U/*6U*/
+
+/*
+* For prioritizing friendship offer with good RSSI link
+* varies from 0 to 3
+* Ref @Mesh_v1.0
+* 0 -> 1
+* 1 -> 1.5
+* 2 -> 2
+* 3 -> 2.5
+*/
+#define LPN_RSSI_FACTOR_LEVEL 1U
+
+/*
+* For prioritizing friendship offer with good receive window factor
+* varies from 0 to 3
+* Ref @Mesh_v1.0
+* 0 -> 1
+* 1 -> 1.5
+* 2 -> 2
+* 3 -> 2.5
+*/
+#define LPN_RECIVE_WINDOW_FACTOR_LEVEL 1U
+
+/*
+* Minimum packets queue size required by Low Power node
+* varies from 1 to 7
+* Ref @Mesh_v1.0
+* 1 -> 2
+* 2 -> 4
+* 3 -> 8
+* 4 -> 16
+* 5 -> 32
+* 6 -> 64
+* 7 -> 128
+*/
+#define LPN_MINIMUM_QUEUE_SIZE_LOG 2U
+
+/*
+* (unit ms)
+* varies from 0x0A to 0xFF
+* Ref @Mesh_v1.0
+* 0x0A -> 10ms
+* 0xFF -> 255ms
+*/
+#define LPN_RECEIVE_DELAY 150U
+
+/*
+* Poll timeout value after which friendship cease to exist (unit 100ms)
+* varies from 0x00000A to 0x34BBFF
+* Ref @Mesh_v1.0
+* 0x00000A -> 1 second
+* 0x34BBFF -> 96 hours
+*/
+#define LPN_POLL_TIMEOUT 2000U
+
+/*
+* Maximum receive window size acceptable to low power node (unit ms)
+* varies from 0x0A to 0xFF
+* Ref @Mesh_v1.0
+* 0x0A -> 10ms
+* 0xFF -> 255ms
+*/
+#define LPN_RECEIVE_WINDOW_SIZE 255U/*55U*/
+
+/*
+* Minimum friend's subscription list size capability required by lpn
+* varies from 1 to 5
+* Ref @Mesh_v1.0
+*/
+#define LPN_SUBSCR_LIST_SIZE 2U
+
+/*
+* Frequency at which low power node would send friend request (unit 100ms)
+* varies from 0 to 255
+* 100 -> 10s
+*/
+#define LPN_FRIEND_REQUEST_FREQUENCY 50U
+
+/*
+* Frequency at which low power node would poll friend node (unit 100ms)
+* should be less than poll timeout
+* 100 -> 10s
+*/
+#define LPN_FRIEND_POLL_FREQUENCY 25U
+
+/*
+* Minimum RSSI required by low power node
+* should be less than equal to -60
+*/
+#define LPN_MINIMUM_RSSI -100
+
+/*
+* Retries to be made by lpn before termination of friendship
+* varies from 2 to 10
+*/
+#define LPN_NO_OF_RETRIES 10U
+
+/*
+* Maximum address list size buffer in
+* Friend Subscription List Add Message is 10
+*/
+
+
+/*
+* Enable or disable neighbor table
+* if defined -> enabled
+* If MAC address of neighbor changes it appears as new neighbor
+* Neighbor table update can be triggered (configurable) in following cases
+* On receiving Unprovisioned device beacon
+* On receiving Secure network beacon
+* On receiving Mesh message
+* Message with any TTL
+* Message with TTL = 0
+* if not defined -> disabled
+*/
+#define ENABLE_NEIGHBOR_TABLE
+
+/*
+* Size of neighbor table
+*/
+#define NEIGHBOR_COUNT 5U
+
+/*
+* (unit s)
+* Duration (wrt appear or last refresh)
+* for which neighbor exists in neighbor table
+*/
+#define NEIGHBOR_ALIVE_TIME 20U
+
+/*
+* Enable/disable neighbor table update with unprovisioned device beacon
+* 0: Disable neighbor table update with unprovisioned device beacon
+* 1: Enable neighbor table update with unprovisioned device beacon
+*/
+#define NEIGHBOR_UNPRVND_DEV_BEACON_NTU 1U
+
+/*
+* Enable/disable neighbor table update with secure network beacon
+* 0: Disable neighbor table update with secure network beacon
+* 1: Enable neighbor table update with secure network beacon
+*/
+#define NEIGHBOR_SECURE_NET_BEACON_NTU 0U
+
+/*
+* Enable/disable neighbor table update with TTL 0 message
+* 0: Disable neighbor table update messages
+* 1: Enable neighbor table update with messages with 0 TTL
+* 2: Enable neighbor table update with messages with any TTL
+*/
+#define NEIGHBOR_MSG_TTLX_NTU 0U
+
+/*******************************************************************************
+*** Following section helps to configure the LEDs of Application of Mesh ***
+*******************************************************************************/
+
+#if defined USE_STM32WBXX_NUCLEO || defined USE_STM32WBXX_USB_DONGLE
+ #define SINGLE_LED PWM4
+ #define COOL_LED PWM0
+ #define WARM_LED PWM1
+ #define RED_LED PWM2
+ #define GREEN_LED PWM3
+ #define BLUE_LED PWM4
+#endif
+
+
+/* Exported variables -------------------------------------------------------*/
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+#endif /* __MESH_CFG_USR_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.c
new file mode 100644
index 000000000..4d3fa8a2d
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.c
@@ -0,0 +1,1163 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file models_if.c
+ * @author MCD Application Team
+ * @brief Mesh Modes interface file of the application
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "hal_common.h"
+#include "appli_mesh.h"
+#include "appli_nvm.h"
+#include "ble_hci_le.h"
+#include "models_if.h"
+
+#include "common.h"
+#include "generic.h"
+#include "light.h"
+#include "light_lc.h"
+#include "time_scene.h"
+#include "sensors.h"
+#include "vendor.h"
+#include "appli_generic.h"
+#include "appli_light.h"
+#include "appli_light_lc.h"
+#include "appli_sensor.h"
+#include "appli_vendor.h"
+#include "config_client.h"
+#include "generic_client.h"
+#include "light_client.h"
+#include "sensors_client.h"
+#include "appli_generic_client.h"
+#include "appli_light_client.h"
+#include "appli_sensors_client.h"
+
+#if (( CFG_LPM_SUPPORTED == 0) && (ENABLE_PWM_SUPPORT == 1))
+#include "PWM_config.h"
+#include "PWM_handlers.h"
+#endif
+
+/** @addtogroup ST_BLE_Mesh
+* @{
+*/
+
+/** @addtogroup Application_Mesh_Models
+* @{
+*/
+/* Private variables ---------------------------------------------------------*/
+MOBLEUINT8 Led_Value = 0;
+
+MOBLEUINT8 ButtonIndex_Value = 0;
+
+/* Private typedef -----------------------------------------------------------*/
+#pragma pack(push, 1)
+
+typedef struct
+{
+ MOBLE_ADDRESS peer;
+ MOBLE_ADDRESS dst;
+ MOBLEUINT8 command;
+ MOBLEUINT8 elementIndex;
+ MOBLEUINT8 appKeyOffset;
+ MOBLEUINT8 netKeyOffset;
+ MOBLEUINT8 data[DATA_BUFFER_LENGTH]; /* 8-Bytes response packet */
+ MOBLEUINT32 length;
+} APPLI_SEND_RESPONSE_MODULE;
+
+
+typedef struct
+{
+ MOBLEUINT8 packet_count;
+ MOBLEUINT32 send_time;
+ APPLI_SEND_RESPONSE_MODULE* head;
+ MOBLEUINT8 head_index;
+ APPLI_SEND_RESPONSE_MODULE packet[MAX_PENDING_PACKETS_QUE_SIZE];
+} APPLI_PENDING_PACKETS;
+
+#pragma pack(pop)
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+
+
+/* Private variables ---------------------------------------------------------*/
+
+MOBLEUINT8 pGeneric_OnOffParam[sizeof(Generic_OnOffParam_t)];
+MOBLEUINT8 pGeneric_LevelParam[sizeof(Generic_LevelParam_t)];
+MOBLEUINT8 pGeneric_DeltaLevelParam[sizeof(Generic_DeltaLevelParam_t)];
+MOBLEUINT8 pGeneric_MoveLevelParam[sizeof(Generic_LevelMoveParam_t)];
+MOBLEUINT8 pGeneric_PowerOnOffParam[sizeof(Generic_PowerOnOffParam_t)];
+MOBLEUINT8 pGeneric_DefaultTransitionTimeParam[sizeof(Generic_DefaultTransitionParam_t)];
+
+MOBLEUINT8 pLightnessParam[sizeof(Light_LightnessParam_t)];
+MOBLEUINT8 pLightnessRangeParam[sizeof(Light_LightnessRangeParam_t)];
+
+MOBLEUINT8 pLightCtlParam[sizeof(Light_CtlParam_t)];
+MOBLEUINT8 pLightCtlTemperatureParam[sizeof(Light_CtlTemperatureParam_t)];
+MOBLEUINT8 pLightCtlTemperatureRangeParam[sizeof(Light_CtlTemperatureRangeParam_t)];
+MOBLEUINT8 pLightCtlDefaultParam[sizeof(Light_CtlDefaultParam_t)];
+
+MOBLEUINT8 pLightHslParam[sizeof(Light_HslParam_t)];
+MOBLEUINT8 pLightHslRangeParam[sizeof(Light_HslRangeParam_t)];
+MOBLEUINT8 pLightHslHueParam[sizeof(Light_HslHueParam_t)];
+MOBLEUINT8 pLightHslSaturationParam[sizeof(Light_HslSaturationParam_t)];
+
+MOBLEUINT8 pLightLCModeParam[sizeof(Light_LC_ModeParam_t)];
+MOBLEUINT8 pLightLCOccupancyModeParam[sizeof(Light_LC_ModeParam_t)];
+MOBLEUINT8 pLightLCOnOffParam[sizeof(Light_LC_OnOffParam_t)];
+MOBLEUINT8 pLightLCPropertyParam[6];
+
+MOBLEUINT8 pSensorsCadenceParam[sizeof(sensor_CadenceCbParam_t)];
+MOBLEUINT8 pSensorsSettingParam[sizeof(sensor_SettingCbParams_t)];
+
+APPLI_PENDING_PACKETS Appli_PendingPackets = {0};
+
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+__attribute__((aligned(4)))const MOBLE_VENDOR_CB_MAP vendor_cb =
+{
+ Vendor_WriteLocalDataCb,
+ Vendor_ReadLocalDataCb,
+ Vendor_OnResponseDataCb
+};
+
+__attribute__((aligned(4)))const Appli_Vendor_cb_t VendorAppli_cb =
+{
+ /*Vendor Commands*/
+ Appli_Vendor_LEDControl,
+ Appli_Vendor_DeviceInfo,
+ Appli_Vendor_Test,
+ Appli_LedCtrl,
+ Appli_GetTestValue,
+ Appli_Vendor_Data_write
+};
+#endif
+
+__attribute__((aligned(4)))const Appli_Generic_cb_t GenericAppli_cb =
+{
+ /* Generic OnOff callbacks */
+ Appli_Generic_OnOff_Set,
+ /* Generic OnOff Status callbacks */
+ Appli_Generic_OnOff_Status,
+ /* Generic Level callbacks */
+ Appli_Generic_Level_Set,
+ Appli_Generic_Delta_Set,
+ Appli_Generic_Move_Set,
+ /* Generic Level Status callbacks */
+ Appli_Generic_Level_Status,
+ /* Generic Power on off callbacks */
+ Appli_Generic_PowerOnOff_Set,
+ /* Generic Power on off callbacks */
+ Appli_Generic_PowerOnOff_Status,
+
+ /* Generic Default transition time callbacks */
+ Appli_Generic_DefaultTransitionTime_Set,
+ /* Generic Default transition time callbacks */
+ Appli_Generic_DefaultTransitionTime_Status
+};
+
+__attribute__((aligned(4)))const Appli_Generic_State_cb_t Appli_GenericState_cb =
+{
+
+ /* Generic Get On Off status */
+ Appli_Generic_GetOnOffStatus,
+ Appli_Generic_GetOnOffValue,
+ /* Generic Get level status */
+ Appli_Generic_GetLevelStatus,
+ /* Generic Get Power on off status */
+ Appli_Generic_GetPowerOnOffStatus,
+ /* Generic Get Default transition time status */
+ Appli_Generic_GetDefaultTransitionStatus
+};
+
+__attribute__((aligned(4)))const Appli_Light_GetStatus_cb_t Appli_Light_GetStatus_cb =
+{
+ Appli_Light_GetLightnessStatus,
+ Appli_Light_GetLightnessLinearStatus,
+ Appli_Light_GetLightnessDefaultStatus,
+ Appli_Light_GetLightnessLastStatus,
+ Appli_Light_GetLightnessRangeStatus,
+ Appli_Light_GetCtlLightStatus,
+ Appli_Light_GetCtlTargetStatus,
+ Appli_Light_GetCtlTemperatureStatus,
+ Appli_Light_GetCtlTemperatureRange,
+ Appli_Light_GetCtlDefaultStatus,
+ Appli_Light_GetHslStatus,
+ Appli_Light_GetHslTargetStatus,
+ Appli_Light_GetHslHueStatus,
+ Appli_Light_GetHslSaturationStatus,
+ Appli_Light_GetHslHueRange,
+ Appli_Light_GetHslSatRange,
+ Appli_Light_GetHslDefaultStatus
+};
+
+
+__attribute__((aligned(4)))const Appli_Light_cb_t LightAppli_cb =
+{
+ /* Light Lightness callbacks */
+ Appli_Light_Lightness_Set,
+ Appli_Light_Lightness_Status,
+
+ Appli_Light_Lightness_Linear_Set,
+ Appli_Light_Lightness_Linear_Status,
+
+ Appli_Light_Lightness_Default_Set,
+ Appli_Light_Lightness_Default_Status,
+
+ Appli_Light_Lightness_Last_Set,
+ Appli_Light_Lightness_Last_Status,
+
+ Appli_Light_Lightness_Range_Set,
+ Appli_Light_Lightness_Range_Status,
+
+ Appli_Light_Ctl_Set,
+ Appli_Light_Ctl_Status,
+
+ Appli_Light_CtlTemperature_Set,
+ Appli_Light_CtlTemperature_Status,
+
+ Appli_Light_CtlTemperature_Range_Set,
+ Appli_Light_CtlTemperature_Range_Status,
+
+ Appli_Light_CtlDefault_Set,
+ Appli_Light_CtlDefault_Status,
+
+ Appli_Light_Hsl_Set,
+ Appli_Light_Hsl_Status,
+
+ Appli_Light_HslHue_Set,
+ Appli_Light_HslHue_Status,
+
+ Appli_Light_HslSaturation_Set,
+ Appli_Light_HslSaturation_Status,
+
+ Appli_Light_HslDefault_Set,
+ Appli_Light_HslDefault_Status,
+
+ Appli_Light_HslRange_Set,
+ Appli_Light_HslRange_Status
+};
+
+/*#ifdef ENABLE_SENSOR_MODEL_CLIENT*/
+__attribute__((aligned(4))) const sensor_client_cb_t SensorAppli_cb =
+{
+ Appli_Sensor_Descriptor_Status,
+ Appli_Sensor_Cadence_Status,
+ Appli_Sensor_Settings_Status,
+ Appli_Sensor_Setting_Status,
+ Appli_Sensor_Status,
+ Appli_Sensor_Column_Status,
+ Appli_Sensor_Series_Status
+};
+/*#endif*/
+
+__attribute__((aligned(4)))const MODEL_SIG_cb_t Model_SIG_cb[] =
+{
+#ifdef ENABLE_GENERIC_MODEL_SERVER
+ {
+ GenericModelServer_GetOpcodeTableCb,
+ GenericModelServer_GetStatusRequestCb,
+ GenericModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER
+ {
+ LightModelServer_GetOpcodeTableCb,
+ LightModelServer_GetStatusRequestCb,
+ LightModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_SENSOR_MODEL_SERVER
+{
+ SensorModelServer_GetOpcodeTableCb,
+ SensorModelServer_GetStatusRequestCb,
+ SensorModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_TIME_SCENE_MODEL_SERVER
+ {
+ Time_SceneModelServer_GetOpcodeTableCb,
+ Time_SceneModelServer_GetStatusRequestCb,
+ Time_SceneModelServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ {
+ LightLcServer_GetOpcodeTableCb,
+ LightLcServer_GetStatusRequestCb,
+ LightLcServer_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_GENERIC_MODEL_CLIENT
+ {
+ GenericModelClient_GetOpcodeTableCb,
+ GenericModelClient_GetStatusRequestCb,
+ GenericModelClient_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_CONFIG_MODEL_CLIENT
+ {
+ ConfigClientModel_GetOpcodeTableCb,
+ ConfigClientModel_GetStatusRequestCb,
+ ConfigClientModel_ProcessMessageCb
+ },
+#endif
+#ifdef ENABLE_LIGHT_MODEL_CLIENT
+ {
+ LightModelClient_GetOpcodeTableCb,
+ LightModelClient_GetStatusRequestCb,
+ LightModelClient_ProcessMessageCb
+ },
+#endif
+
+#ifdef ENABLE_SENSOR_MODEL_CLIENT
+ {
+ SensorsModelClient_GetOpcodeTableCb,
+ SensorsModelClient_GetStatusRequestCb,
+ SensorsModelClient_ProcessMessageCb
+ },
+#endif
+
+ {
+ 0, 0, 0
+ }
+};
+
+__attribute__((aligned(4)))const APPLI_SAVE_MODEL_STATE_CB SaveModelState_cb = AppliNvm_SaveModelState;
+
+#if 0
+__attribute__((aligned(4)))const APPLI_SAVE_MODEL_TEST_STATE_CB SaveModelTestState_cb = AppliNVM_Save_FlashTesting;
+__attribute__((aligned(4)))const APPLI_RETRIEVE_MODEL_TEST_STATE_CB RetrieveModelTestState_cb = AppliNVM_Retrieve_FlashTesting;
+#endif
+
+#define MODEL_SIG_COUNT ( ( sizeof(Model_SIG_cb)/sizeof(Model_SIG_cb[0]) - 1 ))
+
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+__attribute__((aligned(4)))const MODEL_Vendor_cb_t Model_Vendor_cb[] =
+{
+ {
+ VendorModel_PID1_GetOpcodeTableCb,
+ VendorModel_PID1_GetStatusRequestCb,
+ VendorModel_PID1_ProcessMessageCb
+ },
+ { 0, 0,0 }
+};
+
+#define MODEL_VENDOR_COUNT ( ( sizeof(Model_Vendor_cb)/sizeof(Model_Vendor_cb[0]) - 1 ))
+#endif
+
+extern MOBLEUINT8 NumberOfElements;
+
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+void GetApplicationVendorModels(const MODEL_Vendor_cb_t** pModelsTable, MOBLEUINT32* VendorModelscount)
+{
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+ *pModelsTable = Model_Vendor_cb ;
+ *VendorModelscount = MODEL_VENDOR_COUNT;
+
+ TRACE_M(TF_VENDOR_M, "GetApplicationVendorModels \r\n");
+#endif
+}
+
+/**
+* @brief Initialization Commands for Models
+* @param void
+* @retval void
+*/
+void BLEMesh_ModelsInit(void)
+{
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+
+ MOBLEUINT16 modelStateLoad_Size;
+ MOBLEUINT8 modelStateLoadBuff[APP_NVM_MODEL_SIZE];
+
+#ifdef CLIENT
+ MOBLEUINT8 PrvnStateLoad_Size;
+ MOBLEUINT8 PrvnlStateLoadBuff[16];
+#endif
+
+#if 0
+#ifdef ENABLE_NVM_TEST
+ /* Testing of flash code */
+ Device_FlashTesting();
+#endif
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LIGHTNESS
+ /* Inintialise the light model range states with default values */
+ Light_ModelRangeInit();
+#endif
+
+ /* Callbacks used by BlueNRG-Mesh Models */
+ BLEMesh_SetSIGModelsCbMap(Model_SIG_cb, MODEL_SIG_COUNT);
+
+#if defined ENABLE_SENSOR_MODEL_SERVER && !defined CUSTOM_BOARD_PWM_SELECTION
+ /* Initialization of sensors */
+ Appli_Sensor_Init();
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ Appli_Light_LCs_Init();
+#endif
+#endif
+
+ /* Load generic model states from nvm */
+ AppliNvm_LoadModelState(modelStateLoadBuff, &modelStateLoad_Size);
+ if (modelStateLoad_Size != 0)
+ {
+ /* update states of generic model */
+ Model_RestoreStates(modelStateLoadBuff, modelStateLoad_Size);
+ }
+
+#ifdef CLIENT
+ AppliPrvnNvm_LoadData(PrvnlStateLoadBuff,&PrvnStateLoad_Size);
+#endif
+
+}
+
+/**
+* @brief Process Commands for Models
+* @param void
+* @retval void
+*/
+void BLEMesh_ModelsProcess(void)
+{
+#ifdef ENABLE_GENERIC_MODEL_SERVER
+ Generic_Process();
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER
+ Lighting_Process();
+#endif
+
+#ifdef ENABLE_VENDOR_MODEL_SERVER
+ Vendor_Process();
+#endif
+/* Define this Macro to enable the publication of sensors data.*/
+#if defined ENABLE_SENSOR_MODEL_SERVER
+ Sensor_Process();
+#endif
+
+#if ENABLE_APPLI_TEST
+ Test_Process();
+#endif
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+ ModelSave_Process();
+#endif
+
+#ifdef ENABLE_LIGHT_MODEL_SERVER_LC
+ Light_LC_Process();
+#endif
+}
+
+/**
+* @brief Publish Command for Models
+* @param void
+* @retval void
+*/
+void BLEMesh_ModelsCommand(void)
+{
+#ifdef VENDOR_CLIENT_MODEL_PUBLISH
+ Appli_Vendor_Publish(BLEMesh_GetAddress());
+#endif
+
+#if defined(GENERIC_CLIENT_MODEL_PUBLISH) || defined(LIGHT_CLIENT_MODEL_PUBLISH)
+ Led_Value ^= APPLI_LED_ON;
+ pGeneric_OnOffParam[0] = Led_Value; /* OnOff parameter byte 0 : The target value of the Generic Onoff state */
+
+ pLightLCModeParam[0] = Led_Value;
+ pLightLCOccupancyModeParam[0] = Led_Value;
+ pLightLCOnOffParam[0] = Led_Value;
+
+ /*This Switch-case allows to quickly set the different Models Messages parameters in order to demonstrate Client APIs functioning */
+ switch (ButtonIndex_Value){
+ case 0:
+ ButtonIndex_Value=0x1;
+
+ pGeneric_LevelParam[0]= 0xE8; /* Level parameter byte 0 : The target value of the Generic Level state */
+ pGeneric_LevelParam[1]= 0x03; /* Level parameter byte 1 : The target value of the Generic Level state */
+
+ pGeneric_DeltaLevelParam[0]= 0xE8; /* Delta Level parameter byte 0 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[1]= 0x03; /* Delta Level parameter byte 1 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[2]= 0x00; /* Delta Level parameter byte 2 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[3]= 0x00; /* Delta Level parameter byte 3 : The Delta change of the Generic Level state */
+
+ pGeneric_MoveLevelParam[0]= 0xE8; /*Move Delta Level parameter byte 0 : The Delta Level step to calculate Move speed for the Generic Level state */
+ pGeneric_MoveLevelParam[1]= 0x03; /*Move Delta Level parameter byte 1 : The Delta Level step to calculate Move speed for the Generic Level state */
+
+ pGeneric_DefaultTransitionTimeParam[0]=0x0F; /*Transition time parameter byte 0 : The value of the Generic Default Transition Time state */
+
+ pGeneric_PowerOnOffParam[0]=0x1; /*OnPowerUp parameter byte 0 : The value of the Generic OnPowerUp state */
+
+ pLightnessParam[0] = 0xE8; /*Lightness parameter byte 0 : The target value of the Light Lightness Actual/Linear/Default state */
+ pLightnessParam[1] = 0x03; /*Lightness parameter byte 1 : The target value of the Light Lightness Actual/Linear/Default state */
+
+ pLightnessRangeParam[0] = 0xE8; /*Lightness Range Min parameter byte 0 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[1] = 0x03; /*Lightness Range Min parameter byte 1 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[2] = 0x88; /*Lightness Range Max parameter byte 0 : The value of the Lightness Range Max field of the Light Lightness Range state */
+ pLightnessRangeParam[3] = 0x13; /*Lightness Range Max parameter byte 1 : The value of the Lightness Range Max field of the Light Lightness Range state */
+
+ pLightCtlParam[0] = 0xE8; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[1] = 0x03; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[2] = 0xE8; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[4] = 0xE8; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlParam[5] = 0x03; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureParam[0] = 0xE8; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[1] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[2] = 0xE8; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlTemperatureParam[3] = 0x03; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureRangeParam[0] = 0xE8; /*Temperature Range Min parameter byte 0 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[1] = 0x03; /*Temperature Range Min parameter byte 1 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[2] = 0x88; /*Temperature Range Max parameter byte 0 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[3] = 0x13; /*Temperature Range Max parameter byte 1 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+
+ pLightCtlDefaultParam[0] = 0xE8; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[1] = 0x03; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[2] = 0xE8; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[4] = 0xE8; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV Default state*/
+ pLightCtlDefaultParam[5] = 0x03; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV Default state*/
+ /** Red color **/
+ pLightHslParam[0] = 0x44; /*HSL Lightness parameter byte 0 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[1] = 0x44; /*HSL Lightness parameter byte 1 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[2] = 0x64; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslParam[3] = 0x04; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+ pLightHslParam[4] = 0xff; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslParam[5] = 0xff; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ pLightHslRangeParam[0] = 0xE8; /*HSL Hue Range Min parameter byte 0 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[1] = 0x03; /*HSL Hue Range Min parameter byte 1 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[2] = 0x88; /*HSL Hue Range Max parameter byte 0 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[3] = 0x13; /*HSL Hue Range Max parameter byte 1 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[4] = 0x88; /*HSL Saturation Min parameter byte 0 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[5] = 0x13; /*HSL Saturation Min parameter byte 1 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[6] = 0x70; /*HSL Saturation Max parameter byte 0 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[7] = 0x17; /*HSL Saturation Max parameter byte 1 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+
+ pLightHslHueParam[0] = 0xE8; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslHueParam[1] = 0x03; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+
+ pLightHslSaturationParam[0] = 0xE8; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslSaturationParam[1] = 0x03; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ /*LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B*/
+ pLightLCPropertyParam[0]= 0x2B; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[1]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[2]= 0x44; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[3]= 0x44; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[4]= 0x44; /* Property ID byte 2 : Property ID identifying a Light LC Property.*/
+ break;
+
+ case 1:
+ ButtonIndex_Value=0x2;
+
+ pGeneric_LevelParam[0]= 0xff; /* Level parameter byte 0 : The target value of the Generic Level state */
+ pGeneric_LevelParam[1]= 0x7f; /* Level parameter byte 1 : The target value of the Generic Level state */
+
+ pGeneric_DeltaLevelParam[0]= 0x10; /* Delta Level parameter byte 0 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[1]= 0x27; /* Delta Level parameter byte 1 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[2]= 0x00; /* Delta Level parameter byte 2 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[3]= 0x00; /* Delta Level parameter byte 3 : The Delta change of the Generic Level state */
+
+ pGeneric_MoveLevelParam[0]= 0xff; /*Move Delta Level parameter byte 0 : The Delta Level step to calculate Move speed for the Generic Level state */
+ pGeneric_MoveLevelParam[1]= 0x7f; /*Move Delta Level parameter byte 1 : The Delta Level step to calculate Move speed for the Generic Level state */
+
+ pGeneric_DefaultTransitionTimeParam[0]=0x10; /*Transition time parameter byte 0 : The value of the Generic Default Transition Time state */
+
+ pGeneric_PowerOnOffParam[0]=0x2; /*OnPowerUp parameter byte 0 : The value of the Generic OnPowerUp state. */
+
+ pLightnessParam[0] = 0xff; /*Lightness parameter byte 0 : The target value of the Light Lightness Actual/Linear/Default state */
+ pLightnessParam[1] = 0xff; /*Lightness parameter byte 1 : The target value of the Light Lightness Actual/Linear/Default state */
+
+ pLightnessRangeParam[0] = 0x00; /*Lightness Range Min parameter byte 0 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[1] = 0x00; /*Lightness Range Min parameter byte 1 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[2] = 0xff; /*Lightness Range Max parameter byte 0 : The value of the Lightness Range Max field of the Light Lightness Range state */
+ pLightnessRangeParam[3] = 0xff; /*Lightness Range Max parameter byte 1 : The value of the Lightness Range Max field of the Light Lightness Range state */
+
+ pLightCtlParam[0] = 0xff; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[1] = 0xff; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[3] = 0x4e; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[4] = 0xff; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlParam[5] = 0x7f; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureParam[0] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[1] = 0x4e; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[2] = 0xff; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlTemperatureParam[3] = 0x7f; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureRangeParam[0] = 0x19; /*Temperature Range Min parameter byte 0 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[1] = 0x4e; /*Temperature Range Min parameter byte 1 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[2] = 0x20; /*Temperature Range Max parameter byte 0 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[3] = 0x4e; /*Temperature Range Max parameter byte 1 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+
+ pLightCtlDefaultParam[0] = 0xff; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[1] = 0xff; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness Default state*/
+ pLightCtlDefaultParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[3] = 0x4e; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature Default state*/
+ pLightCtlDefaultParam[4] = 0xff; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV Default state*/
+ pLightCtlDefaultParam[5] = 0x7f; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV Default state*/
+ /** Green color **/
+ pLightHslParam[0] = 0xc6; /*HSL Lightness parameter byte 0 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[1] = 0x46; /*HSL Lightness parameter byte 1 : The target value of the Light HSL Lightness state*/
+ pLightHslParam[2] = 0x19; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslParam[3] = 0x51; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+ pLightHslParam[4] = 0xd7; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslParam[5] = 0xed; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ pLightHslRangeParam[0] = 0x00; /*HSL Hue Range Min parameter byte 0 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[1] = 0xf0; /*HSL Hue Range Min parameter byte 1 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[2] = 0xff; /*HSL Hue Range Max parameter byte 0 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[3] = 0xff; /*HSL Hue Range Max parameter byte 1 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[4] = 0x00; /*HSL Saturation Min parameter byte 0 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[5] = 0xe0; /*HSL Saturation Min parameter byte 1 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[6] = 0xff; /*HSL Saturation Max parameter byte 0 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[7] = 0xef; /*HSL Saturation Max parameter byte 1 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+
+ pLightHslHueParam[0] = 0xff; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state*/
+ pLightHslHueParam[1] = 0xff; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state*/
+
+ pLightHslSaturationParam[0] = 0xff; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslSaturationParam[1] = 0xff; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ /*LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B*/
+ pLightLCPropertyParam[0]= 0x2B; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[1]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[2]= 0x01; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[3]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[4]= 0x10; /* Property ID byte 2 : Property ID identifying a Light LC Property.*/
+ break;
+
+ case 2:
+ ButtonIndex_Value=0x0;
+
+ pGeneric_LevelParam[0]= 0x00; /* Level parameter byte 0 : The target value of the Generic Level state */
+ pGeneric_LevelParam[1]= 0x00; /* Level parameter byte 1 : The target value of the Generic Level state */
+
+ pGeneric_DeltaLevelParam[0]= 0x00; /* Delta Level parameter byte 0 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[1]= 0x00; /* Delta Level parameter byte 1 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[2]= 0x00; /* Delta Level parameter byte 2 : The Delta change of the Generic Level state */
+ pGeneric_DeltaLevelParam[3]= 0x00; /* Delta Level parameter byte 3 : The Delta change of the Generic Level state */
+
+ pGeneric_MoveLevelParam[0]= 0x00; /*Move Delta Level parameter byte 0 : The Delta Level step to calculate Move speed for the Generic Level state */
+ pGeneric_MoveLevelParam[1]= 0x00; /*Move Delta Level parameter byte 1 : The Delta Level step to calculate Move speed for the Generic Level state */
+
+ pGeneric_DefaultTransitionTimeParam[0]=0x00; /*Transition time parameter byte 0 : The value of the Generic Default Transition Time state */
+
+ pGeneric_PowerOnOffParam[0]=0x0; /*OnPowerUp parameter byte 0 : The value of the Generic OnPowerUp state. */
+
+ pLightnessParam[0] = 0x00; /*Lightness parameter byte 0 : The target value of the Light Lightness Actual/Linear/Default state */
+ pLightnessParam[1] = 0x00; /*Lightness parameter byte 1 : The target value of the Light Lightness Actual/Linear/Default state */
+
+ pLightnessRangeParam[0] = 0x00; /*Lightness Range Min parameter byte 0 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[1] = 0x00; /*Lightness Range Min parameter byte 1 : The value of the Lightness Range Min field of the Light Lightness Range state */
+ pLightnessRangeParam[2] = 0x00; /*Lightness Range Max parameter byte 0 : The value of the Lightness Range Max field of the Light Lightness Range state */
+ pLightnessRangeParam[3] = 0x10; /*Lightness Range Max parameter byte 1 : The value of the Lightness Range Max field of the Light Lightness Range state */
+
+ pLightCtlParam[0] = 0x00; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[1] = 0x00; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness state */
+ pLightCtlParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlParam[4] = 0x00; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlParam[5] = 0x00; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureParam[0] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[1] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature state */
+ pLightCtlTemperatureParam[2] = 0x00; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV state */
+ pLightCtlTemperatureParam[3] = 0x00; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV state */
+
+ pLightCtlTemperatureRangeParam[0] = 0x20; /*Temperature Range Min parameter byte 0 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[1] = 0x03; /*Temperature Range Min parameter byte 1 : The value of the Temperature Range Min field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[2] = 0x21; /*Temperature Range Max parameter byte 0 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+ pLightCtlTemperatureRangeParam[3] = 0x03; /*Temperature Range Max parameter byte 1 : The value of the Temperature Range Max field of the Light CTL Temperature Range state */
+
+ pLightCtlDefaultParam[0] = 0x00; /*CTL Lightness parameter byte 0 : The target value of the Light CTL Lightness Default state */
+ pLightCtlDefaultParam[1] = 0x00; /*CTL Lightness parameter byte 1 : The target value of the Light CTL Lightness Default state */
+ pLightCtlDefaultParam[2] = 0x20; /*CTL Temperature parameter byte 0 : The target value of the Light CTL Temperature Default state */
+ pLightCtlDefaultParam[3] = 0x03; /*CTL Temperature parameter byte 1 : The target value of the Light CTL Temperature Default state */
+ pLightCtlDefaultParam[4] = 0x00; /*CTL Delta UV parameter byte 0 : The target value of the Light CTL Delta UV Default state */
+ pLightCtlDefaultParam[5] = 0x00; /*CTL Delta UV parameter byte 1 : The target value of the Light CTL Delta UV Default state */
+
+ pLightHslParam[0] = 0x00; /*HSL Lightness parameter byte 0 : The target value of the Light HSL Lightness state */
+ pLightHslParam[1] = 0x00; /*HSL Lightness parameter byte 1 : The target value of the Light HSL Lightness state */
+ pLightHslParam[2] = 0x00; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state */
+ pLightHslParam[3] = 0x00; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state */
+ pLightHslParam[4] = 0x00; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state */
+ pLightHslParam[5] = 0x00; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state */
+
+ pLightHslRangeParam[0] = 0x00; /*HSL Hue Range Min parameter byte 0 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[1] = 0x00; /*HSL Hue Range Min parameter byte 1 : The value of the Hue Range Min field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[2] = 0x00; /*HSL Hue Range Max parameter byte 0 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[3] = 0x10; /*HSL Hue Range Max parameter byte 1 : The value of the Hue Range Max field of the Light HSL Hue Range state*/
+ pLightHslRangeParam[4] = 0x00; /*HSL Saturation Min parameter byte 0 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[5] = 0x00; /*HSL Saturation Min parameter byte 1 : The value of the Saturation Range Min field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[6] = 0x00; /*SL Saturation Max parameter byte 0 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+ pLightHslRangeParam[7] = 0x20; /*HSL Saturation Max parameter byte 1 : The value of the Saturation Range Max field of the Light HSL Saturation Range state*/
+
+ pLightHslHueParam[0] = 0x00; /*HSL Hue parameter byte 0 : The target value of the Light HSL Hue state */
+ pLightHslHueParam[1] = 0x00; /*HSL Hue parameter byte 1 : The target value of the Light HSL Hue state */
+
+ pLightHslSaturationParam[0] = 0x00; /*HSL Saturation parameter byte 0 : The target value of the Light HSL Saturation state*/
+ pLightHslSaturationParam[1] = 0x00; /*HSL Saturation parameter byte 1 : The target value of the Light HSL Saturation state*/
+
+ /*LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON_PID : 0x002B */
+ pLightLCPropertyParam[0]= 0x2B; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[1]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[2]= 0x00; /* Property ID byte 0 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[3]= 0x00; /* Property ID byte 1 : Property ID identifying a Light LC Property.*/
+ pLightLCPropertyParam[4]= 0x00; /* Property ID byte 2 : Property ID identifying a Light LC Property.*/
+ break;
+
+ default:
+ break;
+ }
+
+
+#ifdef GENERIC_CLIENT_MODEL_PUBLISH
+ /** GENERIC ONOFF **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API ONOFF SET ACK ------------- \r\n");
+ Appli_GenericClient_API(0, GENERIC_ON_OFF_SET_ACK, pGeneric_OnOffParam);
+ */
+ TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API ONOFF SET UNACK ------------- \r\n");
+ Appli_GenericClient_API(0, GENERIC_ON_OFF_SET_UNACK, pGeneric_OnOffParam);
+
+ /** GENERIC LEVEL **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API LEVEL SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_LEVEL_SET_ACK, pGeneric_LevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API LEVEL SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_LEVEL_SET_UNACK, pGeneric_LevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DELTA LEVEL SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DELTA_SET, pGeneric_DeltaLevelParam);*/
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DELTA LEVEL SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DELTA_SET_UNACK, pGeneric_DeltaLevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API MOVE DELTA LEVEL SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_MOVE_SET, pGeneric_MoveLevelParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API MOVE DELTA LEVEL SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_MOVE_SET_UNACK, pGeneric_MoveLevelParam); */
+
+ /** GENERIC POWER ONOFF **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API POWER ON OFF SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_POWER_ON_OFF_SET, pGeneric_PowerOnOffParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API POWER ON OFF SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_POWER_ON_OFF_SET_UNACK, pGeneric_PowerOnOffParam); */
+
+ /** GENERIC TRANSITION TIME **/
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DEFAULT TRANSITION TIME SET ACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DEFAULT_TRANSITION_TIME_SET, pGeneric_DefaultTransitionTimeParam); */
+/* */
+/* TRACE_M(TF_GENERIC_CLIENT_M, "----------- Generic API DEFAULT TRANSITION TIME SET UNACK ------------- \r\n");*/
+/* Appli_GenericClient_API(0, GENERIC_DEFAULT_TRANSITION_TIME_SET_UNACK, pGeneric_DefaultTransitionTimeParam); */
+#endif
+
+#ifdef LIGHT_CLIENT_MODEL_PUBLISH
+ /** LIGHT LIGHTNESS **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_SET, pLightnessParam); */
+/* */
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_SET_UNACK, pLightnessParam); */
+
+ /** LIGHT LIGHTNESS LINEAR **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET LINEAR ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_LINEAR_SET, pLightnessParam); */
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS SET LINEAR UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_LINEAR_SET_UNACK, pLightnessParam); */
+
+ /** LIGHT LIGHTNESS DEFAULT **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS DEFAULT SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_DEFAULT_SET, pLightnessParam); */
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS DEFAULT SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_DEFAULT_SET_UNACK, pLightnessParam); */
+
+ /** LIGHT LIGHTNESS RANGE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS RANGE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_RANGE_SET, pLightnessRangeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LIGHTNESS RANGE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LIGHTNESS_RANGE_SET_UNACK, pLightnessRangeParam);*/
+
+ /** LIGHT LIGHTNESS CTL **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_SET, pLightCtlParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_SET_UNACK, pLightCtlParam);*/
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE**/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_SET, pLightCtlTemperatureParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_SET_UNACK, pLightCtlTemperatureParam);*/
+
+ /** LIGHT LIGHTNESS CTL TEMPERATURE RANGE**/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE RANGE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_RANGE_SET, pLightCtlTemperatureRangeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL TEMPERATURE RANGE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACK, pLightCtlTemperatureRangeParam);*/
+
+ /** LIGHT LIGHTNESS CTL DEFAULT**/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL DEFAULT SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_DEFAULT_SET, pLightCtlDefaultParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT CTL DEFAULT SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_CTL_DEFAULT_SET_UNACK, pLightCtlDefaultParam);*/
+
+ /** LIGHT LIGHTNESS HSL **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SET, pLightHslParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SET_UNACK, pLightHslParam);*/
+
+ /** LIGHT LIGHTNESS HSL DEFAULT **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL DEFAULT SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_DEFAULT_SET, pLightHslParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL DEFAULT SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_DEFAULT_SET_UNACK, pLightHslParam);*/
+
+ /** LIGHT LIGHTNESS HSL RANGE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL RANGE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_RANGE_SET, pLightHslRangeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL RANGE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_RANGE_SET_UNACK, pLightHslRangeParam);*/
+
+ /** LIGHT LIGHTNESS HSL HUE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL HUE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_HUE_SET, pLightHslHueParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL HUE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_HUE_SET_UNACK, pLightHslHueParam);*/
+
+ /** LIGHT LIGHTNESS HSL SATURATION **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SATURATION SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SATURATION_SET, pLightHslSaturationParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT HSL SATURATION SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_HSL_SATURATION_SET_UNACK, pLightHslSaturationParam);*/
+
+ /** LIGHT LC MODE **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC MODE SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_MODE_SET, pLightLCModeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC MODE SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_MODE_SET_UNACK, pLightLCModeParam);*/
+
+ /** LIGHT LC OM **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC OM SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_OM_SET, pLightLCOccupancyModeParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC OM SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_OM_SET_UNACK, pLightLCOccupancyModeParam);*/
+
+ /** LIGHT LC ONOFF **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC ONOFF SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_ON_OFF_SET, pLightLCOnOffParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC ONOFF SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_ON_OFF_SET_UNACK, pLightLCOnOffParam);*/
+
+ /** LIGHT LC PROPERTY **/
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC PROPERTY SET ACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_PROPERTY_SET, pLightLCPropertyParam);*/
+
+/* TRACE_M(TF_LIGHT_CLIENT_M, "----------- API LIGHT LC PROPERTY SET UNACK ------------- \r\n");*/
+/* Appli_LightClient_API(0, LIGHT_LC_PROPERTY_SET_UNACK, pLightLCPropertyParam);*/
+#endif
+#endif
+
+ #ifdef ENABLE_SENSOR_MODEL_CLIENT
+ /** SENSOR CADENCE**/
+ /*
+ PRESENT_AMBIENT_TEMPERATURE_PID : 0x004F
+ */
+ pSensorsCadenceParam[0]= 0x4F; /* Property ID byte 0 : Property ID for the sensor.*/
+ pSensorsCadenceParam[1]= 0x00; /* Property ID byte 1 : Property ID for the sensor.*/
+
+ pSensorsCadenceParam[2]= 0x81; /* Fast Cadence Period Divisor bits 0-7: Divisor for the Publish Period.*/
+ /* Status Trigger Type bit 8 : Defines the unit and format of the Status Trigger Delta fields.*/
+ pSensorsCadenceParam[3]= 0x11; /* Status Trigger Delta Down byte 0 : Delta down value that triggers a status message.*/
+ pSensorsCadenceParam[4]= 0x11; /* Status Trigger Delta Down byte 1 : Delta down value that triggers a status message.*/
+
+ pSensorsCadenceParam[5]= 0x22; /* Status Trigger Delta Up byte 0 : Delta down value that triggers a status message.*/
+ pSensorsCadenceParam[6]= 0x22; /* Status Trigger Delta Up byte 1 : Delta down value that triggers a status message.*/
+
+ pSensorsCadenceParam[7]= 0x10; /* Status Min Interval byte 0 : Minimum interval between two consecutive Status messages. */
+
+ pSensorsCadenceParam[8]= 0x33; /* Fast Cadence Low byte 0 : Low value for the fast cadence range.*/
+
+ pSensorsCadenceParam[9]= 0x44; /* Fast Cadence High byte 0 : High value for the fast cadence range.*/
+
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR CADENCE SET ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_CADENCE_SET, pSensorsCadenceParam);*/
+
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR CADENCE SET UNACK ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_CADENCE_SET_UNACK, pSensorsCadenceParam);*/
+
+ /** SENSOR SETTING**/
+ /*
+ PRESENT_AMBIENT_TEMPERATURE_PID : 0x004F
+ Second Property PID : 0x00AD
+ */
+ pSensorsSettingParam[0]= 0x4F; /* Property ID byte 0 : Property ID for the sensor*/
+ pSensorsSettingParam[1]= 0x00; /* Property ID byte 1 : Property ID for the sensor*/
+ pSensorsSettingParam[2]= 0xAD; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ pSensorsSettingParam[3]= 0x00; /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+
+ switch (ButtonIndex_Value){
+ case 0:
+ pSensorsSettingParam[4]= 0x10; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ /*pSensorsSettingParam[5]= 0x10;*/ /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+ break;
+ case 1:
+ pSensorsSettingParam[4]= 0x20; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ /*pSensorsSettingParam[5]= 0x20;*/ /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+ break;
+ case 2:
+ pSensorsSettingParam[4]= 0x0F; /* Sensor Setting Property ID byte 0 : Property ID for the sensor setting*/
+ /*pSensorsSettingParam[5]= 0x00;*/ /* Sensor Setting Property ID byte 1 : Property ID for the sensor setting*/
+ break;
+ default:
+ break;
+ }
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTING SET ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_SETTING_SET, pSensorsSettingParam);*/
+
+/* TRACE_M(TF_SENSOR_CLIENT_M, "----------- API SENSOR SETTING SET UNACK ------------- \r\n");*/
+/* Appli_SensorsClient_API(0, SENSOR_SETTING_SET_UNACK, pSensorsSettingParam);*/
+#endif /* ENABLE_SENSOR_MODEL_CLIENT */
+
+
+/* if CLIENT and SERVER => Publish is already done in CLIENT */
+#ifdef GENERIC_SERVER_MODEL_PUBLISH
+#ifndef GENERIC_CLIENT_MODEL_PUBLISH
+ Generic_Publish(BLEMesh_GetAddress());
+#endif
+#endif
+}
+
+
+/**
+* @brief Get the Element Number for selected Model
+* @param dst_peer : Destination Address received
+* @retval MOBLEUINT8 : elementNumber
+*/
+MOBLEUINT8 BLEMesh_ModelsGetElementNumber(MOBLE_ADDRESS dst_peer)
+{
+
+ MOBLE_ADDRESS nodeAddress;
+ MOBLEUINT8 elementNumber;
+
+ nodeAddress = BLEMesh_GetAddress();
+ elementNumber = ((dst_peer - nodeAddress)+1);
+
+ return elementNumber;
+}
+
+/**
+* @brief Get the Element Index for selected Model
+* @param dst_peer : Destination Address received
+* @retval MOBLEUINT8 : elementIndex
+*/
+MOBLEUINT8 BLEMesh_ModelsGetElementIndex(MOBLE_ADDRESS dst_peer)
+{
+
+ MOBLE_ADDRESS nodeAddress;
+ MOBLEUINT8 elementIndex;
+
+ nodeAddress = BLEMesh_GetAddress();
+ elementIndex =(dst_peer - nodeAddress);
+
+ return elementIndex;
+}
+
+
+/**
+* @brief Schedule a packet to be sent with randomized send timestamp
+* If a que is empty, random timestamp is calculated
+* Subsequent packets are sent in sequence
+* @param *pmsgParam Pointer to structure of message header for parameters:
+* elementIndex, src, dst addresses, TTL, RSSI, NetKey & AppKey Offset
+* @param status: Command status
+* @param data: Data buffer.
+* @param length: Length of data in bytes.
+* @retval None
+*/
+void BLEMesh_ModelsDelayPacket(MODEL_MessageHeader_t *pmsgParams,
+ MOBLEUINT8 command,
+ MOBLEUINT8 const * data,
+ MOBLEUINT32 length)
+{
+ MOBLEUINT8 random_time[8];
+
+ if (Appli_PendingPackets.packet_count == 0)
+ {
+ Appli_PendingPackets.packet_count = 1;
+ hci_le_rand(random_time);
+ Appli_PendingPackets.send_time = Clock_Time() +
+ DEFAULT_DELAY_PACKET_FROM +
+ (random_time[0] + random_time[1]*256)\
+ %DEFAULT_DELAY_PACKET_RANDOM_TIME;
+ Appli_PendingPackets.head = Appli_PendingPackets.packet;
+ Appli_PendingPackets.head_index = 0;
+ TRACE_M(TF_MISC, "Randomized time: %ld\n\r", Appli_PendingPackets.send_time - Clock_Time());
+ }
+ else
+ {
+ Appli_PendingPackets.packet_count += 1;
+ Appli_PendingPackets.packet_count = (Appli_PendingPackets.packet_count)%\
+ (MAX_PENDING_PACKETS_QUE_SIZE+1);
+
+ if (Appli_PendingPackets.head != (Appli_PendingPackets.packet + \
+ MAX_PENDING_PACKETS_QUE_SIZE - 1))
+ {
+ Appli_PendingPackets.head = Appli_PendingPackets.head +1;
+ Appli_PendingPackets.head_index = Appli_PendingPackets.head_index+1;
+ }
+ else
+ {
+ Appli_PendingPackets.head = Appli_PendingPackets.packet;
+ Appli_PendingPackets.head_index = 0;
+ }
+ }
+
+ Appli_PendingPackets.head->peer = pmsgParams->peer_addr;
+ Appli_PendingPackets.head->dst = pmsgParams->dst_peer;
+ Appli_PendingPackets.head->elementIndex = pmsgParams->elementIndex;
+ Appli_PendingPackets.head->appKeyOffset = pmsgParams->rcvdAppKeyOffset;
+ Appli_PendingPackets.head->netKeyOffset = pmsgParams->rcvdNetKeyOffset;
+ Appli_PendingPackets.head->command = command;
+ Appli_PendingPackets.head->length = length;
+ for (MOBLEUINT8 count=0; count<length; count++)
+ Appli_PendingPackets.head->data[count] = data[count];
+}
+
+
+/**
+* @brief If send timestamp is reached and que is not empty, send all packets
+* @param None
+* @retval None
+*/
+void BLEMesh_ModelsSendDelayedPacket(void)
+{
+ APPLI_SEND_RESPONSE_MODULE* ptr;
+ MODEL_MessageHeader_t msgParam;
+ MOBLEUINT8 temp_index;
+
+ if ((Appli_PendingPackets.packet_count != 0) &&
+ (Appli_PendingPackets.send_time <= Clock_Time()))
+ {
+ for (MOBLEUINT8 count=Appli_PendingPackets.packet_count; count!=0; count--)
+ {
+ TRACE_M(TF_MISC, "Sending randomized packets. Packet count: %d \n\r",\
+ Appli_PendingPackets.packet_count - count + 1);
+ temp_index = ((Appli_PendingPackets.head_index+MAX_PENDING_PACKETS_QUE_SIZE+1)\
+ -count)%MAX_PENDING_PACKETS_QUE_SIZE;
+ ptr = Appli_PendingPackets.packet + temp_index;
+
+ /* Initialize the messageParam*/
+ msgParam.dst_peer = ptr->dst;
+ msgParam.peer_addr = ptr->peer;
+ msgParam.elementIndex = 0;
+ msgParam.rcvdAppKeyOffset = 0;
+ msgParam.rcvdNetKeyOffset = 0;
+ msgParam.rssi = 0;
+ msgParam.ttl = 0;
+
+ VendorModel_SendResponse(VENDOR_STMICRO_CID,
+ &msgParam,
+ ptr->command,
+ ptr->data,
+ ptr->length);
+ }
+
+ Appli_PendingPackets.packet_count = 0;
+ }
+}
+
+/** \brief Set remote publication for the given Model ID & node Address
+* User is responsible for serializing data into \a data buffer. Vendor_WriteLocalDataCb
+* callback will be called on the remote device.
+* @param modelId ID of the model.
+* @param elementIdx element index
+* @param command vendor model commands
+* @param data Data buffer.
+* @param length Length of data in bytes.
+* @param response If 'MOBLE_TRUE', used to get the response. If 'MOBLE_FALSE', no response
+* @return MOBLE_RESULT_SUCCESS on success.
+*/
+MOBLE_RESULT MeshClient_SetRemotePublication(MOBLEUINT32 modelId, MOBLEUINT8 elementIdx,
+ MOBLEUINT16 msg_opcode, MOBLEUINT8 const *msg_buff,
+ MOBLEUINT32 length, MOBLEBOOL ack_flag,
+ MOBLEUINT8 isVendor)
+{
+ MOBLE_ADDRESS srcAddress;
+
+ srcAddress = BLEMesh_GetAddress();
+ srcAddress += elementIdx; /* Get the Address to send in the message */
+
+ return BLEMesh_SetRemotePublication(modelId,
+ srcAddress ,
+ msg_opcode ,
+ msg_buff, length,
+ ack_flag,
+ MOBLE_FALSE);
+}
+
+/**
+* @brief Convert ASCII value into Character
+* @param tempValue : 8bit value for conversion
+* @retval MOBLEUINT8
+*/
+MOBLEUINT8 BLEMesh_ModelsASCII_To_Char(MOBLEUINT8 tempValue)
+{
+ tempValue = tempValue - 0x30;
+ return tempValue;
+}
+
+__weak void Test_Process(void)
+{
+}
+/**
+* @}
+*/
+
+/**
+* @}
+*/
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.h
new file mode 100644
index 000000000..e20f54d8b
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/models_if.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file models_if.h
+ * @author MCD Application Team
+ * @brief Mesh Modes interface file header
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MODELS_H
+#define __MODELS_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported variables ------------------------------------------------------- */
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+void BLEMesh_ModelsInit(void);
+void BLEMesh_ModelsProcess(void);
+void BLEMesh_ModelsCommand(void);
+
+MOBLEUINT8 BLEMesh_ModelsGetElementNumber(MOBLE_ADDRESS dst_peer);
+MOBLEUINT8 BLEMesh_ModelsGetElementIndex(MOBLE_ADDRESS dst_peer);
+void BLEMesh_ModelsDelayPacket(MODEL_MessageHeader_t *pmsgParams, MOBLEUINT8 command,
+ MOBLEUINT8 const * data, MOBLEUINT32 length);
+void BLEMesh_ModelsSendDelayedPacket(void);
+MOBLEUINT8 BLEMesh_ModelsASCII_To_Char(MOBLEUINT8 tempValue);
+MOBLE_RESULT MeshClient_SetRemotePublication(MOBLEUINT32 modelId, MOBLEUINT8 elementIdx,
+ MOBLEUINT16 msg_opcode, MOBLEUINT8 const *msg_buff,
+ MOBLEUINT32 length, MOBLEBOOL ack_flag,
+ MOBLEUINT8 isVendor);
+
+#endif /* __MODELS_H */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/pal_nvm.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/pal_nvm.c
new file mode 100644
index 000000000..a2b6b3570
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/pal_nvm.c
@@ -0,0 +1,443 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file pal_nvm.c
+ * @author MCD Application Team
+ * @brief Flash management for the Controller
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "pal_nvm.h"
+#include "pal_if.h"
+#include <string.h>
+
+#include "ble.h"
+#include "shci.h"
+#include "mesh_cfg_usr.h"
+
+#include "hw_flash.h"
+
+/* Private define ------------------------------------------------------------*/
+#define FLASH_SECTOR_SIZE 0x1000
+
+/* Private variables ---------------------------------------------------------*/
+
+/* Private functions ---------------------------------------------------------*/
+/**
+ * @brief Gets the page of a given address
+ * @param Addr: Address of the FLASH Memory
+ * @retval The page of a given address
+ */
+static MOBLEUINT32 GetPage(MOBLEUINT32 Addr)
+{
+ MOBLEUINT32 page = 0;
+
+ if (Addr < (FLASH_BASE + FLASH_BANK_SIZE))
+ {
+ /* Bank 1 */
+ page = (Addr - FLASH_BASE) / FLASH_PAGE_SIZE;
+ }
+ else
+ {
+ /* Bank 2 */
+ page = (Addr - (FLASH_BASE + FLASH_BANK_SIZE)) / FLASH_PAGE_SIZE;
+ }
+
+ return page;
+}
+
+#if 0
+/**
+* @brief PalNvmErase
+* @param None
+* @retval Result
+*/
+MOBLE_RESULT PalNvmErase(MOBLEUINT32 address,
+ MOBLEUINT32 offset)
+{
+ HAL_StatusTypeDef status = HAL_OK;
+ uint32_t pageError = 0;
+
+// printf("PalNvmErase >>>\r\n");
+
+ FLASH_EraseInitTypeDef erase;
+ erase.TypeErase = FLASH_TYPEERASE_PAGES;
+ erase.Page = GetPage(address + offset); /* 126 or 127 */;
+ erase.NbPages = FLASH_SECTOR_SIZE >> 12;
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_FLASH_SEMID ) );
+ HAL_FLASH_Unlock();
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP |
+ FLASH_FLAG_WRPERR |
+ FLASH_FLAG_OPTVERR);
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_ON);
+
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ status = HAL_FLASHEx_Erase(&erase, &pageError);
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_OFF);
+
+ HAL_FLASH_Lock();
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_FLASH_SEMID, 0 );
+
+// printf("PalNvmErase <<<\r\n");
+
+ return status == HAL_OK ? MOBLE_RESULT_SUCCESS : MOBLE_RESULT_FAIL;
+}
+#endif
+
+/**
+* @brief returns NVM write protect status
+* @param None
+* @retval TRUE if flash is write protected
+*/
+MOBLEBOOL PalNvmIsWriteProtected(void)
+{
+ /* All flash is writable */
+ return MOBLE_FALSE;
+}
+
+/**
+* @brief Read NVM
+* @param address: read start address of nvm
+* @param offset: offset read start address of nvm
+* @param buf: copy of read content
+* @param size: size of memory to be read
+* @param backup: If read from backup memory
+* @retval Result of read operation
+*/
+MOBLE_RESULT PalNvmRead(MOBLEUINT32 address,
+ MOBLEUINT32 offset,
+ void *buf,
+ MOBLEUINT32 size,
+ MOBLEBOOL backup)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+// printf("MoblePalNvmRead >>>\r\n");
+
+ if (offset > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ memcpy(buf, (void *)(address + offset), size);
+ }
+
+// printf("MoblePalNvmRead <<<\r\n");
+ return result;
+}
+
+/**
+* @brief Compare with NVM
+* @param offset: start address of nvm to compare
+* @param offset: offset start address of nvm
+* @param buf: copy of content
+* @param size: size of memory to be compared
+* @param comparison: outcome of comparison
+* @retval Result
+*/
+MOBLE_RESULT PalNvmCompare(MOBLEUINT32 address,
+ MOBLEUINT32 offset,
+ void const *buf,
+ MOBLEUINT32 size,
+ MOBLE_NVM_COMPARE* comparison)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+ MOBLEUINT32 i;
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+// printf("MoblePalNvmCompare >>>\r\n");
+
+ if ((comparison == NULL) || (buf == NULL))
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ *comparison = MOBLE_NVM_COMPARE_EQUAL;
+ size >>= 2;
+
+ MOBLEUINT32 * src = (MOBLEUINT32*)buf;
+ MOBLEUINT32 * dst = (MOBLEUINT32*)(address + offset);
+
+ i = 0;
+ do
+ {
+ if ((src[i] != dst[i]) && (*comparison == MOBLE_NVM_COMPARE_EQUAL))
+ {
+ *comparison = MOBLE_NVM_COMPARE_NOT_EQUAL;
+ }
+ i++;
+ } while((*comparison != MOBLE_NVM_COMPARE_NOT_EQUAL) && (i < size));
+ }
+
+// printf("MoblePalNvmCompare <<<\r\n");
+#else
+ *comparison = MOBLE_NVM_COMPARE_EQUAL;
+#endif
+ return result;
+}
+
+/**
+* @brief Erase NVM
+* @param None
+* @retval Result
+*/
+MOBLE_RESULT PalNvmErase(MOBLEUINT32 address,
+ MOBLEUINT32 offset)
+{
+ HAL_StatusTypeDef status = HAL_OK;
+
+ uint32_t pageError = 0;
+
+// printf("MoblePalNvmErase >>>\r\n");
+
+ FLASH_EraseInitTypeDef erase;
+ erase.TypeErase = FLASH_TYPEERASE_PAGES;
+ erase.Page = GetPage(address + offset); /* 126 or 127 */;
+ erase.NbPages = FLASH_SECTOR_SIZE >> 12;
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_FLASH_SEMID ) );
+ HAL_FLASH_Unlock();
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP |
+ FLASH_FLAG_WRPERR |
+ FLASH_FLAG_OPTVERR);
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_ON);
+
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ status = HAL_FLASHEx_Erase(&erase, &pageError);
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+
+ SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_OFF);
+
+ HAL_FLASH_Lock();
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_FLASH_SEMID, 0 );
+
+// printf("MoblePalNvmErase <<<\r\n");
+
+ return status == HAL_OK ? MOBLE_RESULT_SUCCESS : MOBLE_RESULT_FAIL;
+}
+
+/**
+* @brief Write to NVM
+* @param offset: wrt start address of nvm
+* @param offset: offset wrt start address of nvm
+* @param buf: copy of write content
+* @param size: size of memory to be written
+* @retval Result
+*/
+MOBLE_RESULT PalNvmWrite(MOBLEUINT32 address,
+ MOBLEUINT32 offset,
+ void const *buf,
+ MOBLEUINT32 size)
+{
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+#ifdef ENABLE_SAVE_MODEL_STATE_NVM
+
+ // printf("MoblePalNvmWrite >>>\r\n");
+
+ if (offset > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size == 0)
+ {
+ result = MOBLE_RESULT_FALSE;
+ }
+ else if (offset + size > NVM_SIZE)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (offset & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else if (size & 3)
+ {
+ result = MOBLE_RESULT_INVALIDARG;
+ }
+ else
+ {
+ MOBLEUINT32 remain = 0;
+ MOBLEUINT32 nb_dword = 0;
+
+ nb_dword = (size >> 3);
+ remain = size - ((nb_dword) << 3);
+ if(remain > 0)
+ nb_dword += 1;
+
+ uint64_t* src = (uint64_t*)buf;
+
+ while( LL_HSEM_1StepLock( HSEM, CFG_HW_FLASH_SEMID ) );
+ HAL_FLASH_Unlock();
+ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP |
+ FLASH_FLAG_WRPERR |
+ FLASH_FLAG_OPTVERR |
+ FLASH_FLAG_PGSERR |
+ FLASH_FLAG_SIZERR |
+ FLASH_FLAG_PGAERR);
+
+ for (size_t i = 0; i < nb_dword/*size*/; i++)
+ {
+ do
+ {
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,
+ address + offset + (i <<3),
+ src[i]);
+ while(LL_FLASH_IsActiveFlag_OperationSuspended());
+ } while(*((uint64_t*)(address + offset + (i <<3))) != src[i]);
+ }
+
+ HAL_FLASH_Lock();
+ LL_HSEM_ReleaseLock( HSEM, CFG_HW_FLASH_SEMID, 0 );
+ }
+// printf("MoblePalNvmWrite <<<\r\n");
+#endif
+
+ return result;
+}
+
+#if 0
+/**
+* @brief Backup process
+* @param None
+* @retval Result
+*/
+static MOBLE_RESULT PalNvmBackupProcess(void)
+{
+ MOBLEUINT32 buff[4*N_BYTES_WORD];
+ static MOBLEUINT8 backup_pages_to_be_erased = 0;
+ MOBLE_RESULT result = MOBLE_RESULT_SUCCESS;
+
+ if (backup_pages_to_be_erased == 0)
+ {
+ backup_pages_to_be_erased = 1;
+ }
+
+ if(backup_pages_to_be_erased != 0)
+ {
+#if 0
+ BLEMesh_StopAdvScan();
+ ATOMIC_SECTION_BEGIN();
+ if(BluenrgMesh_IsFlashReadyToErase())
+ {
+ FLASH_ErasePage((uint16_t)((BNRGM_NVM_BACKUP_BASE -
+ RESET_MANAGER_FLASH_BASE_ADDRESS) / PAGE_SIZE +
+ BNRGM_NVM_BACKUP_SIZE/PAGE_SIZE -
+ backup_pages_to_be_erased));
+
+ if (FLASH_GetFlagStatus(Flash_CMDERR) == SET)
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ backup_pages_to_be_erased--;
+ }
+ }
+ else
+ {
+ /* do nothing */
+ }
+ ATOMIC_SECTION_END();
+#else
+ result = PalNvmErase(NVM_BASE, FLASH_SECTOR_SIZE);
+ if(result == MOBLE_RESULT_SUCCESS)
+ backup_pages_to_be_erased = 0;
+#endif
+ }
+
+ if (result == MOBLE_RESULT_SUCCESS && backup_pages_to_be_erased == 0)
+ {
+#if 0
+ BLEMesh_StopAdvScan();
+ ATOMIC_SECTION_BEGIN();
+ if(BluenrgMesh_IsFlashReadyToErase())
+ {
+ for (size_t i = 0; i < BNRGM_NVM_BACKUP_SIZE && FLASH_GetFlagStatus(Flash_CMDERR) == RESET; )
+ {
+ memcpy((MOBLEUINT8*)buff, (void *)(BNRGM_NVM_BASE + i), 4*N_BYTES_WORD);
+ FLASH_ProgramWordBurst(BNRGM_NVM_BACKUP_BASE + i, (uint32_t*)buff);
+ i += 4*N_BYTES_WORD;
+ }
+
+ if (FLASH_GetFlagStatus(Flash_CMDERR) == SET)
+ {
+ result = MOBLE_RESULT_FAIL;
+ }
+ else
+ {
+ PalNvmReqs.backup_req = MOBLE_FALSE;
+ }
+ }
+ else
+ {
+ /* do nothing */
+ }
+ ATOMIC_SECTION_END();
+#else
+#endif
+ }
+ return result;
+}
+#endif
+
+/**
+* @brief NVM process
+* @param None
+* @retval Result
+*/
+MOBLE_RESULT PalNvmProcess(void)
+{
+ /* do nothing */
+ return MOBLE_RESULT_SUCCESS;
+}
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/sensor_cfg_usr.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/sensor_cfg_usr.h
new file mode 100644
index 000000000..2a6370e14
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/sensor_cfg_usr.h
@@ -0,0 +1,698 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+* @file sensor_cfg_usr.h
+ * @author MCD Application Team
+* @brief sensor server initialization parameters
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __SENSOR_USR_CFG_H
+#define __SENSOR_USR_CFG_H
+
+/**
+* Maximum count of settings that can be supported by a sensor
+* E.g., 5 sensors
+* 1st sensor has 2 settings
+* 2nd sensor has 3 settings
+* 3rd sensor has 2 settings
+* 4th sensor has 1 setting
+* 5th sensor has 2 settings
+* This value is max(2, 3, 2, 1, 2) = 3
+* value is >=1
+*/
+#define SENSOR_MAX_SETTINGS_COUNT 2
+
+/**
+* Maximum count of series column that is supported by a sensor
+* E.g., 2 sensors supporting series column
+* One sensor supports 2 columns while other sensor supports 20 columns
+* This value is max(2, 20) = 20
+* value is >=1
+*/
+#define SENSOR_MAX_SERIES_COUNT 1
+
+/**
+* Total sensors count on all elements
+* It is sum of sensors count on all elements
+* Sensor init fails in case of mismatch with sensor server initialization parameters
+*/
+#define TOTAL_SENSORS_COUNT 2
+
+/**
+* Sum of sensor settings on all sensors on all elements
+* Sensor init fails in case of mismatch with sensor server initialization parameters
+*/
+#define TOTAL_SENSOR_SETTINGS_COUNT 4
+
+/**
+* Sum of sensor series columns on all sensors on all elements
+* Sensor init fails in case of mismatch with sensor server initialization parameters
+*/
+#define TOTAL_SENSOR_SERIES_COLUMN_COUNT 0
+
+
+/**
+* This structure contains sensor setting initialization parameters
+*/
+typedef struct
+{
+ uint16_t settingPropertyId;
+ uint8_t settingAccess;
+ uint32_t settingRaw;
+}sensor_settings_init_params_t;
+
+
+/**
+* This structure contains sensor series column initialization parameters
+*/
+typedef struct
+{
+ uint32_t rawX;
+ uint32_t columnWidth;
+}sensor_series_column_init_params_t;
+
+
+/**
+* This structure contains sensor initialization parameters
+*/
+typedef struct
+{
+ uint8_t elementIdx;
+ uint16_t propertyId;
+ uint16_t positiveTolerance;
+ uint16_t negativeTolerance;
+ uint8_t samplingFunction;
+ uint8_t measurementPeriod;
+ uint8_t updateInterval;
+ uint8_t dataLength;
+ uint8_t cadenceState;
+ uint32_t valuesRange;
+ uint8_t settingsCount;
+ sensor_settings_init_params_t settings[SENSOR_MAX_SETTINGS_COUNT];
+ uint16_t seriesCount;
+ sensor_series_column_init_params_t seriesColumn[SENSOR_MAX_SERIES_COUNT];
+}sensor_init_params_t;
+
+
+/**
+* This structure contains sensor server initialization parameters
+*/
+typedef struct
+{
+ uint8_t sensorsCount;
+ sensor_init_params_t sensorInitParams[TOTAL_SENSORS_COUNT];
+} sensor_server_init_params_t;
+
+
+/**
+* Below section represents initialization parameters of sensors supported
+* Define sensors in ascending order of element index followed by ascending
+* order of Property IDs else initialization of sensor structure would fail
+* Single element can support one instance of sensor PID, there can't be multiple
+* instances of same PID on same element
+* For e.g. 10 sensors with PID (PID1 < PIDn ... < PID7) supported on 3 elements
+* with element index (0, 1 and 2) in below fashion
+* Element index 0 supports sensors corresponding to PID3, PID4, PID6 and PID7
+* Element index 1 supports sensors corresponding to PID2, PID4, PID5 and PID6
+* Element index 2 supports sensors corresponding to PID1, PID5
+* Corrector order of naming sensors (SENSORX) is
+* Element index 0 -> SENSOR1(PID3), SENSOR2(PID4), SENSOR3(PID6) and SENSOR4(PID7)
+* Element index 1 -> SENSOR5(PID2), SENSOR6(PID4), SENSOR7(PID5), and SENSOR8(PID6)
+* Element index 2 -> SENSOR9(PID1), and SENSOR10(PID5)
+*/
+
+/* Sensor 1 initialization */
+
+/**
+* Element index for SENSOR1
+* varies from 0 to n-1 (n = number of elements)
+*/
+#define SENSOR1_ELEMENT_IDX 0
+
+/**
+* Property ID of sensor, identifies device characteristics and other features
+* Defined by Mesh Device Properties or a custom value
+* 16 bit value
+* 0x0000 - Prohibited
+*/
+#define SENSOR1_PROPERTY_ID PRESENT_AMBIENT_TEMPERATURE_PID
+#define SENSOR1_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR1_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR1_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR1_DATA_LENGTH 1
+#define SENSOR1_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR1_VALUES_RANGE 254
+#define SENSOR1_SETTINGS_COUNT 2
+#define SENSOR1_SETTING1_PROPERTY_ID 0x00BB
+#define SENSOR1_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR1_SETTING1_RAW 0
+#define SENSOR1_SETTING2_PROPERTY_ID 0x00AD
+#define SENSOR1_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR1_SETTING2_RAW 0
+#define SENSOR1_SERIES_COUNT 0
+
+#define SENSOR1_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR1_SETTING1_PROPERTY_ID,\
+ SENSOR1_SETTING1_ACCESS,\
+ SENSOR1_SETTING1_RAW \
+}
+
+#define SENSOR1_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR1_SETTING2_PROPERTY_ID,\
+ SENSOR1_SETTING2_ACCESS,\
+ SENSOR1_SETTING2_RAW \
+}
+
+#define SENSOR1_INIT_PARAMS \
+{\
+ SENSOR1_ELEMENT_IDX,\
+ SENSOR1_PROPERTY_ID,\
+ SENSOR1_POSITIVE_TOLERANCE,\
+ SENSOR1_NEGATIVE_TOLERANCE,\
+ SENSOR1_SAMPLING_FUNCTION,\
+ SENSOR1_MEASUREMENT_PERIOD,\
+ SENSOR1_UPDATE_INTERVAL,\
+ SENSOR1_DATA_LENGTH,\
+ SENSOR1_CADENCE_STATE,\
+ SENSOR1_VALUES_RANGE,\
+ SENSOR1_SETTINGS_COUNT,\
+ {\
+ SENSOR1_SETTINGS1_INIT_PARAMS,\
+ SENSOR1_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR1_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+
+/* Sensor 2 initialization */
+
+#define SENSOR2_ELEMENT_IDX 0
+#define SENSOR2_PROPERTY_ID PRESSURE_PID
+#define SENSOR2_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR2_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR2_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR2_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR2_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR2_DATA_LENGTH 4
+#define SENSOR2_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR2_VALUES_RANGE 500
+#define SENSOR2_SETTINGS_COUNT 2
+#define SENSOR2_SETTING1_PROPERTY_ID 0x0AAA
+#define SENSOR2_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR2_SETTING1_RAW 35666
+#define SENSOR2_SETTING2_PROPERTY_ID 0x0AAC
+#define SENSOR2_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR2_SETTING2_RAW 33666
+#define SENSOR2_SERIES_COUNT 0
+
+#define SENSOR2_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR2_SETTING1_PROPERTY_ID,\
+ SENSOR2_SETTING1_ACCESS,\
+ SENSOR2_SETTING1_RAW\
+}
+
+#define SENSOR2_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR2_SETTING2_PROPERTY_ID,\
+ SENSOR2_SETTING2_ACCESS,\
+ SENSOR2_SETTING2_RAW\
+}
+
+#define SENSOR2_INIT_PARAMS \
+{\
+ SENSOR2_ELEMENT_IDX,\
+ SENSOR2_PROPERTY_ID,\
+ SENSOR2_POSITIVE_TOLERANCE,\
+ SENSOR2_NEGATIVE_TOLERANCE,\
+ SENSOR2_SAMPLING_FUNCTION,\
+ SENSOR2_MEASUREMENT_PERIOD,\
+ SENSOR2_UPDATE_INTERVAL,\
+ SENSOR2_DATA_LENGTH,\
+ SENSOR2_CADENCE_STATE,\
+ SENSOR2_VALUES_RANGE,\
+ SENSOR2_SETTINGS_COUNT,\
+ {\
+ SENSOR2_SETTINGS1_INIT_PARAMS,\
+ SENSOR2_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR2_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+/**
+* Combined defined of all sensors initialization parameters
+*/
+
+#define SENSOR_SERVER_INIT_PARAMS \
+{\
+ TOTAL_SENSORS_COUNT,\
+ {\
+ SENSOR1_INIT_PARAMS,\
+ SENSOR2_INIT_PARAMS,\
+ }\
+}
+#endif /* __SENSOR_USR_CFG_H */
+
+/*
+
+Example for multiple sensors with series column support
+
+#define SENSOR_MAX_SETTINGS_COUNT 3
+#define SENSOR_MAX_SERIES_COUNT 20
+#define TOTAL_SENSORS_COUNT 5
+#define TOTAL_SENSOR_SETTINGS_COUNT 9
+#define TOTAL_SENSOR_SERIES_COLUMN_COUNT 22
+
+#define SENSOR1_ELEMENT_IDX 0
+#define SENSOR1_PROPERTY_ID PEOPLE_COUNT_PID
+#define SENSOR1_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR1_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR1_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR1_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR1_DATA_LENGTH 2
+#define SENSOR1_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR1_VALUES_RANGE 1000
+#define SENSOR1_SETTINGS_COUNT 3
+#define SENSOR1_SETTING1_PROPERTY_ID 0x000A
+#define SENSOR1_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR1_SETTING1_RAW 234
+#define SENSOR1_SETTING2_PROPERTY_ID 0x000C
+#define SENSOR1_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR1_SETTING2_RAW 246
+#define SENSOR1_SETTING3_PROPERTY_ID 0x0010
+#define SENSOR1_SETTING3_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR1_SETTING3_RAW 278
+#define SENSOR1_SERIES_COUNT 0
+
+#define SENSOR1_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR1_SETTING1_PROPERTY_ID,\
+ SENSOR1_SETTING1_ACCESS,\
+ SENSOR1_SETTING1_RAW\
+}
+
+#define SENSOR1_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR1_SETTING2_PROPERTY_ID,\
+ SENSOR1_SETTING2_ACCESS,\
+ SENSOR1_SETTING2_RAW\
+}
+
+#define SENSOR1_SETTINGS3_INIT_PARAMS \
+{\
+ SENSOR1_SETTING3_PROPERTY_ID,\
+ SENSOR1_SETTING3_ACCESS,\
+ SENSOR1_SETTING3_RAW\
+}
+
+#define SENSOR1_INIT_PARAMS \
+{\
+ SENSOR1_ELEMENT_IDX,\
+ SENSOR1_PROPERTY_ID,\
+ SENSOR1_POSITIVE_TOLERANCE,\
+ SENSOR1_NEGATIVE_TOLERANCE,\
+ SENSOR1_SAMPLING_FUNCTION,\
+ SENSOR1_MEASUREMENT_PERIOD,\
+ SENSOR1_UPDATE_INTERVAL,\
+ SENSOR1_DATA_LENGTH,\
+ SENSOR1_CADENCE_STATE,\
+ SENSOR1_VALUES_RANGE,\
+ SENSOR1_SETTINGS_COUNT,\
+ {\
+ SENSOR1_SETTINGS1_INIT_PARAMS,\
+ SENSOR1_SETTINGS2_INIT_PARAMS,\
+ SENSOR1_SETTINGS3_INIT_PARAMS\
+ },\
+ SENSOR1_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR2_ELEMENT_IDX 0
+#define SENSOR2_PROPERTY_ID DESIRED_AMBIENT_TEMPERATURE_PID
+#define SENSOR2_POSITIVE_TOLERANCE 0xabc
+#define SENSOR2_NEGATIVE_TOLERANCE 0xdef
+#define SENSOR2_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_RMS
+#define SENSOR2_MEASUREMENT_PERIOD 0x04
+#define SENSOR2_UPDATE_INTERVAL 0x05
+#define SENSOR2_DATA_LENGTH 1
+#define SENSOR2_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR2_VALUES_RANGE 100
+#define SENSOR2_SETTINGS_COUNT 2
+#define SENSOR2_SETTING1_PROPERTY_ID 0x00BB
+#define SENSOR2_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR2_SETTING1_RAW 345
+#define SENSOR2_SETTING2_PROPERTY_ID 0x00AD
+#define SENSOR2_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR2_SETTING2_RAW 435
+#define SENSOR2_SERIES_COUNT 0
+
+#define SENSOR2_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR2_SETTING1_PROPERTY_ID,\
+ SENSOR2_SETTING1_ACCESS,\
+ SENSOR2_SETTING1_RAW\
+}
+
+#define SENSOR2_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR2_SETTING2_PROPERTY_ID,\
+ SENSOR2_SETTING2_ACCESS,\
+ SENSOR2_SETTING2_RAW \
+}
+
+#define SENSOR2_INIT_PARAMS \
+{\
+ SENSOR2_ELEMENT_IDX,\
+ SENSOR2_PROPERTY_ID,\
+ SENSOR2_POSITIVE_TOLERANCE,\
+ SENSOR2_NEGATIVE_TOLERANCE,\
+ SENSOR2_SAMPLING_FUNCTION,\
+ SENSOR2_MEASUREMENT_PERIOD,\
+ SENSOR2_UPDATE_INTERVAL,\
+ SENSOR2_DATA_LENGTH,\
+ SENSOR2_CADENCE_STATE,\
+ SENSOR2_VALUES_RANGE,\
+ SENSOR2_SETTINGS_COUNT,\
+ {\
+ SENSOR2_SETTINGS1_INIT_PARAMS,\
+ SENSOR2_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR2_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR3_ELEMENT_IDX 0
+#define SENSOR3_PROPERTY_ID PRESSURE_PID
+#define SENSOR3_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR3_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR3_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR3_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR3_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR3_DATA_LENGTH 2
+#define SENSOR3_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR3_VALUES_RANGE 500
+#define SENSOR3_SETTINGS_COUNT 2
+#define SENSOR3_SETTING1_PROPERTY_ID 0x0AAA
+#define SENSOR3_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR3_SETTING1_RAW 35666
+#define SENSOR3_SETTING2_PROPERTY_ID 0x0AAC
+#define SENSOR3_SETTING2_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR3_SETTING2_RAW 33666
+#define SENSOR3_SERIES_COUNT 20
+#define SENSOR3_SERIES1_RAWX 0
+#define SENSOR3_SERIES1_CW 10
+#define SENSOR3_SERIES2_RAWX 23
+#define SENSOR3_SERIES2_CW 10
+#define SENSOR3_SERIES3_RAWX 34
+#define SENSOR3_SERIES3_CW 10
+#define SENSOR3_SERIES4_RAWX 35
+#define SENSOR3_SERIES4_CW 10
+#define SENSOR3_SERIES5_RAWX 36
+#define SENSOR3_SERIES5_CW 10
+#define SENSOR3_SERIES6_RAWX 40
+#define SENSOR3_SERIES6_CW 10
+#define SENSOR3_SERIES7_RAWX 41
+#define SENSOR3_SERIES7_CW 10
+#define SENSOR3_SERIES8_RAWX 42
+#define SENSOR3_SERIES8_CW 10
+#define SENSOR3_SERIES9_RAWX 43
+#define SENSOR3_SERIES9_CW 10
+#define SENSOR3_SERIES10_RAWX 45
+#define SENSOR3_SERIES10_CW 10
+#define SENSOR3_SERIES11_RAWX 46
+#define SENSOR3_SERIES11_CW 10
+#define SENSOR3_SERIES12_RAWX 47
+#define SENSOR3_SERIES12_CW 10
+#define SENSOR3_SERIES13_RAWX 48
+#define SENSOR3_SERIES13_CW 10
+#define SENSOR3_SERIES14_RAWX 49
+#define SENSOR3_SERIES14_CW 10
+#define SENSOR3_SERIES15_RAWX 50
+#define SENSOR3_SERIES15_CW 10
+#define SENSOR3_SERIES16_RAWX 51
+#define SENSOR3_SERIES16_CW 10
+#define SENSOR3_SERIES17_RAWX 52
+#define SENSOR3_SERIES17_CW 10
+#define SENSOR3_SERIES18_RAWX 53
+#define SENSOR3_SERIES18_CW 10
+#define SENSOR3_SERIES19_RAWX 55
+#define SENSOR3_SERIES19_CW 10
+#define SENSOR3_SERIES20_RAWX 89
+#define SENSOR3_SERIES20_CW 10
+
+#define SENSOR3_SETTINGS1_INIT_PARAMS \
+{\
+ SENSOR3_SETTING1_PROPERTY_ID,\
+ SENSOR3_SETTING1_ACCESS,\
+ SENSOR3_SETTING1_RAW\
+}
+
+#define SENSOR3_SETTINGS2_INIT_PARAMS \
+{\
+ SENSOR3_SETTING2_PROPERTY_ID,\
+ SENSOR3_SETTING2_ACCESS,\
+ SENSOR3_SETTING2_RAW\
+}
+
+#define SENSOR3_COLUMN1_INIT_PARAMS {SENSOR3_SERIES1_RAWX,SENSOR3_SERIES1_CW}
+#define SENSOR3_COLUMN2_INIT_PARAMS {SENSOR3_SERIES2_RAWX,SENSOR3_SERIES2_CW}
+#define SENSOR3_COLUMN3_INIT_PARAMS {SENSOR3_SERIES3_RAWX,SENSOR3_SERIES3_CW}
+#define SENSOR3_COLUMN4_INIT_PARAMS {SENSOR3_SERIES4_RAWX,SENSOR3_SERIES4_CW}
+#define SENSOR3_COLUMN5_INIT_PARAMS {SENSOR3_SERIES5_RAWX,SENSOR3_SERIES5_CW}
+#define SENSOR3_COLUMN6_INIT_PARAMS {SENSOR3_SERIES6_RAWX,SENSOR3_SERIES6_CW}
+#define SENSOR3_COLUMN7_INIT_PARAMS {SENSOR3_SERIES7_RAWX,SENSOR3_SERIES7_CW}
+#define SENSOR3_COLUMN8_INIT_PARAMS {SENSOR3_SERIES8_RAWX,SENSOR3_SERIES8_CW}
+#define SENSOR3_COLUMN9_INIT_PARAMS {SENSOR3_SERIES9_RAWX,SENSOR3_SERIES9_CW}
+#define SENSOR3_COLUMN10_INIT_PARAMS {SENSOR3_SERIES10_RAWX,SENSOR3_SERIES10_CW}
+#define SENSOR3_COLUMN11_INIT_PARAMS {SENSOR3_SERIES11_RAWX,SENSOR3_SERIES11_CW}
+#define SENSOR3_COLUMN12_INIT_PARAMS {SENSOR3_SERIES12_RAWX,SENSOR3_SERIES12_CW}
+#define SENSOR3_COLUMN13_INIT_PARAMS {SENSOR3_SERIES13_RAWX,SENSOR3_SERIES13_CW}
+#define SENSOR3_COLUMN14_INIT_PARAMS {SENSOR3_SERIES14_RAWX,SENSOR3_SERIES14_CW}
+#define SENSOR3_COLUMN15_INIT_PARAMS {SENSOR3_SERIES15_RAWX,SENSOR3_SERIES15_CW}
+#define SENSOR3_COLUMN16_INIT_PARAMS {SENSOR3_SERIES16_RAWX,SENSOR3_SERIES16_CW}
+#define SENSOR3_COLUMN17_INIT_PARAMS {SENSOR3_SERIES17_RAWX,SENSOR3_SERIES17_CW}
+#define SENSOR3_COLUMN18_INIT_PARAMS {SENSOR3_SERIES18_RAWX,SENSOR3_SERIES18_CW}
+#define SENSOR3_COLUMN19_INIT_PARAMS {SENSOR3_SERIES19_RAWX,SENSOR3_SERIES19_CW}
+#define SENSOR3_COLUMN20_INIT_PARAMS {SENSOR3_SERIES20_RAWX,SENSOR3_SERIES20_CW}
+
+#define SENSOR3_INIT_PARAMS \
+{\
+ SENSOR3_ELEMENT_IDX,\
+ SENSOR3_PROPERTY_ID,\
+ SENSOR3_POSITIVE_TOLERANCE,\
+ SENSOR3_NEGATIVE_TOLERANCE,\
+ SENSOR3_SAMPLING_FUNCTION,\
+ SENSOR3_MEASUREMENT_PERIOD,\
+ SENSOR3_UPDATE_INTERVAL,\
+ SENSOR3_DATA_LENGTH,\
+ SENSOR3_CADENCE_STATE,\
+ SENSOR3_VALUES_RANGE,\
+ SENSOR3_SETTINGS_COUNT,\
+ {\
+ SENSOR3_SETTINGS1_INIT_PARAMS,\
+ SENSOR3_SETTINGS2_INIT_PARAMS\
+ },\
+ SENSOR3_SERIES_COUNT,\
+ {\
+ SENSOR3_COLUMN1_INIT_PARAMS,\
+ SENSOR3_COLUMN2_INIT_PARAMS,\
+ SENSOR3_COLUMN3_INIT_PARAMS,\
+ SENSOR3_COLUMN4_INIT_PARAMS,\
+ SENSOR3_COLUMN5_INIT_PARAMS,\
+ SENSOR3_COLUMN6_INIT_PARAMS,\
+ SENSOR3_COLUMN7_INIT_PARAMS,\
+ SENSOR3_COLUMN8_INIT_PARAMS,\
+ SENSOR3_COLUMN9_INIT_PARAMS,\
+ SENSOR3_COLUMN10_INIT_PARAMS,\
+ SENSOR3_COLUMN11_INIT_PARAMS,\
+ SENSOR3_COLUMN12_INIT_PARAMS,\
+ SENSOR3_COLUMN13_INIT_PARAMS,\
+ SENSOR3_COLUMN14_INIT_PARAMS,\
+ SENSOR3_COLUMN15_INIT_PARAMS,\
+ SENSOR3_COLUMN16_INIT_PARAMS,\
+ SENSOR3_COLUMN17_INIT_PARAMS,\
+ SENSOR3_COLUMN18_INIT_PARAMS,\
+ SENSOR3_COLUMN19_INIT_PARAMS,\
+ SENSOR3_COLUMN20_INIT_PARAMS}\
+}
+
+#define SENSOR4_ELEMENT_IDX 0
+#define SENSOR4_PROPERTY_ID HUMIDITY_PID
+#define SENSOR4_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR4_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR4_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR4_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR4_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR4_DATA_LENGTH 2
+#define SENSOR4_CADENCE_STATE SENSOR_CADENCE_SUPPORTED
+#define SENSOR4_VALUES_RANGE 200
+#define SENSOR4_SETTINGS_COUNT 1
+#define SENSOR4_SETTING1_PROPERTY_ID 0xAAAA
+#define SENSOR4_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ_WRITE
+#define SENSOR4_SETTING1_RAW 35666
+#define SENSOR4_SERIES_COUNT 0
+
+#define SENSOR4_SETTINGS_INIT_PARAMS \
+{\
+ SENSOR4_SETTING1_PROPERTY_ID,\
+ SENSOR4_SETTING1_ACCESS,\
+ SENSOR4_SETTING1_RAW\
+}
+
+#define SENSOR4_INIT_PARAMS \
+{\
+ SENSOR4_ELEMENT_IDX,\
+ SENSOR4_PROPERTY_ID,\
+ SENSOR4_POSITIVE_TOLERANCE,\
+ SENSOR4_NEGATIVE_TOLERANCE,\
+ SENSOR4_SAMPLING_FUNCTION,\
+ SENSOR4_MEASUREMENT_PERIOD,\
+ SENSOR4_UPDATE_INTERVAL,\
+ SENSOR4_DATA_LENGTH,\
+ SENSOR4_CADENCE_STATE,\
+ SENSOR4_VALUES_RANGE,\
+ SENSOR4_SETTINGS_COUNT,\
+ {\
+ SENSOR4_SETTINGS_INIT_PARAMS\
+ },\
+ SENSOR4_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR5_ELEMENT_IDX 0
+#define SENSOR5_PROPERTY_ID TIME_OF_FLIGHT_PID
+#define SENSOR5_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR5_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR5_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR5_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR5_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR5_DATA_LENGTH 2
+#define SENSOR5_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR5_VALUES_RANGE 0
+#define SENSOR5_SETTINGS_COUNT 1
+#define SENSOR5_SETTING1_PROPERTY_ID 0xAAFA
+#define SENSOR5_SETTING1_ACCESS SENSOR_SETTING_ACCESS_READ
+#define SENSOR5_SETTING1_RAW 35666
+#define SENSOR5_SERIES_COUNT 2
+#define SENSOR5_SERIES1_RAWX 20
+#define SENSOR5_SERIES1_CW 30
+#define SENSOR5_SERIES2_RAWX 50
+#define SENSOR5_SERIES2_CW 40
+
+#define SENSOR5_SETTINGS_INIT_PARAMS \
+{\
+ SENSOR5_SETTING1_PROPERTY_ID,\
+ SENSOR5_SETTING1_ACCESS,\
+ SENSOR5_SETTING1_RAW\
+}
+
+#define SENSOR5_COLUMN1_INIT_PARAMS {SENSOR5_SERIES1_RAWX,SENSOR5_SERIES1_CW}
+#define SENSOR5_COLUMN2_INIT_PARAMS {SENSOR5_SERIES2_RAWX,SENSOR5_SERIES2_CW}
+
+#define SENSOR5_INIT_PARAMS \
+{\
+ SENSOR5_ELEMENT_IDX,\
+ SENSOR5_PROPERTY_ID,\
+ SENSOR5_POSITIVE_TOLERANCE,\
+ SENSOR5_NEGATIVE_TOLERANCE,\
+ SENSOR5_SAMPLING_FUNCTION,\
+ SENSOR5_MEASUREMENT_PERIOD,\
+ SENSOR5_UPDATE_INTERVAL,\
+ SENSOR5_DATA_LENGTH,\
+ SENSOR5_CADENCE_STATE,\
+ SENSOR5_VALUES_RANGE,\
+ SENSOR5_SETTINGS_COUNT,\
+ {\
+ SENSOR5_SETTINGS_INIT_PARAMS\
+ },\
+ SENSOR5_SERIES_COUNT,\
+ {\
+ SENSOR5_COLUMN1_INIT_PARAMS,\
+ SENSOR5_COLUMN2_INIT_PARAMS\
+ }\
+}
+
+#define SENSOR6_ELEMENT_IDX 0
+#define SENSOR6_PROPERTY_ID PRESENCE_PID
+#define SENSOR6_POSITIVE_TOLERANCE SENSOR_POSITIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR6_NEGATIVE_TOLERANCE SENSOR_NEGATIVE_TOLERANCE_UNSPECIFIED
+#define SENSOR6_SAMPLING_FUNCTION SENSOR_SAMPLING_FUNC_UNSPECIFIED
+#define SENSOR6_MEASUREMENT_PERIOD SENSOR_MEASUREMENT_PERIOD_NA
+#define SENSOR6_UPDATE_INTERVAL SENSOR_UPDATE_INTERVAL_NA
+#define SENSOR6_DATA_LENGTH 1
+#define SENSOR6_CADENCE_STATE SENSOR_CADENCE_NOT_SUPPORTED
+#define SENSOR6_VALUES_RANGE 0
+#define SENSOR6_SETTINGS_COUNT 0
+#define SENSOR6_SERIES_COUNT 0
+
+#define SENSOR6_SETTINGS_INIT_PARAMS \
+{\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR6_INIT_PARAMS \
+{\
+ SENSOR6_ELEMENT_IDX,\
+ SENSOR6_PROPERTY_ID,\
+ SENSOR6_POSITIVE_TOLERANCE,\
+ SENSOR6_NEGATIVE_TOLERANCE,\
+ SENSOR6_SAMPLING_FUNCTION,\
+ SENSOR6_MEASUREMENT_PERIOD,\
+ SENSOR6_UPDATE_INTERVAL,\
+ SENSOR6_DATA_LENGTH,\
+ SENSOR6_CADENCE_STATE,\
+ SENSOR6_VALUES_RANGE,\
+ SENSOR6_SETTINGS_COUNT,\
+ {\
+ {0}\
+ },\
+ SENSOR6_SERIES_COUNT,\
+ {\
+ {0}\
+ }\
+}
+
+#define SENSOR_SERVER_INIT_PARAMS \
+{\
+ TOTAL_SENSORS_COUNT,\
+ {\
+ SENSOR1_INIT_PARAMS,\
+ SENSOR2_INIT_PARAMS,\
+ SENSOR3_INIT_PARAMS,\
+ SENSOR4_INIT_PARAMS,\
+ SENSOR5_INIT_PARAMS\
+ }\
+}
+*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/svcctl_conf.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/svcctl_conf.c
new file mode 100644
index 000000000..041fe7fe2
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/svcctl_conf.c
@@ -0,0 +1,82 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file svctl_conf.c
+ * @author MCD Application Team
+ * @brief Configuration of the BLE service controller
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "app_common.h"
+
+#include "otp.h"
+
+/* Private defines -----------------------------------------------------------*/
+#define BD_ADDR_SIZE_LOCAL 6
+
+/* Private variables ---------------------------------------------------------*/
+static const uint8_t M_bd_addr[BD_ADDR_SIZE_LOCAL] =
+{
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000000000FF)),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00000000FF00) >> 8),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x000000FF0000) >> 16),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x0000FF000000) >> 24),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0x00FF00000000) >> 32),
+ (uint8_t)((CFG_ADV_BD_ADDRESS & 0xFF0000000000) >> 40)
+};
+
+static uint8_t bd_addr_udn[BD_ADDR_SIZE_LOCAL];
+
+const uint8_t* SVCCTL_GetBdAddress( void )
+{
+ uint8_t *otp_addr;
+ const uint8_t *bd_addr;
+ uint32_t udn;
+ uint32_t company_id;
+ uint32_t device_id;
+
+ udn = LL_FLASH_GetUDN();
+
+ if(udn != 0xFFFFFFFF)
+ {
+ company_id = LL_FLASH_GetSTCompanyID();
+ device_id = LL_FLASH_GetDeviceID();
+
+ bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
+ bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
+ bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
+ bd_addr_udn[3] = (uint8_t)device_id;
+ bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);
+ bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
+
+ bd_addr = (const uint8_t *)bd_addr_udn;
+ }
+ else
+ {
+ otp_addr = OTP_Read(0);
+ if(otp_addr)
+ {
+ bd_addr = ((OTP_ID0_t*)otp_addr)->bd_address;
+ }
+ else
+ {
+ bd_addr = M_bd_addr;
+ }
+
+ }
+
+ return bd_addr;
+}
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_conf.h
new file mode 100644
index 000000000..6a88e53c1
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_conf.h
@@ -0,0 +1,32 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tl_conf.h
+ * @author MCD Application Team
+ * @brief Transport Layer Configuration
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __TL_CONF_H
+#define __TL_CONF_H
+
+/**
+ * It shall be set to 1 for power optimization when standby is supported
+ */
+#define CFG_BLE_HCI_STDBY 0
+
+
+
+#endif /*__TL_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_dbg_conf.h
new file mode 100644
index 000000000..04ed3d88d
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_dbg_conf.h
@@ -0,0 +1,133 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __TL_DBG_CONF_H
+#define __TL_DBG_CONF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* USER CODE BEGIN Tl_Conf */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_conf.h" /* required as some configuration used in dbg_trace.h are set there */
+#include "dbg_trace.h"
+#include "hw_if.h"
+
+/**
+ * Enable or Disable traces
+ * The raw data output is the hci binary packet format as specified by the BT specification *
+ */
+#define TL_SHCI_CMD_DBG_EN 0 /* Reports System commands sent to CPU2 and the command response */
+#define TL_SHCI_CMD_DBG_RAW_EN 0 /* Reports raw data System commands sent to CPU2 and the command response */
+#define TL_SHCI_EVT_DBG_EN 0 /* Reports System Asynchronous Events received from CPU2 */
+#define TL_SHCI_EVT_DBG_RAW_EN 0 /* Reports raw data System Asynchronous Events received from CPU2 */
+
+#define TL_HCI_CMD_DBG_EN 0 /* Reports BLE command sent to CPU2 and the command response */
+#define TL_HCI_CMD_DBG_RAW_EN 0 /* Reports raw data BLE command sent to CPU2 and the command response */
+#define TL_HCI_EVT_DBG_EN 0 /* Reports BLE Asynchronous Events received from CPU2 */
+#define TL_HCI_EVT_DBG_RAW_EN 0 /* Reports raw data BLE Asynchronous Events received from CPU2 */
+
+#define TL_MM_DBG_EN 0 /* Reports the information of the buffer released to CPU2 */
+
+/**
+ * Macro definition
+ */
+
+/**
+ * System Transport Layer
+ */
+#if (TL_SHCI_CMD_DBG_EN != 0)
+#define TL_SHCI_CMD_DBG_MSG PRINT_MESG_DBG
+#define TL_SHCI_CMD_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_SHCI_CMD_DBG_MSG(...)
+#define TL_SHCI_CMD_DBG_BUF(...)
+#endif
+
+#if (TL_SHCI_CMD_DBG_RAW_EN != 0)
+#define TL_SHCI_CMD_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_SHCI_CMD_DBG_RAW(...)
+#endif
+
+#if (TL_SHCI_EVT_DBG_EN != 0)
+#define TL_SHCI_EVT_DBG_MSG PRINT_MESG_DBG
+#define TL_SHCI_EVT_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_SHCI_EVT_DBG_MSG(...)
+#define TL_SHCI_EVT_DBG_BUF(...)
+#endif
+
+#if (TL_SHCI_EVT_DBG_RAW_EN != 0)
+#define TL_SHCI_EVT_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_SHCI_EVT_DBG_RAW(...)
+#endif
+
+/**
+ * BLE Transport Layer
+ */
+#if (TL_HCI_CMD_DBG_EN != 0)
+#define TL_HCI_CMD_DBG_MSG PRINT_MESG_DBG
+#define TL_HCI_CMD_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_HCI_CMD_DBG_MSG(...)
+#define TL_HCI_CMD_DBG_BUF(...)
+#endif
+
+#if (TL_HCI_CMD_DBG_RAW_EN != 0)
+#define TL_HCI_CMD_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_HCI_CMD_DBG_RAW(...)
+#endif
+
+#if (TL_HCI_EVT_DBG_EN != 0)
+#define TL_HCI_EVT_DBG_MSG PRINT_MESG_DBG
+#define TL_HCI_EVT_DBG_BUF PRINT_LOG_BUFF_DBG
+#else
+#define TL_HCI_EVT_DBG_MSG(...)
+#define TL_HCI_EVT_DBG_BUF(...)
+#endif
+
+#if (TL_HCI_EVT_DBG_RAW_EN != 0)
+#define TL_HCI_EVT_DBG_RAW(_PDATA_, _SIZE_) HW_UART_Transmit(hw_uart1, (uint8_t*)_PDATA_, _SIZE_, (~0))
+#else
+#define TL_HCI_EVT_DBG_RAW(...)
+#endif
+
+/**
+ * Memory Manager - Released buffer tracing
+ */
+#if (TL_MM_DBG_EN != 0)
+#define TL_MM_DBG_MSG PRINT_MESG_DBG
+#else
+#define TL_MM_DBG_MSG(...)
+#endif
+
+/* USER CODE END Tl_Conf */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__TL_DBG_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_if.c
new file mode 100644
index 000000000..7b9d0a443
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/tl_if.c
@@ -0,0 +1,47 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tl_if.c
+ * @author MCD Application Team
+ * @brief Transport layer interface to BLE
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+#include "app_common.h"
+
+#include "hci_tl.h"
+#include "shci_tl.h"
+#include "tl.h"
+
+
+void hci_register_io_bus(tHciIO* fops)
+{
+ /* Register IO bus services */
+ fops->Init = TL_BLE_Init;
+ fops->Send = TL_BLE_SendCmd;
+
+ return;
+}
+
+void shci_register_io_bus(tSHciIO* fops)
+{
+ /* Register IO bus services */
+ fops->Init = TL_SYS_Init;
+ fops->Send = TL_SYS_SendCmd;
+
+ return;
+}
+
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.c
new file mode 100644
index 000000000..37b671c48
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.c
@@ -0,0 +1,343 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file user_if.c
+ * @author MCD Application Team
+ * @brief User interface file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "cube_hal.h"
+#include "ble_clock.h"
+#include "hci.h"
+#include "user_if.h"
+#include "hal.h"
+#include "hal_common.h"
+#include "mesh_cfg.h"
+
+#include <stdio.h>
+#ifdef IAR
+#include <yfuns.h>
+#else
+#define _LLIO_STDIN 0
+#define _LLIO_STDOUT 1
+#define _LLIO_STDERR 2
+#define _LLIO_ERROR ((size_t)-1) /* For __read and __write. */
+#endif
+
+
+
+typedef struct _IO_ReceiveCallBack
+{
+ /**
+ * callback to notify the application with the received I/O data
+ */
+ IO_RECEIVE_DATA_USER_CALLBACK_TYPE IO_user_application;
+} IO_ReceiveCallBack;
+/**
+* @}
+*/
+
+#define READ_DATA_SIZE 1024
+#define READ_BUFFER_IS_EMPTY() (Read_ptr_in == Read_ptr_out)
+
+/* IO User Callback used to handle received data from I/O channel*/
+static uint8_t Read_Buffer [READ_DATA_SIZE];
+static uint32_t Read_ptr_in = 0;
+static uint32_t Read_ptr_out = 0;
+/*static volatile uint8_t s_SdkEvalVersion = ID_UNKNOWN;*/
+static IO_ReceiveCallBack IO_Receive_Data;
+static void SdkEval_IO_processInputData(uint8_t * rx_data, uint16_t data_size);
+
+
+/**
+* @brief SetLed Sets the state of led
+* @param int state State for the led GPIO
+* @retval void
+*/
+void SetLed(int state)
+{
+ if (state)
+ {
+ BSP_LED_On(LED_BLUE);
+ }
+ else
+ {
+ BSP_LED_Off(LED_BLUE);
+ }
+}
+
+#if 0
+/**
+* @brief GetButtonState
+* @param void
+* @retval BUTTON_STATE returns the status of the userbutton GPIO
+*/
+BUTTON_STATE GetButtonState(void)
+{
+ return HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13);
+}
+
+/**
+* @brief InitButton initializes the GPIO for the user button
+* @param void
+* @retval void
+*/
+void InitButton(void)
+{
+ GPIO_InitTypeDef init;
+ init.Pin = GPIO_PIN_13;
+ init.Mode = GPIO_MODE_INPUT | GPIO_MODE_EVT_FALLING;
+ init.Pull = GPIO_NOPULL;
+ init.Speed = GPIO_SPEED_VERY_LOW;
+ init.Alternate = 0;
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ HAL_GPIO_Init(GPIOC, &init);
+ EXTI->FTSR |= EXTI_RTSR_TR13; /* enable wake-up event on falling edge */
+ EXTI->IMR &= ~EXTI_IMR_MR13; /* disable interrupt */
+ EXTI->EMR |= EXTI_EMR_MR13; /* enable event */
+}
+#endif
+
+/**
+* @brief processInputData
+* @param uint8_t * rx_data pointer to receive data
+* @param uint16_t data_size size of receive data
+* @retval void
+*/
+void processInputData(uint8_t * rx_data, uint16_t data_size)
+{
+ SdkEval_IO_processInputData(rx_data, data_size);
+}
+
+/**
+* @brief Configure the selected I/O communication channel
+* @param None.
+* @retval None.
+*/
+void SdkEval_IO_Config(IO_RECEIVE_DATA_USER_CALLBACK_TYPE io_receive_function)
+{
+ IO_Receive_Data.IO_user_application = io_receive_function;
+#if defined (ENABLE_USB)
+ /* Init Device Library */
+ USBD_Init(&USBD_Device, &VCP_Desc, 0);
+
+ /* Add Supported Class */
+ USBD_RegisterClass(&USBD_Device, USBD_CDC_CLASS);
+
+ /* Add CDC Interface Class */
+ USBD_CDC_RegisterInterface(&USBD_Device, &USBD_CDC_fops);
+
+ /* Start Device Process */
+ USBD_Start(&USBD_Device);
+
+#elif defined (ENABLE_USART)
+ /* Init Serial Uart */
+ MX_USART2_UART_Init();
+#endif
+}
+
+/**
+* @brief InitDevice intitializes the Device
+* @param void
+* @retval void
+*/
+void InitDevice(void)
+{
+ Init_Device(); /* Initializes HAL and System Clock */
+
+#ifndef NEWLIB_SYSCALLS
+ SdkEval_IO_Config(processInputData);
+#endif
+ /* Delay for debug purpose, in order to see printed data at startup. */
+#if defined(ENABLE_USART)
+ Clock_Wait(2000);
+#endif
+
+#if defined(ACCELEROMETER_TYPE) || defined(THERMOMETER_TYPE)
+ I2C_Reset();
+ Temperature_Init();
+ Accel_Init();
+#endif
+ InitButton();
+}
+
+
+/**
+* @brief ShouldSleepFunc sleep mode function
+* @param void
+* @retval void
+*/
+void ShouldSleepFunc(void)
+{
+ __disable_irq();
+ __WFE();
+ __NOP();
+ __enable_irq();
+}
+
+/**
+* @brief Receive data on selected I/O port
+* @param rx_data pointer to buffer of received
+* @param data_size number of received data
+* @retval None.
+*/
+void SdkEval_IO_Receive_Data(uint8_t * rx_data, uint16_t data_size)
+{
+ if(IO_Receive_Data.IO_user_application)
+ IO_Receive_Data.IO_user_application(rx_data,data_size);
+
+}
+/**
+* @brief Read buffer push
+* @param byte
+* @retval None.
+*/
+void Read_Buffer_Push(uint8_t byte)
+{
+ Read_Buffer[Read_ptr_in] = byte;
+
+ Read_ptr_in++;
+
+ /* To avoid buffer overflow */
+ if(Read_ptr_in == READ_DATA_SIZE)
+ {
+ Read_ptr_in = 0;
+ }
+}
+/**
+* @brief Read buffer pop
+* @param byte
+* @retval None.
+*/
+int Read_Buffer_Pop(uint8_t *byte)
+{
+ if(READ_BUFFER_IS_EMPTY())
+ return 0;
+
+ *byte = Read_Buffer[Read_ptr_out];
+
+ Read_ptr_out++;
+
+ if(Read_ptr_out == READ_DATA_SIZE)
+ Read_ptr_out = 0;
+
+ return 1;
+}
+/**
+* @brief Process input data
+* @param byte
+* @retval None.
+*/
+static void SdkEval_IO_processInputData(uint8_t * rx_data, uint16_t data_size)
+{
+ for(int i = 0; i < data_size; i++){
+ Read_Buffer_Push(rx_data[i]);
+ }
+}
+extern UART_HandleTypeDef huart2;
+#undef putchar
+/**
+* @brief Put character
+* @param byte
+* @retval None.
+*/
+int putchar(int c)
+{
+ /* wait for the transmission end */
+ while(!(__HAL_UART_GET_FLAG(&huart2, UART_FLAG_TXE)));
+ /* send the data */
+ HAL_UART_Transmit(&huart2, (uint8_t*)&c, 1, UART_TX_TIMEOUT);
+ return c;
+}
+
+void __io_putchar(char c)
+{
+ putchar(c);
+}
+
+/* Required for Keil */
+#ifndef __IAR_SYSTEMS_ICC__
+void _ttywrch(int ch)
+{
+ putchar(ch);
+}
+
+int fputc(int ch, FILE *f)
+{
+ _ttywrch(ch);
+ return(ch);
+}
+int fgetc(FILE *f)
+{
+ return -1;
+}
+#endif
+
+/**
+* @brief Write handle
+* @param buffer
+* @param size
+* @retval None.
+*/
+size_t _write(int handle, const unsigned char * buffer, size_t size)
+{
+ size_t nChars = 0;
+
+ if (handle != _LLIO_STDOUT && handle != _LLIO_STDERR) {
+ return _LLIO_ERROR;
+ }
+
+ if (buffer == 0) {
+ /* This means that we should flush internal buffers.
+ spin until TX complete (TX is idle)*/
+#ifdef ENABLE_USB
+ while (!USB_OUT_BUFFER_IS_EMPTY()) {}
+#endif /* ENABLE_USB */
+ return 0;
+ }
+
+ while(size--) {
+ __io_putchar(*buffer++);
+ ++nChars;
+ }
+
+ return nChars;
+}
+
+/**
+* @brief Read handle
+* @param buffer
+* @param size
+* @retval None.
+*/
+size_t __read(int handle, unsigned char * buffer, size_t size)
+{
+ size_t bytes = 0;
+
+ while(bytes < size && Read_Buffer_Pop(buffer+bytes)){
+ bytes++;
+ }
+ return bytes;
+}
+
+uint8_t __io_getcharNonBlocking(uint8_t *data)
+{
+ if (__read(_LLIO_STDIN,data,1))
+ return 1;
+ else
+ return 0;
+}/* end serialReadByte() */
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.h
new file mode 100644
index 000000000..01985c068
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/user_if.h
@@ -0,0 +1,40 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file user_if.h
+ * @author MCD Application Team
+ * @brief Header file for User interface file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef _USER_INTERFACE_H_
+#define _USER_INTERFACE_H_
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx_hal.h"
+#include "stm32wbxx_hal_conf.h"
+#include "ble_clock.h"
+
+#define BUTTON_PRESSED GPIO_PIN_RESET
+
+/* Exported typedefs ---------------------------------------------*/
+typedef GPIO_PinState BUTTON_STATE;
+typedef void (* IO_RECEIVE_DATA_USER_CALLBACK_TYPE) (uint8_t * rx_data, uint16_t data_size);
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+#endif /* _USER_INTERFACE_H_ */
+
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/vcp_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/vcp_conf.h
new file mode 100644
index 000000000..18421e257
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/vcp_conf.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file vcp_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of the vcp interface
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __VCP_CONF_H
+#define __VCP_CONF_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+#define VCP_BAUD_RATE (115200)
+#define VCP_TX_PATH_INTERFACE_READY_SETUP_TIME (20*1000*1000/CFG_TS_TICK_VAL) /** 20s */
+#define VCP_TASK_ID (CFG_IdleTask_VCP_SendData)
+#define VCP_TASK_PRIO (CFG_SCH_Prio_1)
+
+#ifdef VCP_TX_PATH_INTERFACE_READY_SETUP_TIME
+#define VCP_TIMER_PROC_ID (CFG_TimProcID_isr)
+#endif
+
+/* External variables --------------------------------------------------------*/
+/* Exported macros -----------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__VCP_CONF_H */
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/target/hw_ipcc.c
new file mode 100644
index 000000000..ad5c868c8
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/target/hw_ipcc.c
@@ -0,0 +1,706 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "app_common.h"
+#include "mbox_def.h"
+
+/* Global variables ---------------------------------------------------------*/
+/* Private defines -----------------------------------------------------------*/
+#define HW_IPCC_TX_PENDING( channel ) ( !(LL_C1_IPCC_IsActiveFlag_CHx( IPCC, channel )) ) && (((~(IPCC->C1MR)) & (channel << 16U)))
+#define HW_IPCC_RX_PENDING( channel ) (LL_C2_IPCC_IsActiveFlag_CHx( IPCC, channel )) && (((~(IPCC->C1MR)) & (channel << 0U)))
+
+/* Private macros ------------------------------------------------------------*/
+#if ( (STM32WB15xx != 0) && (CFG_LPM_STANDBY_SUPPORTED != 0) )
+#define HW_IPCC_SET_FLAG_CHX(x) HW_IPCC_SetFlagCHx(x)
+#else
+#define HW_IPCC_SET_FLAG_CHX(x) LL_C1_IPCC_SetFlag_CHx(IPCC, x)
+#endif
+/* Private typedef -----------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+static void (*FreeBufCb)( void );
+
+/* Private function prototypes -----------------------------------------------*/
+static void HW_IPCC_BLE_EvtHandler( void );
+static void HW_IPCC_BLE_AclDataEvtHandler( void );
+static void HW_IPCC_MM_FreeBufHandler( void );
+static void HW_IPCC_SYS_CmdEvtHandler( void );
+static void HW_IPCC_SYS_EvtHandler( void );
+static void HW_IPCC_TRACES_EvtHandler( void );
+
+#ifdef THREAD_WB
+static void HW_IPCC_OT_CmdEvtHandler( void );
+static void HW_IPCC_THREAD_NotEvtHandler( void );
+static void HW_IPCC_THREAD_CliNotEvtHandler( void );
+#endif
+
+#ifdef LLD_TESTS_WB
+static void HW_IPCC_LLDTESTS_ReceiveCliRspHandler( void );
+static void HW_IPCC_LLDTESTS_ReceiveM0CmdHandler( void );
+#endif
+#ifdef LLD_BLE_WB
+/*static void HW_IPCC_LLD_BLE_ReceiveCliRspHandler( void );*/
+static void HW_IPCC_LLD_BLE_ReceiveRspHandler( void );
+static void HW_IPCC_LLD_BLE_ReceiveM0CmdHandler( void );
+#endif
+
+#ifdef MAC_802_15_4_WB
+static void HW_IPCC_MAC_802_15_4_CmdEvtHandler( void );
+static void HW_IPCC_MAC_802_15_4_NotEvtHandler( void );
+#endif
+
+#ifdef ZIGBEE_WB
+static void HW_IPCC_ZIGBEE_CmdEvtHandler( void );
+static void HW_IPCC_ZIGBEE_StackNotifEvtHandler( void );
+static void HW_IPCC_ZIGBEE_StackM0RequestHandler( void );
+#endif
+
+#if ( (STM32WB15xx != 0) && (CFG_LPM_STANDBY_SUPPORTED != 0) )
+static void IPCC_Wakeup_CPU2(void);
+static void HW_IPCC_SetFlagCHx(uint32_t Channel);
+#endif
+/* Public function definition -----------------------------------------------*/
+
+/******************************************************************************
+ * INTERRUPT HANDLER
+ ******************************************************************************/
+void HW_IPCC_Rx_Handler( void )
+{
+ if (HW_IPCC_RX_PENDING( HW_IPCC_SYSTEM_EVENT_CHANNEL ))
+ {
+ HW_IPCC_SYS_EvtHandler();
+ }
+#ifdef MAC_802_15_4_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL ))
+ {
+ HW_IPCC_MAC_802_15_4_NotEvtHandler();
+ }
+#endif /* MAC_802_15_4_WB */
+#ifdef THREAD_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL ))
+ {
+ HW_IPCC_THREAD_NotEvtHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL ))
+ {
+ HW_IPCC_THREAD_CliNotEvtHandler();
+ }
+#endif /* THREAD_WB */
+#ifdef LLD_TESTS_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL ))
+ {
+ HW_IPCC_LLDTESTS_ReceiveCliRspHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLDTESTS_M0_CMD_CHANNEL ))
+ {
+ HW_IPCC_LLDTESTS_ReceiveM0CmdHandler();
+ }
+#endif /* LLD_TESTS_WB */
+#ifdef LLD_BLE_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLD_BLE_RSP_CHANNEL ))
+ {
+ HW_IPCC_LLD_BLE_ReceiveRspHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_LLD_BLE_M0_CMD_CHANNEL ))
+ {
+ HW_IPCC_LLD_BLE_ReceiveM0CmdHandler();
+ }
+#endif /* LLD_TESTS_WB */
+#ifdef ZIGBEE_WB
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL ))
+ {
+ HW_IPCC_ZIGBEE_StackNotifEvtHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL ))
+ {
+ HW_IPCC_ZIGBEE_StackM0RequestHandler();
+ }
+#endif /* ZIGBEE_WB */
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_BLE_EVENT_CHANNEL ))
+ {
+ HW_IPCC_BLE_EvtHandler();
+ }
+ else if (HW_IPCC_RX_PENDING( HW_IPCC_TRACES_CHANNEL ))
+ {
+ HW_IPCC_TRACES_EvtHandler();
+ }
+
+ return;
+}
+
+void HW_IPCC_Tx_Handler( void )
+{
+ if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_SYS_CmdEvtHandler();
+ }
+#ifdef MAC_802_15_4_WB
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_MAC_802_15_4_CmdEvtHandler();
+ }
+#endif /* MAC_802_15_4_WB */
+#ifdef THREAD_WB
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_OT_CmdEvtHandler();
+ }
+#endif /* THREAD_WB */
+#ifdef LLD_TESTS_WB
+// No TX handler for LLD tests
+#endif /* LLD_TESTS_WB */
+#ifdef ZIGBEE_WB
+ if (HW_IPCC_TX_PENDING( HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL ))
+ {
+ HW_IPCC_ZIGBEE_CmdEvtHandler();
+ }
+#endif /* ZIGBEE_WB */
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
+ {
+ HW_IPCC_SYS_CmdEvtHandler();
+ }
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
+ {
+ HW_IPCC_MM_FreeBufHandler();
+ }
+ else if (HW_IPCC_TX_PENDING( HW_IPCC_HCI_ACL_DATA_CHANNEL ))
+ {
+ HW_IPCC_BLE_AclDataEvtHandler();
+ }
+
+ return;
+}
+/******************************************************************************
+ * GENERAL
+ ******************************************************************************/
+void HW_IPCC_Enable( void )
+{
+ /**
+ * Such as IPCC IP available to the CPU2, it is required to keep the IPCC clock running
+ when FUS is running on CPU2 and CPU1 enters deep sleep mode
+ */
+ LL_C2_AHB3_GRP1_EnableClock(LL_C2_AHB3_GRP1_PERIPH_IPCC);
+
+ /**
+ * When the device is out of standby, it is required to use the EXTI mechanism to wakeup CPU2
+ */
+ LL_C2_EXTI_EnableEvent_32_63( LL_EXTI_LINE_41 );
+ LL_EXTI_EnableRisingTrig_32_63( LL_EXTI_LINE_41 );
+
+ /**
+ * In case the SBSFU is implemented, it may have already set the C2BOOT bit to startup the CPU2.
+ * In that case, to keep the mechanism transparent to the user application, it shall call the system command
+ * SHCI_C2_Reinit( ) before jumping to the application.
+ * When the CPU2 receives that command, it waits for its event input to be set to restart the CPU2 firmware.
+ * This is required because once C2BOOT has been set once, a clear/set on C2BOOT has no effect.
+ * When SHCI_C2_Reinit( ) is not called, generating an event to the CPU2 does not have any effect
+ * So, by default, the application shall both set the event flag and set the C2BOOT bit.
+ */
+ __SEV( ); /* Set the internal event flag and send an event to the CPU2 */
+ __WFE( ); /* Clear the internal event flag */
+ LL_PWR_EnableBootC2( );
+
+ return;
+}
+
+void HW_IPCC_Init( void )
+{
+ LL_AHB3_GRP1_EnableClock( LL_AHB3_GRP1_PERIPH_IPCC );
+
+ LL_C1_IPCC_EnableIT_RXO( IPCC );
+ LL_C1_IPCC_EnableIT_TXF( IPCC );
+
+ HAL_NVIC_EnableIRQ(IPCC_C1_RX_IRQn);
+ HAL_NVIC_EnableIRQ(IPCC_C1_TX_IRQn);
+
+ return;
+}
+
+#if(CFG_LPM_STANDBY_SUPPORTED != 0)
+static void IPCC_Wakeup_CPU2(void)
+{
+
+ /**
+ * When the device is out of standby, it is required to use the EXTI mechanism to wakeup CPU2
+ */
+ LL_C2_EXTI_EnableEvent_32_63( LL_EXTI_LINE_41 );
+ LL_EXTI_EnableRisingTrig_32_63( LL_EXTI_LINE_41 );
+
+ __SEV( ); /* Set the internal event flag and send an event to the CPU2 */
+ __WFE( ); /* Clear the internal event flag */
+
+ return;
+}
+
+static void HW_IPCC_SetFlagCHx(uint32_t Channel)
+{
+ IPCC_Wakeup_CPU2();
+ LL_C1_IPCC_SetFlag_CHx(IPCC, Channel);
+
+ return;
+}
+#endif
+/******************************************************************************
+ * BLE
+ ******************************************************************************/
+void HW_IPCC_BLE_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_BLE_EVENT_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_BLE_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_BLE_CMD_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_BLE_EvtHandler( void )
+{
+ HW_IPCC_BLE_RxEvtNot();
+
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_BLE_EVENT_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_BLE_SendAclData( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_HCI_ACL_DATA_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_BLE_AclDataEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL );
+
+ HW_IPCC_BLE_AclDataAckNot();
+
+ return;
+}
+
+__weak void HW_IPCC_BLE_AclDataAckNot( void ){};
+__weak void HW_IPCC_BLE_RxEvtNot( void ){};
+
+/******************************************************************************
+ * SYSTEM
+ ******************************************************************************/
+void HW_IPCC_SYS_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_SYSTEM_EVENT_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_SYS_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_SYS_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
+
+ HW_IPCC_SYS_CmdEvtNot();
+
+ return;
+}
+
+static void HW_IPCC_SYS_EvtHandler( void )
+{
+ HW_IPCC_SYS_EvtNot();
+
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_SYSTEM_EVENT_CHANNEL );
+
+ return;
+}
+
+__weak void HW_IPCC_SYS_CmdEvtNot( void ){};
+__weak void HW_IPCC_SYS_EvtNot( void ){};
+
+/******************************************************************************
+ * MAC 802.15.4
+ ******************************************************************************/
+#ifdef MAC_802_15_4_WB
+void HW_IPCC_MAC_802_15_4_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_MAC_802_15_4_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_MAC_802_15_4_SendAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_MAC_802_15_4_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
+
+ HW_IPCC_MAC_802_15_4_CmdEvtNot();
+
+ return;
+}
+
+static void HW_IPCC_MAC_802_15_4_NotEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
+
+ HW_IPCC_MAC_802_15_4_EvtNot();
+
+ return;
+}
+__weak void HW_IPCC_MAC_802_15_4_CmdEvtNot( void ){};
+__weak void HW_IPCC_MAC_802_15_4_EvtNot( void ){};
+#endif
+
+/******************************************************************************
+ * THREAD
+ ******************************************************************************/
+#ifdef THREAD_WB
+void HW_IPCC_THREAD_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_OT_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_CLI_SendCmd( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_THREAD_CLI_CMD_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_THREAD_SendAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_THREAD_CliSendAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_OT_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
+
+ HW_IPCC_OT_CmdEvtNot();
+
+ return;
+}
+
+static void HW_IPCC_THREAD_NotEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
+
+ HW_IPCC_THREAD_EvtNot();
+
+ return;
+}
+
+static void HW_IPCC_THREAD_CliNotEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
+
+ HW_IPCC_THREAD_CliEvtNot();
+
+ return;
+}
+
+__weak void HW_IPCC_OT_CmdEvtNot( void ){};
+__weak void HW_IPCC_CLI_CmdEvtNot( void ){};
+__weak void HW_IPCC_THREAD_EvtNot( void ){};
+
+#endif /* THREAD_WB */
+
+/******************************************************************************
+ * LLD TESTS
+ ******************************************************************************/
+#ifdef LLD_TESTS_WB
+void HW_IPCC_LLDTESTS_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ return;
+}
+
+void HW_IPCC_LLDTESTS_SendCliCmd( void )
+{
+ LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_LLDTESTS_CLI_CMD_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLDTESTS_ReceiveCliRspHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ HW_IPCC_LLDTESTS_ReceiveCliRsp();
+ return;
+}
+
+void HW_IPCC_LLDTESTS_SendCliRspAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLDTESTS_ReceiveM0CmdHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ HW_IPCC_LLDTESTS_ReceiveM0Cmd();
+ return;
+}
+
+void HW_IPCC_LLDTESTS_SendM0CmdAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
+ return;
+}
+__weak void HW_IPCC_LLDTESTS_ReceiveCliRsp( void ){};
+__weak void HW_IPCC_LLDTESTS_ReceiveM0Cmd( void ){};
+#endif /* LLD_TESTS_WB */
+
+/******************************************************************************
+ * LLD BLE
+ ******************************************************************************/
+#ifdef LLD_BLE_WB
+void HW_IPCC_LLD_BLE_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ return;
+}
+
+void HW_IPCC_LLD_BLE_SendCliCmd( void )
+{
+ LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_LLD_BLE_CLI_CMD_CHANNEL );
+ return;
+}
+
+/*static void HW_IPCC_LLD_BLE_ReceiveCliRspHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
+ HW_IPCC_LLD_BLE_ReceiveCliRsp();
+ return;
+}*/
+
+void HW_IPCC_LLD_BLE_SendCliRspAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLD_BLE_ReceiveM0CmdHandler( void )
+{
+ //LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ HW_IPCC_LLD_BLE_ReceiveM0Cmd();
+ return;
+}
+
+void HW_IPCC_LLD_BLE_SendM0CmdAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ //LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
+ return;
+}
+__weak void HW_IPCC_LLD_BLE_ReceiveCliRsp( void ){};
+__weak void HW_IPCC_LLD_BLE_ReceiveM0Cmd( void ){};
+
+/* Transparent Mode */
+void HW_IPCC_LLD_BLE_SendCmd( void )
+{
+ LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_LLD_BLE_CMD_CHANNEL );
+ return;
+}
+
+static void HW_IPCC_LLD_BLE_ReceiveRspHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ HW_IPCC_LLD_BLE_ReceiveRsp();
+ return;
+}
+
+void HW_IPCC_LLD_BLE_SendRspAck( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
+ return;
+}
+
+#endif /* LLD_BLE_WB */
+
+/******************************************************************************
+ * ZIGBEE
+ ******************************************************************************/
+#ifdef ZIGBEE_WB
+void HW_IPCC_ZIGBEE_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_ZIGBEE_SendM4RequestToM0( void )
+{
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
+
+ return;
+}
+
+void HW_IPCC_ZIGBEE_SendM4AckToM0Notify( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_ZIGBEE_CmdEvtHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
+
+ HW_IPCC_ZIGBEE_RecvAppliAckFromM0();
+
+ return;
+}
+
+static void HW_IPCC_ZIGBEE_StackNotifEvtHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
+
+ HW_IPCC_ZIGBEE_RecvM0NotifyToM4();
+
+ return;
+}
+
+static void HW_IPCC_ZIGBEE_StackM0RequestHandler( void )
+{
+ LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+
+ HW_IPCC_ZIGBEE_RecvM0RequestToM4();
+
+ return;
+}
+
+void HW_IPCC_ZIGBEE_SendM4AckToM0Request( void )
+{
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
+
+ return;
+}
+
+__weak void HW_IPCC_ZIGBEE_RecvAppliAckFromM0( void ){};
+__weak void HW_IPCC_ZIGBEE_RecvM0NotifyToM4( void ){};
+__weak void HW_IPCC_ZIGBEE_RecvM0RequestToM4( void ){};
+#endif /* ZIGBEE_WB */
+
+/******************************************************************************
+ * MEMORY MANAGER
+ ******************************************************************************/
+void HW_IPCC_MM_SendFreeBuf( void (*cb)( void ) )
+{
+ if ( LL_C1_IPCC_IsActiveFlag_CHx( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ) )
+ {
+ FreeBufCb = cb;
+ LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+ }
+ else
+ {
+ cb();
+
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+ }
+
+ return;
+}
+
+static void HW_IPCC_MM_FreeBufHandler( void )
+{
+ LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+
+ FreeBufCb();
+
+ HW_IPCC_SET_FLAG_CHX( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
+
+ return;
+}
+
+/******************************************************************************
+ * TRACES
+ ******************************************************************************/
+void HW_IPCC_TRACES_Init( void )
+{
+ LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_TRACES_CHANNEL );
+
+ return;
+}
+
+static void HW_IPCC_TRACES_EvtHandler( void )
+{
+ HW_IPCC_TRACES_EvtNot();
+
+ LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_TRACES_CHANNEL );
+
+ return;
+}
+
+__weak void HW_IPCC_TRACES_EvtNot( void ){};
+
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/readme.txt
new file mode 100644
index 000000000..242794716
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode/readme.txt
@@ -0,0 +1,246 @@
+/**
+ @page BLE_MeshLightingPRFNode example
+
+ @verbatim
+ ******************** (C) COPYRIGHT 2020 STMicroelectronics *******************
+ * @file BLE/BLE_MeshLightingPRFNode/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the BLE Mesh Lighting Proxy Relay Friend Node demo example.
+ ******************************************************************************
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ @endverbatim
+
+@par Example Description
+This is the implementation of the BLE Mesh Lighting profile as specified by the BLE SIG,
+a Proxy-Relay-Friend Node with the capacity to handle a Friendship with a Low Power Node.
+
+@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 Keywords
+
+Connectivity, BLE, IPCC, HSEM, RTC, UART, PWR, BLE protocol, BLE mesh, Dual core
+
+@par Directory contents
+ mesh_lighting_demo
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/app_common.h Header for all modules with common definition
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/app_conf.h Parameters configuration file of the application
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/app_debug.h Interface to support debug in the application
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/app_entry.h Parameters configuration file of the application
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_conf.h Configuration file of the HW
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_flash.h Configuration file of the FLASH driver needed by EE module
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/hw_if.h Configuration file of the Hardware Interface
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/lp_timer.h Configuration file of the Low power timer to be used within Mesh Application.
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/main.h Header for main.c module
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_hal_conf.h HAL configuration file
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32_lpm_if.h Configuration file of the Low layer function to enter/exit low power modes (stop, sleep).
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/stm32wbxx_it.h Interrupt handlers header file
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/utilities_conf.h Configuration file of the utilities
+ - BLE/BLE_MeshLightingPRFNode/Core/Inc/vcp_conf.h Configuration file of Virtual Com Port Interface
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/app_debug.c Interface to support debug in the application
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/app_entry.c Initialization of the application
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/hw_flash.c FLASH driver needed by EE module
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/hw_timerserver.c Timer Server based on RTC
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/hw_uart.c UART Driver
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/lp_timer.c Low power timer to be used within Mesh Application.
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/main.c Main program
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/stm32_lpm_if.c Low Power Manager Interface
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/stm32wbxx_it.c Interrupt handlers
+ - BLE/BLE_MeshLightingPRFNode/Core/Src/system_stm32wbxx.c stm32wbxx system source file
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/app_ble.c BLE Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/app_ble.h Header of BLE Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_config.c Application interface for Config Server Mesh Model
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_config.h Header of Application interface for Config Server Mesh Model
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_config_client.c Application interface for Config CLient Mesh Model
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_config_client.h Header of Application interface for Config CLient Mesh Model
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_generic.c Application interface for Generic Mesh Models
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_generic.h Header of Application interface for Generic Mesh Models
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_generic_client.c Application interface for Client Generic Mesh Models
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_generic_client.h Header of Application interface for Client Generic Mesh Models
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_light.c BLE Mesh Light Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_light.h Header of BLE Mesh Light Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_light_client.c Application interface for Client Light Mesh Models
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_light_client.h Header of Application interface for Client Light Mesh Models
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_light_lc.c BLE Mesh Light Lightness Controller Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_light_lc.h Header of BLE Mesh Light Lightness Controller Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_mesh.c BLE Mesh application implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_mesh.h Header of BLE Mesh application implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_nvm.c BLE Mesh NVM application implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_nvm.h Header of BLE Mesh NVM application implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_sensor.c BLE Mesh Server Sensor Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_sensor.h Header of BLE Mesh Server Sensor Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_sensor_client.c BLE Mesh Client Sensor Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_sensor_client.h Header of BLE Mesh Client Sensor Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_vendor.c BLE Mesh Vendor Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/appli_vendor.h Header of BLE Mesh Vendor Profile implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/ble_conf.h BLE Services configuration
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/ble_dbg_conf.h BLE Traces configuration of the BLE services
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/hal_common.h Header for common function of HAL file
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/mesh_cfg.h Header for Mesh configuration
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/mesh_cfg_usr.h Header for user Mesh configuration
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/models_if.h Header for the BLE Mesh Models Interface file
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/models_if.c BLE Mesh Models Interface file
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/pal_nvm.c BLE Mesh NVM management implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/pal_nvm.h Header of BLE Mesh NVM management implementation
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/PWM_config.c Pulse Width Modulation configuration
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/PWM_config.h Header of Pulse Width Modulation configuration
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/PWM_handlers.c Pulse Width Modulation handlers
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/PWM_handlers.h Header of Pulse Width Modulation handlers
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/sensor_cfg_usr.c Header for user Mesh Sensor Model configuration
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/svcctl_conf.c Service Controller configuration API
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/tl_conf.h Configuration file of the Transport layer
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/tl_dbg_conf.h Debug configuration file for stm32wpan transport layer interface.
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/tl_if.c Transport Layer interface
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/user_if.h Header file for User interface file
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/user_if.c User interface file
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/App/vcp_conf.h Configuration of the vcp interface
+ - BLE/BLE_MeshLightingPRFNode/STM32_WPAN/Target/hw_ipcc.c IPCC Driver
+
+
+@par Hardware and Software environment
+
+ - This example runs on STM32WB15xx devices.
+
+ - This example has been tested with an STMicroelectronics STM32WB15RCC-Nucleo
+ board and can be easily tailored to any other supported device
+ and development board.
+
+@par How to use it ?
+
+This application requires having the stm32wb1x_BLE_Stack_basic_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
+
+@Introduction
+
+The ST BLE-Mesh library supports all of the following features in a Mesh node:
+1. Relay: to forward received network PDUs on advertising or GATT bearer, if the Proxy feature is enabled
+2. Proxy: to forward received network PDUs between GATT and advertising bearers
+3. Friend: can perform duties such as scanning for other associated nodes that are usually Low Power mode
+4. Low Power: consumes much less power as the node usually does not perform any scanning
+A typical BLE Mesh node radio should always be in scanning mode to avoid missing packets over the air, but this kind of
+operation is not supported by many devices due to continuous energy requirements.
+To enable low power operation, BLE Mesh Profile v1.0 defines the concept of Friendship.
+In a Mesh network, a Low Power feature-enabled Mesh node (LPN) offloads its packet receiving (scanning) duty to an adjacent
+Friend feature-enabled Mesh node (FN). The LPN is not always scanning and remains inactive (or sleeps) for most of its life
+cycle, significantly reducing its energy requirements. Nodes running on batteries or energy harvesting techniques usually
+support the Low Power feature.
+Once connected to each other, the FN and LPN are considered friends and their connection is known as a Friendship. At least
+one FN must be in the direct radio range of an LPN to establish Friendship.
+
+@Configuration
+
+Low Power Node
+Low Power feature support is defined in mesh_cfg_usr.h by the predefinition of ENABLE_LOW_POWER_FEATURE.
+Note: A Low Power feature-enabled node does not support any other feature: all the other features should be
+undefined.
+
+@Demo setup based on STM32WB15CC-Nucleo
+
+General default setting defined in mesh_cfg_usr.h:
+ ENABLE_GENERIC_MODEL_SERVER_ONOFF (1) /* GENERIC SERVER ONOFF MODEL ON FIRST ELEMENT */
+ ENABLE_VENDOR_MODEL_SERVER (1) /* VENDOR SERVER MODEL ON FIRST ELEMENT */
+ APPLICATION_NUMBER_OF_ELEMENTS 1 /* NUMBER OF ELEMENT SUPPORTED */
+ APPLICATION_SIG_MODELS_MAX_COUNT 1 /* TOTAL NUMBER OF MODELS SUPPORTED */
+ APPLICATION_VENDOR_MODELS_MAX_COUNT 1 /* TOTAL NIMBER OF VENDOR MODELS SUPPORTED */
+ ENABLE_RELAY_FEATURE /* RELAY SUPPORT */
+ ENABLE_PROXY_FEATURE /* PROXY SUPPORT FOR GATT CONNECTION */
+ ENABLE_FRIEND_FEATURE /* FRIEND SUPPORT FOR FRIENDSHIP WITH LOW POWER NODE */
+ ENABLE_PB_ADV /* Provisioning Bearer over advertising channels support */
+ ENABLE_PB_GATT /* Provisioning Bearer over GATT proxy support */
+
+The following demo based on STM32WB15CC-Nucleo has been set up using one board as a Friend node and two
+boards as Low Power nodes.
+
+Low Power Node setup (use the Low Power Node BLE_MeshLightingLPN project):
+Step 1. Configure LPN parameters.
+ Change only if required otherwise skip this step (use example parameters defined in mesh_cfg_usr.h)
+ LPN_RSSI_FACTOR_LEVEL 1
+ LPN_RECIVE_WINDOW_FACTOR_LEVEL 1
+ LPN_MINIMUM_QUEUE_SIZE_LOG 2
+ LPN_RECEIVE_DELAY 150 ms
+ LPN_POLL_TIMEOUT 2000 (*100 ms)
+ LPN_RECEIVE_WINDOW_SIZE 55 ms
+ LPN_SUBSCR_LIST_SIZE 2
+ LPN_FRIEND_REQUEST_FREQUENCY 50 (*100 ms)
+ LPN_FRIEND_POLL_FREQUENCY 25 (*100 ms)
+ LPN_MINIMUM_RSSI -100
+ LPN_NO_OF_RETRIES 10
+Step 2. Generate and flash binary in 2 boards (LPN1, LPN2)
+
+Friend Node setup:
+Step 1. Generate and flash binary in a board (FN)
+Step 2. Provision the 3 boards with the default parameters, using BLE-Mesh Android (https://play.google.com/store/apps/details?id=com.st.bluenrgmesh&hl=en) or
+ BLE-Mesh iOS (https://apps.apple.com/us/app/st-ble-mesh/id1348645067) smartphone application (subscribe and publish to default group)
+
+Demo operation
+After provisioning, it might take a few seconds for Friendship to be established between FN and LPNs.
+In this demo, the FN establishes Friendship with LPN1 and LPN2
+Any packet targeted to LPN1/LPN2 or to a group address subscribed by LPN1 or LPN2 is put in queue by the FN
+that forwards packets to LPN1/LPN2 as soon as it receives a Friend Poll from the respective LPN.
+The LPN is free to send packets (generate traffic) any time.
+
+By pressing [SW1] button on the Friend Node:
+1. FN publishes a LED ON command to the default group and the FN blue LED immediately turns on (when the
+FN belongs to the default group).
+2. FN forwards a LED ON command to the LPNs subscribed to the default group. As soon as the FN receives
+poll from an LPN, it sends LED ON to the respective LPN.
+
+ FN LPN1 LPN2
+ | | |
+ SW1 PUSH->| | |
+ Blue LED on->| | |
+ |<--Friend Poll--| |
+ | | |
+ |-----LED on---->|<-Blue LED on |
+ | |
+ |<----------Friend Poll----------|
+ | |
+ |-------------LED on------------>|<-Blue LED on
+ | |
+
+By pressing [SW1] button on the Low Power Node 1:
+1. LPN1 publishes an LED OFF command to the default group. LPN1 blue LED tunrs off.
+ LPN1 immediately forwards LED OFF command to the default group.
+2. FN receives an LED OFF command (as it is subscribed to the default group) and the FN blue LED turns off.
+3. FN also sends an LED OFF command to LPN2 (subscribed to the default group) as soon as FN receives
+ poll from LPN2.
+
+ FN LPN1 LPN2
+ | | |
+ | SW1 PUSH->|<-Blue LED off |
+ Blue LED off->|<----LED off----| |
+ | |
+ |<----------Friend Poll----------|
+ | |
+ |------------LED off------------>|<-Blue LED off
+ | |
+
+* <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
+ */
+ \ No newline at end of file
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Binary/BLE_Ota_reference.hex b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Binary/BLE_Ota_reference.hex
index 3316829ba..d5eab4001 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Binary/BLE_Ota_reference.hex
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Binary/BLE_Ota_reference.hex
@@ -1,1037 +1,1071 @@
:020000040800F2
-:10000000081000207D3D0008193E00081B3E000836
-:100010004B3F00084F3F0008533F0008000000001E
-:100020000000000000000000000000001D3E00086D
-:100030001F3E000800000000213E0008233E00088B
-:10004000573F00085B3F00085F3F0008393E00084B
-:10005000633F0008673F0008273E00086B3F000829
-:100060006F3F0008733F0008293E0008773F0008F3
-:100070007B3F00087F3F0008333E0008833F0008B5
-:10008000873F00088B3F00088F3F000800000000FA
-:1000900000000000933F0008973F00082B3E000837
-:1000A0009B3F00089F3F0008A33F0008A73F0008B0
-:1000B000AB3F0008AF3F0008B33F0008B73F000860
-:1000C0000000000000000000BB3F0008000000002E
-:1000D0002D3E0008BF3F000800000000C33F00089D
-:1000E000C73F0008CB3F000800000000CF3F0008DA
-:1000F000413E00083D3E0008D33F0008D73F0008BE
-:10010000DB3F0008000000000000000000000000CD
-:10011000DF3F0008E33F0008E73F00080000000061
+:1000000008100020993F00083540000837400008DC
+:10001000674100086B4100086F41000800000000C4
+:10002000000000000000000000000000394000084F
+:100030003B400008000000003D4000083F40000831
+:1000400073410008774100087B41000855400008D3
+:100050007F410008834100084340000887410008B1
+:100060008B4100088F41000845400008934100087B
+:10007000974100089B4100084F4000089F4100083D
+:10008000A3410008A7410008AB41000800000000A0
+:1000900000000000AF410008B341000847400008DD
+:1000A000B7410008BB410008BF410008C341000838
+:1000B000C7410008CB410008CF410008D3410008E8
+:1000C0000000000000000000D74100080000000010
+:1000D00049400008DB41000800000000DF41000843
+:1000E000E3410008E741000800000000EB41000880
+:1000F0005D40000859400008EF410008F341000846
+:10010000F7410008000000000000000000000000AF
+:10011000FB410008FF410008034200080000000006
:1001200000000000000000000000000000000000CF
-:100130000000000000000000EB3F000838B504009C
+:1001300000000000000000000742000838B504007D
:1001400009D004F18005686808B900F01EF800F0D5
:1001500021F8012801D1012032BDA06A08B100F0C8
:100160002AF800F00AF821F02A01FFE7816000F088
-:100170001BF8BDE8324000F0B6BA2068416821F4AF
+:100170001BF8BDE8324000F0E8BA2068416821F47D
:1001800090414160206881687047002129702046B5
-:1001900000F087BB24206860206801684908490096
-:1001A0000160204600F040B92068016841F001017B
-:1001B000016020467047204600F032BA816821F085
-:1001C000400181607047206881684A067047206856
-:1001D000016821F0100101607047F8B5044640F64F
-:1001E0000F002668F1693268B368084004F15C05C5
-:1001F0000ED1880602D5900602D4D80040F1808046
-:100200006969002900F00E812046BDE8F4400847E6
-:10021000DFF8E405034204BFDFF8E0753A426FD02F
-:10022000CF0707D5D70505D5012737622E6B46F0D6
-:1002300001062E638E0708D5DE0706D5276802263D
-:100240003E622E6B46F004062E634E0708D5DE078D
-:1002500006D5276804263E622E6B46F002062E6302
-:100260000E070AD5960601D4034206D02668082058
-:100270003062286B40F008002863080509D550015A
-:1002800007D526684FF400603062286B40F02000EC
-:100290002863286B002832D0890607D5900601D440
-:1002A000D80003D5696909B120468847286B2168C1
-:1002B0008A68510602D410F0280F1BD0204600F0A7
-:1002C00080FAFFF780FF10D5FFF778FF286A60B14A
-:1002D0000FF22D518163286A00F0EFFB00280ED049
-:1002E000286A816BBDE8F44008472046BDE8F2402B
-:1002F00000F0AABC204600F0A7FC00202863F1BD56
-:100300002869012853D1CF0651D5D0064FD51020EA
-:10031000306222689068410626D5296A08684068DC
-:1003200080B20028EBD02B8898427BDA688008687E
-:1003300001688B0614D4106820F480701060206867
-:1003400081684908490081602068FFF737FF202055
-:10035000E86200202861FFF73AFF286A00F077FB87
-:1003600029886888091A1CE028886988411A6888E1
-:1003700000281CBF88B2002854D01368DFF890040E
-:1003800023F49073136022689368034093602020E5
-:10039000E8620020286168612068026822F010028B
-:1003A00002602046BDE8F44089B200F04EBCC802AD
-:1003B00009D5580207D54FF4801030622046BDE8B9
-:1003C000F24000F043BC080609D5100601D418021B
-:1003D00005D5A96931B32046BDE8F4400847480671
-:1003E0000ED550060CD5306820F04000306020213A
-:1003F000A9620020A8612046BDE8F24000F0B5BA2D
-:10040000080206D5500004D52046BDE8F24000F0B1
-:100410001EBCC80148BF002A04D52046BDE8F240F2
-:1004200000F016BCF1BD0000F8B50446DFF8E403A7
-:100430002168DFF8E4C30A68DFF8E0730240A068CF
-:1004400002432069024360690243E06902430A6093
-:1004500000254A68E06822F4405202434A60A369DA
-:100460006E4A91421CBF206A03438E68DFF8B003D6
-:10047000064033438B600FF2B436CB6A606A1B09C7
-:1004800040EA0313CB626145DFF898034FF4004361
-:1004900039D13F6807F00307032F4DD8DFE807F095
-:1004A000024643494FF0010CE169B1F5004F4FF6A8
-:1004B000F07740F08080BCF1010F09D0BCF1020F51
-:1004C0000AD0BCF1040F71D0BCF1080F71D099E0D3
-:1004D00000F01BFC002815D0626A616836F8123003
-:1004E000B0FBF3F04A0802EB4002B2FBF1F080B23D
-:1004F000A0F11001B942EAD20740C0F3420007431D
-:100500002068C7607FE0914216D13F6817F44067CA
-:1005100023D0B7F5806F09D0B7F5006F03D0B7F5DA
-:10052000406F06D008E04FF0020C07E04FF0040CDB
-:1005300004E04FF0080C01E04FF0100C9142B3D1F1
-:10054000BCF1000F09D0BCF1020F0AD0BCF1040FBE
-:1005500015D0BCF1080F15D054E000F0CEFB0028F8
-:1005600051D0616A36F81120B0FBF2F6626802EBF6
-:1005700042018E4246D31103B14205D242E000F05F
-:1005800072FBECE71846ECE75008002110EB062060
-:1005900051EB1661002300F0D5FBA0F54071DFF8A8
-:1005A000882291422ED22268D0602CE000F05BFBC2
-:1005B00090E7184690E7BCF1010F09D0BCF1020F9B
-:1005C00009D0BCF1040F18D0BCF1080F18D019E005
-:1005D00000F09BFBB8B1626A36F812306168B0FB7C
-:1005E000F3F000EB5100B0FBF1F080B2A0F110018C
-:1005F000B94207D22168C86005E000F034FBE9E7A2
-:100600001846E8E7012504F16800012141800180D6
-:1006100000218160C1602846F2BD000000800040DA
-:1006200090F82810CA0706D502685368C16A23F4F7
-:1006300000330B43536090F828108A0706D50268F0
-:100640005368016B23F480330B43536090F82810F8
-:100650004A0706D502685368416B23F480230B4395
-:10066000536090F828100A0706D502685368816B1A
-:1006700023F400430B43536090F82810CA0606D5B4
-:1006800002689368C16B23F480530B43936090F826
-:1006900028108A0606D502689368016C23F400537B
-:1006A0000B43936090F828104A0610D502685368EF
-:1006B000416C23F480130B435360416CB1F5801FF0
-:1006C00005D15368816C23F4C0030B43536090F849
-:1006D00028100A0606D501684A68C06C22F4002278
-:1006E00002434A607047F8B5044604F180050020D3
-:1006F000E8606FF07E4700F03DFC06462068016828
-:100700000A0708D50097334600224FF4001120460F
-:1007100000F017F860B9206801684A070AD5009709
-:10072000334600224FF48001204600F00AF808B159
-:100730000320F2BD20206860A8600020E0662870D9
-:10074000F2BD2DE9F041069C05460E4690461F4637
-:100750002868C1693140B1420CBF012000204045EA
-:100760001CD114F1010FF3D000F004FCC01B844233
-:1007700000D314B900F015F80CE0286801684A07A6
-:10078000E6D5C1690A05E3D54FF40062026200F0C4
-:1007900008F8C16000210170032000E00020BDE8DE
-:1007A000F0812868016821F4D071016028688168AF
-:1007B00049084900816005F1800020214160816085
-:1007C000704701680A6822F490720A60DFF84010EE
-:1007D000026893680B409360C16E012904D10168DF
-:1007E0000A6822F010020A602021C0F88810002157
-:1007F000C16601677047000001000010200100047D
-:10080000806A00F1560100220A810A8000F01CBAB9
-:10081000FEFFFFEFF369FFCF00380140880000586A
-:10082000FFF4FF110024F40000FD0F00010002009E
-:100830000400060008000A000C0010002000400020
-:10084000800000014E4900E04E4981B00A68024331
-:100850000A60096808400090009801B0704798B994
-:1008600049484A4901604FF4E1314160002181600B
-:10087000C160016181610C2141614FF40041C1619E
-:1008800000218162FFF75ABC7047002804BF3E4830
-:10089000FFF7A3BC704718B93B48806F00F043B91D
-:1008A000704738B586B004466846142100F068FBEE
-:1008B0002168364A914248D10120FFF7C5FF4FF425
-:1008C000007000F044F80120FFF7BEFF4FF4806095
-:1008D00000F03DF82F48304D816A8908890041F0C9
-:1008E000010181620022016841F4804101600F2111
-:1008F000006800F4804005900598242000F060FB1B
-:10090000242000F07BFB0120FFF79CFF0420FFF771
-:1009100099FF224828600F2068601020A8600020FE
-:10092000E8608020286100206861A861E861286291
-:10093000284600F035F8A567AC6200220F210E2092
-:1009400000F03EFB0E2000F059FB07B030BD0090D8
-:1009500002210020019102900321072003910490BD
-:1009600069464FF0904000F09FBB006807498842FD
-:1009700004D107490868002818BF004770470000E5
-:10098000480000584C000058E0200020003801408A
-:100990001024002060000058802200204400024003
-:1009A00038B5040001D1012032BD2168DFF8800292
-:1009B0004018142204F12405B0FBF2F2DFF87402AF
-:1009C000E86192002A62022068700A68A0686FF3EA
-:1009D0000E120243E0680243206902436069024349
-:1009E000A0690243E0690243206A02430A6020468C
-:1009F00000F0F9F8A068B0F5804F04BF00216160F5
-:100A00002079696A00F03F0000F014F838B1052839
-:100A100005D2204600F0FBF800F012F803E00020B9
-:100A200028636863A8630020A86101206870002023
-:100A3000287032BD0860A96AE86A4860606870473B
-:100A4000296B00200860696BA86B4860704781B013
-:100A500040B100F124014A78022A05D004208861BF
-:100A600000200870012026E00268136823F00E03BE
-:100A700013604A6A136823F4807313600068026885
-:100A8000520852000260012091F82020CB6902F048
-:100A90001C02904058608A6AC86A5060086B30B186
-:100AA000026822F4807202604A6B886B50600120F9
-:100AB00048700020087001B0704738B500F124027A
-:100AC00000245178022903D004209061012428E0F9
-:100AD00001680B6823F00E030B6001680D686D0858
-:100AE0006D000D60516A0B6823F480730B60012167
-:100AF00092F82030D56903F01C0399406960936A2D
-:100B0000D16A5960116B31B10B6823F480730B60AB
-:100B1000536B916B5960012151701470516901B18F
-:100B20008847204632BDF8B500F124010423CA6984
-:100B300014680268156891F8206006F01C0603FA34
-:100B400006F73C4210D06F070ED51468A50603D4F3
-:100B5000156825F00405156000F03DF8C968002906
-:100B600038D0BDE8F4400847022303FA06F73C42B8
-:100B700013D0AF0711D51468A50605D4156825F064
-:100B80000A05156001224A7000F025F800220A705B
-:100B90008968F9B1BDE8F4400847082303FA06F66E
-:100BA000344217D02B0715D5136823F00E031360BA
-:100BB000012291F82030CC6903F01C039A40626056
-:100BC00001228A614A7000220A70096911B1BDE8E8
-:100BD000F4400847F1BD91F82020CC6902F01C02D6
-:100BE000934063607047426C1349920801EB8201A5
-:100BF0008164142201780839B1FBF2F10F4AC26412
-:100C000001F01F01012202FA01F10165704701792B
-:100C10000B4A01F03F0102EB81024265491E094A7D
-:100C2000826501F0030101228A40C265704700001D
-:100C3000F8FFFDBF000002400008024080080240AB
-:100C4000FC080240400902407047704770477047F7
-:100C5000704700004FF0B040006800F0F000B0288E
-:100C600088BFB020704738B54FF0B044304DA16810
-:100C700011F00C0106D1FFF7EDFFC0F3031055F89A
-:100C8000200032BD04292B4A05D008292A4804D166
-:100C90002168C90222D5104632BDE16801F0030186
-:100CA000022904D0032904D12168C90207D51046BE
-:100CB00005E0FFF7CFFFC0F3031055F82000E1680F
-:100CC000E268E368C1F306214843C2F30211491CFC
-:100CD0005B0FB0FBF1F05B1CB0FBF3F032BD80B5F5
-:100CE000FFF7C1FF1149FFE7144A0968C1F3031177
-:100CF00052F82110B0FBF1F002BD80B5FFF7EFFF15
-:100D000000F010F8C1F3022106E080B5FFF7E7FF1D
-:100D100000F008F8C1F3C22112F8211001F01F0100
-:100D2000C84002BD0149064A0968704708000058DA
-:100D3000843C00080024F4000048E801443C00081A
-:100D4000F03E0008B3BBD9B1B2F5803F7DD2022A94
-:100D50001ED98C46B1FBF2F102FB11C31B0443EA1E
-:100D60001043B3FBF2FC02FB1C3380B240EA0343A6
-:100D7000B3FBF2F002FB103240EA0C400023704754
-:100D8000022A05D98446B0FBF2F002FB10C270477C
-:100D90004AB105D100F0010249085FEA300070470E
-:100DA00000220023704700F04BBA0B000200002124
-:100DB00000207047904271EB030CF6D3B3F5803FEF
-:100DC0002FD2F0B5B3FA83F7B1FA81F4A7F10F0E81
-:100DD0003D1B5340CEF1200602FA0EF2F341534080
-:100DE000B5F10F0746D80F3C2C444140C4F1200612
-:100DF000A040F1414140B1FBF3F603FB1611A2FB09
-:100E00000645001BA94102D2761E8018594180EA8E
-:100E1000010221FA0EF362FA0EF200215A40304626
-:100E2000F0BD30B4B1FBF3FC03FB1C11A2FB0C457D
-:100E3000001BA94103D2ACF1010C8018594130BC10
-:100E400002460B46604600217047B2F1807F65D3B1
-:100E5000F0B5B2FA82F7B1FA81F4C7F10F063D1B83
-:100E600022FA06F307F1110EF24120355A40B5F18E
-:100E70000F07B8D94140C4F12006A040F1414140DC
-:100E8000B1FBF3FC03FB1C11A2FB0C45001BA941A9
-:100E900003D2BCF1010C801859410F2F12D30F3F20
-:100EA000C90341EA5041B1FBF3F603FB1611A2FB63
-:100EB0000645D4EBC030A94102D2761E80185941B4
-:100EC00046EACC3C07B34140C7F12006B840F141A7
-:100ED0004140B1FBF3F603FB1611A2FB0645001BD4
-:100EE000A94102D2761E8018594180EA010221FAF6
-:100EF0000EF3C7F1200462FA0EF20CFA07F05A4022
-:100F00002CFA04F13043F0BD80EA010221FA0EF31D
-:100F1000002162FA0EF260465A40F0BD8C46B1FBE9
-:100F2000F2F102FB11C31B0243EA1063B3FBF2FCB4
-:100F300002FB1C331B024CEA002043EA1063B3FBA4
-:100F4000F2FC02FB1C331B024CEA002043EA106354
-:100F5000B3FBF2FC02FB1C331B024CEA002043EA09
-:100F60001063B3FBF2FC02FB1C324CEA00200023AE
-:100F70007047000001484068704700BFD020002043
-:100F8000002200F05FB900000901020081B002D424
-:100F90003C48815405E03C4802F00F02104400F840
-:100FA000041C01B07047394A13684FF6FF01000274
-:100FB0000B4000F4E0601843354908431060704767
-:100FC00038B5324B1C68C4F30223C3F10704052C67
-:100FD00028BF04241D1D072D34BF0023DB1E01255F
-:100FE00005FA04F4641E2140994005FA03F35B1EE0
-:100FF0001A401143BDE83440C6E70000010007D4A1
-:10100000012200F01F01234B8A40400943F82020B1
-:10101000704701000BD4012200F01F011E4B8A40D3
-:10102000400943F82020BFF34F8FBFF36F8F704705
-:1010300010B5401EB0F1807F01D3012010BD174CC8
-:1010400060600F214FF0FF30FFF79EFF0022A2608B
-:1010500007202060002010BD010007D4012200F00D
-:101060001F010F4B8A40400943F8202070470100C0
-:1010700007D4012200F01F010A4B8A40400943F8BF
-:101080002020704700E400E018ED00E00CED00E0E7
-:101090000000FA0500E100E080E100E010E000E07F
-:1010A00000E200E080E200E02DE9F84F4FF0000997
-:1010B0005D4A5E4B4FF00F0805460E4633E05C4F2D
-:1010C000BD4214BF072704278F4027434CF82E70DA
-:1010D000C1431C6801EA040C7468E40348BF40EA99
-:1010E0000C0CC3F800C05C6801EA040C7468A4032B
-:1010F00048BF40EA0C0CC3F804C0146801EA040CB1
-:101100007468E40248BF40EA0C0CC2F800C054689E
-:1011100001EA040C7168890248BF40EA0C0CC2F86D
-:1011200004C009F10109316831FA09F072D00124D3
-:1011300004FA09F414EA0100F3D04FEA490C032140
-:1011400001FA0CF16FEA010E7168012918BF02293A
-:1011500003D0112918BF122911D1A968F7680EEA26
-:10116000010107FA0CF73943A960696821EA040410
-:101170007168C1F3001101FA09F10C436C60E96870
-:10118000B4680EEA010104FA0CF42143E9604FEA65
-:1011900089017468022C18BF122C12D14FEAD904AD
-:1011A00005EB840401F01C07D4F820A008FA07FB23
-:1011B0002AEA0B0AD6F810B00BFA07F747EA0A0733
-:1011C00027622C680EEA0407347904F0030404FA59
-:1011D0000CF43C432C607468E400A2D5DFF854C0E2
-:1011E0004FEA990E5CF82E7001F00C0108FA01F438
-:1011F00027EA0404B5F1904F08BF002709D00E4F2D
-:10120000BD4208BF012704D00C4FBD427FF457AF49
-:10121000022759E7BDE8F18F81B0002A14BF816130
-:10122000816201B070470000000800588008005833
-:101230000010004808000140000400480008004871
-:101240007047000000B500BF130096469446103961
-:1012500028BFA0E80C50FAD85FEA417C28BF0CC038
-:1012600048BF40F8042BC90728BF20F8022B48BF0D
-:1012700000F8012B00BD0000DFF8F0140A6892B2FC
-:1012800000E00246086880B28242FAD170472DE938
-:10129000FC4104461825DFF8D884DFF8D864684399
-:1012A00008EB00073078062808D131787170347067
-:1012B00078754FF0FF307060002039E000F077F86B
-:1012C000B9680918B96008F10803B96832786A4347
-:1012D0009A589142327813D308F1150315FB02FC9A
-:1012E00013F80C30062B25D008F108066B43F35891
-:1012F000994222BF08F115036A439A5CEED219E0C5
-:101300001146337869439A420BD008F1140308F16F
-:10131000150C5B5C15FB03F50CF805407A753B7505
-:1013200000E07A7508F11402545431787170347009
-:10133000BDE8F6811146694308F115035B5C062B95
-:1013400004D008F1140615FB03F574557B753A7546
-:1013500008F115025454EBE7F8B5DFF81834DFF85C
-:1013600010541E78182402466243B0422A4404D125
-:1013700018785870507D18700FE0167D507D92F8E7
-:1013800015C005F115076643062807F806C004D006
-:10139000167D143514FB00F42E55012010731878B7
-:1013A000062802BF00294FF0FF315960F1BD10B58A
-:1013B000DFF8C043606810F1010F0FD0FFF75CFF4A
-:1013C0006168DFF8B423814261683CBF5388C91863
-:1013D000081A517848431178C84000E0002080B2D4
-:1013E00010BD2DE9F84FDFF89053DFF890B3D5F832
-:1013F0000880D8F80000DBF800104A0500F06AF910
-:10140000DFF87063DFF868A321F4806181604FF03A
-:10141000180934780AF1080019FB04F14758FFF75E
-:10142000C6FF874217D200270121B170062C3DD09C
-:1014300019FB04F40AF108010AF108020959814272
-:1014400023BF0AF108010959091A002111510AEBB9
-:1014500004014C7DEAE7A9884118B94202D2AF885D
-:101460000021E2E73F1ADFE7022802DA28780128A4
-:1014700000D07F1ED8F80000C1684A07FAD500F0F6
-:101480002FF9DBF80C00000CBFB247EA0047CBF89D
-:101490000C70FFF7F1FE7060A8680068816841F485
-:1014A00080618160AFF30080BDE8F18FB8B20028A1
-:1014B000DAD1FFF7E1FE70600320BDE8F24FFFF7DD
-:1014C000CBBD2DE9F843EFF3108872B6AA4DA84BB7
-:1014D000A8680168CA224A6253204862A54A8868FF
-:1014E00020F48060886018201678374647431F44F0
-:1014F000387B022826D13C68D7F810909078F0B15C
-:101500007A7B012A0AD101213046FFF725FF88F3B3
-:1015100010887968304600F0F0F804E088F310880D
-:10152000304600F09BF8A8680068CA214162224654
-:10153000532141624846314600F02AF90BE0FFF79B
-:1015400050FF06E0C8684207FCD500F07EF88C49E1
-:10155000086088F31088FF21A86802685162BDE81E
-:10156000F183F8B5844CA160CA2209684A6253220B
-:101570004A62824A136843F020031360136803F041
-:101580000703C3F10403237095682D0C05F07F0554
-:101590006D1C6570EDB29268C2F30E02521C62803F
-:1015A00092B2521E6A43A2F5A072DA404FF6FF7360
-:1015B0009A422CBFA380A280724A136843F400238E
-:1015C0001360714B1D6845F400251D6048BB6948D8
-:1015D000674E0123837018254FF0FF3343600023CB
-:1015E0005FFA83FC06F10C0715FB0CFC4FF0000EB4
-:1015F00007F80CE05B1CDFB2062FF1DB062303705B
-:10160000886820F48060886000F01FF8D0600320B4
-:10161000FFF72DFDA1680868826842F4804282606D
-:1016200005E0C868410544BF0320FFF715FDA16828
-:101630000A68FF205062002203210320FFF7C0FC4C
-:10164000BDE8F2400320FFF7D9BCC86800F0800075
-:1016500060F49060C8604FF400207047F8B507460A
-:10166000EFF3108472B60320FFF7D3FC424DAE684F
-:101670003068CA2141623A465321416218204349E9
-:101680004243895C02291BD100213846FFF764FEE2
-:101690003848017806290ED1306838490A68530560
-:1016A00000F018F821F480618160C1684A07FCD518
-:1016B00000F016F804E04078884218BFFFF791FE6A
-:1016C000A9680A68FF2050620320FFF797FC84F3A3
-:1016D0001088F1BD02D5C1684A07FCD48168704703
-:1016E000C16801F0800161F49061C1604FF4002095
-:1016F000234908600320FFF7BABC2DE9F04180467A
-:101700000F46424618201A4942438C18207B022873
-:1017100004BF4046FFF7A2FFEFF3108572B6032027
-:10172000FFF777FC144EB0680068CA21416253216C
-:10173000416202202073A76067604046FFF7A7FD63
-:101740000C490A784978914202D0FFF74AFE02E03C
-:10175000A168081AA060FF20B1680A6850620320DF
-:10176000FFF74CFC85F31088BDE8F0812828004085
-:101770007021002004240020742300200828004049
-:101780000C08005800080058800800587C210020F0
-:101790001047000018B595B009A80FF2C421894C74
-:1017A000302200F085F90FF26D2001900094694617
-:1017B0000FF2492000F0C0F90121022000F0A5FA43
-:1017C000814A0021012000F01CFB09A800F0BFFBAA
-:1017D00008B100F083FC0020ADF81A0000F080FC96
-:1017E00000F0D3F802460621002000F09DFC4EF6E2
-:1017F0006E50089007AA75490868079006212E20A8
-:1018000000F092FC0FF230221021182000F08CFC26
-:101810000FF234221021082000F086FC182101204C
-:1018200000F0A9FC00F0D2FC0DF1160006A9019011
-:10183000009105AB07220021012000F087FE0FF286
-:10184000E810BDF8181000900723BDF8140000221E
-:1018500000F07CFD0DF11A0000900223BDF8161077
-:10186000BDF81400002200F071FD002000F022FEFF
-:101870000020049010235649039108200022019370
-:101880000090029200230121012000F02CFE00F0C4
-:10189000F1FE50484FF4004101600221006F0191B8
-:1018A00000F0FF004FF000514A7802920D2A0ED24C
-:1018B00000200870BFF34F8F474948480A6802F478
-:1018C000E06202430A60BFF34F8F00BFFDE78978F3
-:1018D0000391891888423CBF801A039000F05FFF93
-:1018E000694601A800F0B6FF00F067FF00F04DF870
-:1018F0003B4942790A7202794A72C2788A728278C6
-:10190000CA7242780A730278521C4A7306214279DD
-:101910008DF8052002798DF80420C2788DF8032017
-:1019200082788DF8022042788DF801206A4600788E
-:10193000401C8DF80000002000F0F6FB00F00AF8D3
-:1019400016B010BD80B54078052808BF00F002F839
-:10195000012002BD00B587B000200690059000224E
-:101960000FF2F400049208210023029001910092EA
-:101970000393A0228021002000F053FD07B05DF802
-:1019800004EB17490E2000F011BE80B50F490A681C
-:1019900012F1010F0DD013484B6802701B0A120A96
-:1019A000427049688170C370190A01711B0C437140
-:1019B00002BD002000F0C8FF08B90FF2740002BD9C
-:1019C00000000000A0080320771B00088075FF1F9F
-:1019D00007B20100104000580CED00E00400FA05C9
-:1019E000C0200020DC2300200021012000F016BAD6
-:1019F000012000F039BA012000F03EBA10B50446CB
-:101A0000616801F1080000F045FE00B1012020707E
-:101A100010BD000010B1012803D07047012000F074
-:101A200011BA00F017BA0000424C45636F726500AE
-:101A30000000000000000000123456789ABCDEF06E
-:101A4000123456789ABCDEF0FEDCBA098765432171
-:101A5000FEDCBA09876543210953544D5F4F544159
-:101A60000000000000000000000000000000000076
-:101A7000000000001E0004000A05020112279C005D
-:101A8000F4010000FFFF00004801010000200000F9
-:101A900062B38B0708D0521E11F8013B00F8013BDE
-:101AA00000F024808B07F6D1830740F0208000BF30
-:101AB000103A07D330B4B1E83810103AA0E8381023
-:101AC000F9D230BC530724BFB1E80810A0E80810D1
-:101AD00044BF51F8043B40F8043BD20724BF31F81F
-:101AE000022B20F8022B44BF0B7803707047121FA3
-:101AF00017D35B0009D151F8043B20F8023B1B0CC3
-:101B0000121F20F8023BF6D20BE051F8043B00F81C
-:101B1000013B1B0A20F8023B1B0C121F00F8013B83
-:101B2000F3D238BF121D521E24BF11F8013B00F83A
-:101B3000013BF8D8704700007FB50C466D4D6168D9
-:101B40006D4EE8612962284600F010FF246805F117
-:101B5000240000604060746006F10800006040608E
-:101B600001203070296829B10FF2551000900294BD
-:101B7000684688477FBD1FB55F4C04F1080000F040
-:101B800002FF00BB2178F1B1694604F1080000F0C2
-:101B900023FF5848C16949B10098029001228DF88D
-:101BA000042001A888479DF8040000E0012020706F
-:101BB000207818B1009800F0C4FF04E0009904F107
-:101BC000080000F0E9FE04F1080000F0DCFE28B98E
-:101BD000207818B104F10800FFF706FF1FBD2DE9BA
-:101BE000F8430646002000F05FF874883088B26839
-:101BF000DFF80081C4F3090444EA8024F068A4B249
-:101C0000C1B2204600F03CF8002748F2E8094846F7
-:101C1000FFF7F1FE08E06888A04202D13169287818
-:101C20000870687800B1012708F1240000F0ABFECD
-:101C3000F0B9694608F1240000F0CEFE009800F1EA
-:101C40000B05407A0F28E6D0B5F80110A1420DD15E
-:101C50000098817AC81E7169C0B28842C8BF084620
-:101C6000706102463069E91CFFF712FF2878D9E756
-:101C70003800CCD0012000F017F80020BDE8F28336
-:101C800010B513461C4A5468A4F80900E1720A46CC
-:101C9000194604F10C00FFF7FBFE164A1369BDE874
-:101CA00010400021002018471249096A82B008B983
-:101CB00021B101E011B1012002B0084702B0704724
-:101CC00010B50146487A0F2818BF0E2807D10B48D7
-:101CD00000F06CFEBDE810400020FFF789BE064C06
-:101CE00004F1080000F062FE04F10800BDE81040B5
-:101CF000FFF77ABEE0220020B0230020042300205A
-:101D00000C48002101604160704710B500F00CF8EC
-:101D10005C6819B1012904D1204301E024EA0000E4
-:101D2000586082F3108810BDEFF3108272B6014B39
-:101D300070470000E42300202DE9FC475B4CDFF8EE
-:101D40007091A5692840A0614FF0FF3A4FF001085B
-:101D500030E0491C54F831000642FAD004EBC106C9
-:101D6000184071681040014208BFC6F804A07768A7
-:101D7000384000F09FF8606208FA00F0874377600F
-:101D8000EFF3108172B6626A206908FA02F2D24358
-:101D900010402061022004EBC00353F8086C164089
-:101DA000401E43F8086CF6D181F31088606A59F838
-:101DB0002010884763692069A2691840104207D043
-:101DC000E069216A084203D1002103EA0206C1E763
-:101DD000C4F824A0C046C046EFF3108972B621694A
-:101DE00060690140A069014201BFE169206A0142C6
-:101DF00000F0A5FF89F31088C046C046A561BDE884
-:101E0000F38738B51446EFF3108572B600F052F838
-:101E1000274941F8204085F3108831BD10B500F006
-:101E20000BF804431C6153F83140204343F8310060
-:101E3000FFE782F3108810BDEFF3108272B61B4BE0
-:101E40001C697047EFF3108172B6184A536923EA90
-:101E5000000005E0EFF3108172B6144A536918438D
-:101E6000506181F310887047EFF3108172B60F4A0A
-:101E7000D3691843D061F4E7F8B50C4C656A276A5A
-:101E80002E4615F1010F0EBF0025012101FA05F5BF
-:101E9000206202E0284600F053FF216AE069084210
-:101EA000F8D088436662E0612762F1BD9820002087
-:101EB0000022002002460020110C090404BF10205B
-:101EC000120412F07F4F04BF083012020FF2180103
-:101ED00012F0704F04BF001D1201120FC0F11F005D
-:101EE000895C401AC0B2704704030202010101017B
-:101EF00000000000000000001FB500F038F84FF6A9
-:101F0000524000F080FF14B19DF80F0020700EE0E9
-:101F10001FB5002408B10090042409B10191241DCB
-:101F20006B466A46E1B24FF6544000F06CFF9DF8F4
-:101F30000E0004B010BD00F066FF9DF80E0005B065
-:101F400000BDF8B500F014F84FF65A40F3E7F8B5C5
-:101F500000F10C026B4624214FF66640EBE7F8B522
-:101F600000F10C026B460F214FF66840E3E7044690
-:101F70006B4600220021704710B55049504C4FF479
-:101F80000040086000F08EFF606840010ED5606878
-:101F9000C0000BD400F0B2FF00F0B0FF206840F4A6
-:101FA00080302060216821F48031216000F013F836
-:101FB00000F057F84348016800220260026902F00D
-:101FC0005002026100F028F800F015FE4FF0FF30DB
-:101FD000FFF7B2FEFAE73C4881B0016841F4801196
-:101FE00001603F21006800F480100090009837489D
-:101FF00041604161016841F47C110160026942F471
-:102000007C120261016841F03F010160026942F007
-:102010003F02026101B0704710B500F06FFF00F0A1
-:102020006DFF27482A4C016821F4407141F480710A
-:1020300001600F21026842F400420260254881607D
-:1020400047F6FF71C160046000F082FFCA20606241
-:10205000FF2153206062A068C008C000A0606162D8
-:1020600010BD80B500F04AFF00F048FF1448016839
-:1020700041F00101016001688907FCD5416821F444
-:10208000404141F48041416001BD38B50446FEF74E
-:1020900071FF14F1010F054609D000F017FF241855
-:1020A00005E00D48016821F00401016030BFFEF732
-:1020B00061FF401BA042F4D331BD00001040005826
-:1020C000900000588008005850000058040C005838
-:1020D000002800400C23002010ED00E072B6FEE75F
-:1020E00000B587B000F010F8012003220690ADF88B
-:1020F0000420ADF8062000F011F800284CBFFF20A6
-:102100009DF8000007B000BD00208DF800001822E7
-:10211000002101A800F0C6BF03900691CDF814D0AD
-:10212000002101A8FFF75BBD18B50C46C7B01146EA
-:1021300000228DF800208DF81C008DF81D402246ED
-:102140000DF11E0000F0A8FF00F02AF83F200C213E
-:10215000ADF80400ADF8061007A801210390069120
-:10216000A41C049400F02CF800284CBFFF209DF81C
-:10217000000048B010BD00B5C7B000F00AF80F204D
-:1021800000F013F800284CBFFF209DF8000047B076
-:1021900000BD00228DF800208DF81C008DF81D1068
-:1021A0001822002101A800F07DBFADF8060007A9A4
-:1021B000022004903F22012003910690ADF80420F4
-:1021C000CDF814D0002101A8FFF709BD00B587B0F4
-:1021D00000208DF8000000F0E0F840F20110ADF8AA
-:1021E00006003F220120069000F013F900284CBFA2
-:1021F000FF209DF8000007B000BD2DE9F84107461B
-:102200000128C7B0884615461E4608BF022003D0E5
-:1022100002280CBF102000200DF11D010C1800F049
-:1022200036F8012F8DF81C7002D0022F18D019E05B
-:1022300002273A4641460DF11D0000F02DFF2570A2
-:10224000667000F0AAF83F204FF4817100F016F894
-:10225000FF1C049700F0DFF8002805D5FF2009E0F7
-:102260001027E6E7472005E09DF8000010B94E98DA
-:1022700000F067F8FFE748B0BDE8F081ADF8040072
-:10228000ADF8061007A803210390069170470322BA
-:102290000021684600F006BF2DE9F64F0C460546C2
-:1022A000012CC7B09B4608BF022003D0022C0CBFF4
-:1022B000102000200DF11F010E18FFF7E8FF012C80
-:1022C000ADF81C508DF81E4002D0022C2CD02DE011
-:1022D0000227569C559DDDF85091DDF84CA1DDF8A4
-:1022E000488148993A4600F054F8A6F800B086F8BC
-:1022F000028086F803A086F804907571B47100F02E
-:102300004CF83F20ADF804004FF4827107A8ADF8F7
-:102310000610039003210A370497069100F07BF81A
-:10232000002805D5FF2009E01027D2E7472005E067
-:102330009DF8000010B9579800F003F849B0BDE8C7
-:10234000F08FBDF8011001800020704730B5C7B094
-:102350001C464A9B00F049F800258DF800508DF886
-:102360002140224619460DF1220000F095FE00F0B2
-:1023700014F83F204FF4837100F042F8A41D049438
-:1023800000F049F800284CBFFF209DF8000047B03E
-:1023900030BD0DF11F0000F07FBE1822002101A802
-:1023A00000F080BE78B5C7B04C9C4D9D00F01DF884
-:1023B00000268DF821308DF800608DF822402246ED
-:1023C000294600F019F8FFF7E8FF3F204FF493711A
-:1023D00000F016F8E41D049400F01DF800284CBF2E
-:1023E000FF209DF8000048B070BDADF81C00ADF8AE
-:1023F0001E108DF8202070470DF1230000F04CBE18
-:10240000ADF80400ADF8061007A80121039006916D
-:102410007047ADF80420CDF814D0002101A8FFF7D3
-:10242000DEBB2DE9F84DC7B09446DDF840E1519A86
-:10243000559D569EDDF84CA1ADF81D108DF81C0081
-:102440004FF0000BADF81FC08DF821308DF822E061
-:1024500000F024F800F017F824F8095F668000F017
-:10246000CCF83F20832100F0ECF8574406910D375B
-:10247000049700F0CEF800284CBFFF209DF8000024
-:1024800048B0BDE8F08D88F800A007AC5499E41975
-:10249000524608F10100544400F0FEBD8DF823209F
-:1024A000174652998DF800B00DF1240809A8B844D8
-:1024B00000F0F2BD00B5C7B000F00CF8852000F0C8
-:1024C00090F800F0A3F800284CBFFF209DF8000012
-:1024D00047B000BD00218DF81C008DF800101822B7
-:1024E00001A800F0DFBD2DE9F841C7B04FF00008AA
-:1024F00000F026F80DF12300DDF844E14E9F4F9ED9
-:10250000509D529C8DF81F30C0F800E08DF800807F
-:102510008DF820708DF821608DF822508DF82740BD
-:1025200000F06BF88620ADF8060007A90C2000F03B
-:1025300069F800284CBFFF209DF8000000F08DB81E
-:102540008DF81C0007A8417082707047F8B5C8B0BC
-:1025500005460E4617461C4600F023F808A84670AC
-:1025600087708DF8205000F067F88A21ADF80A10C6
-:102570003F20032100F053F8002848BFFF200ED46D
-:102580009DF8000058B94F994E98BDF8012022805F
-:10259000BDF803200280BDF805000880002049B086
-:1025A000F0BD07220021684600F07CBD18B5C7B019
-:1025B000044600F01EF88DF81C40224600F049F851
-:1025C00000F01BF83F208E2100F04AF8641C0494B0
-:1025D00000F01FF800284CBFFF209DF8000048B015
-:1025E00010BDADF8060007A901203F220391049019
-:1025F000704700208DF8000070471822002101A8C4
-:1026000000F050BD04903F22012003910690ADF8E8
-:102610000420CDF814D0002101A8FFF7E0BAADF8EE
-:102620000800059108A8072104900791CDF818D05B
-:10263000002102A8FFF7D3BA1822002102A800F057
-:1026400031BDADF80400ADF8061007A801210390D4
-:1026500070470DF11D0000F01FBD48B0BDE8F081CE
-:10266000ADF80400ADF8061007A80121039006910B
-:10267000704700001C490020087700221B480270A8
-:1026800000F036B818490A7F41F82200087F401C44
-:102690000877704770B504466078FF2802BFB4F829
-:1026A000031001F47F41B1F5406F12D100260E4DA9
-:1026B00000E0761C297FF0B288420AD2F1B255F8C8
-:1026C0002110204688470100F3D002D0022805D00F
-:1026D00006E02046BDE87040FFF734B9002070BD29
-:1026E000012070BD00000000542300201C240020A5
-:1026F00080B5C046C046C046C046C046C046C0467B
-:10270000C046C046C046C046C046C046C046C04699
-:10271000C046C046C046C046C046C046C046C04689
-:10272000C046C046C04600F019FDC046C046C0467F
-:10273000C046BDE8014000F089BD0000DFF800F0B0
-:10274000692000202DE9F0413C4F064638780128E9
-:10275000884614461D4608BF02201BD0012139704F
-:102760000020786000F018F8010011D1012E2246F7
-:102770002B46404602D100F054F802E01146FFF724
-:10278000DDFF00F009F82E490A6822EA06060E600D
-:1027900000213970BDE8F0814FF47A7018E02A49C1
-:1027A000CA680020002A07D5284B294A0B600A6016
-:1027B000C968002948BF0120704721490A6842F0D2
-:1027C00000420A6000200968002958BF01207047B4
-:1027D00070B50546FEF7CEFB06461A4C2068C103CD
-:1027E00011D5FEF7C7FB801BA842F7D3032070BDAD
-:1027F000124920604860012070BDFEF7BBFB801BC2
-:10280000A84209D3F2E72068C10744BF0121216033
-:102810004CF2FA310840EBD120684103EDD400209E
-:1028200070BD10B506490C6844F001040C6040F816
-:10283000042BBFF36F8F036010BD000098230020AE
-:1028400014400058104000580840005823016745C4
-:10285000AB89EFCD2DE9F04100F053F8884608BF71
-:1028600002204CD000F052F800F055F8010044D19D
-:102870002968DFF8C470022919D14FF0FF32C8F877
-:1028800000206E6800E0761C6968AA6851188E42C4
-:1028900008D2304600F043F800F03DF80100F2D0D5
-:1028A000C8F800607A69DFF894100A407A613968E4
-:1028B0008A050FD53A6822F400723A60396841F40B
-:1028C000006139603A6822F400623A60396841F484
-:1028D000007139603A6851050FD5396821F480617B
-:1028E00039603A6842F480523A60396821F4805184
-:1028F00039603A6842F480623A6000212170BDE894
-:10290000F081104C054620780128704700200121F5
-:102910006060217070474FF47A70FFF759BF084923
-:102920000A6822F4FF6242EAC00242F4803242F0B6
-:1029300002020A60704700000040005805F8FFFFDF
-:10294000144000589823002001460648064AC379DF
-:102950008B4218BF904218BF0838F8D18B4218BF7D
-:1029600000207047F873FF1F0070FF1F02490160CD
-:1029700002490161704700BF3F2A0008652A00082C
-:10298000006040607047EFF3108172B602688242C7
-:102990000CBF012000201CE0EFF3108272B6036828
-:1029A0000B60486001600868416023E0EFF310822B
-:1029B00072B6086043684B6041604868016019E086
-:1029C000EFF3108172B642680368136002684368CF
-:1029D000536081F31088704710B5EFF3108472B61E
-:1029E00002680A600068FFE7FFF7EAFF84F31088D7
-:1029F00010BD0B6082F310887047000000F09CBC93
-:102A00006C486D49016001F12002426001F1300221
-:102A1000826001F13C02026201F14402426201F172
-:102A20004C02C26001F15402026101F17002426184
-:102A300001F1740282618031C16100F09BBC38B544
-:102A400004465E4D2846FFF79BFF5A484068A16840
-:102A50000160E168C16085605949416000F0A6FCF1
-:102A600058482AE080B5534842681368012119721A
-:102A7000406800F0A1FC002002BD38B5514C4F4D1C
-:102A800004E000F041F80098216888472846FFF7E5
-:102A90007AFF0028F5D031BD4A484168084738B56B
-:102AA0000446494D2846006040604248C068A1681D
-:102AB0000160456000F085FC444821680160616860
-:102AC0004160002032BD80B53A48C26813681021C9
-:102AD0001972C06800F07BFC002002BD35483B4AFB
-:102AE000C168C16813680868184738B5374C364D57
-:102AF00004E000F009F80098616888472846FFF76D
-:102B000042FF0028F5D031BD69462846FFF764BF73
-:102B100038B504462E4D2846FFF732FF2D48006099
-:102B2000406024480069A1688160E168C160056176
-:102B30002168016061684160216941616169816169
-:102B400031BD80B501462348FFF730FFBDE80240A4
-:102B50000FF2050000F04BBC38B5164C1D4D06E0D9
-:102B6000FFF7D2FF009920690069FFF71FFF284691
-:102B7000FFF709FF0028F3D031BD10B5164C2046F1
-:102B8000006040600B4841690C60BDE8104000F0F7
-:102B900042BC1CB5104C06E069462046FFF71CFFFE
-:102BA0000098C046C0462046FFF7EDFE0028F3D04F
-:102BB00013BD000000000320AC090320480A0320D5
-:102BC00090080320F4230020500A0320FC23002057
-:102BD000380A0320EC230020400A0320BFF34F8F64
-:102BE000264927480A6802F4E06202430A60BFF3FC
-:102BF0004F8F00BFFDE710B52248234C88B0016815
-:102C000041F400410160FFF77BF820480168C908E2
-:102C1000C90041F00401016000F016FC1C490020CD
-:102C2000FEF79FFC00F04DFC01210120FFF76DF83D
-:102C300000F076F8FFF7E4FE164A00210220FFF7C5
-:102C4000E0F804F23C500FF2510100900191694606
-:102C50000FF2490000F082F804F25470029004F57B
-:102C6000C96140F23C5005900391049402A8FFF71B
-:102C70004FFFFFF7C3FE08B010BD00000CED00E0F1
-:102C80000400FA05080000583000032080040058B2
-:102C90000C2300209F2D00087047000038B5054622
-:102CA000686830F80B1FB1F5124F12D180784FF0E1
-:102CB000005478B92178022908BF20702DD000F087
-:102CC0000FFC00210120FFF720F8FEF763FD012033
-:102CD000287031BD0020FFF70FF9FF281DD042F208
-:102CE000107588B92078022808D100212170FFF7DB
-:102CF00028F90121002000F007F9FAE702202070EE
-:102D000000210020FFF704F92846FFF7BEF9002054
-:102D1000FFF7F2F810382028F6D3FFF75FFF00BF67
-:102D200080B50121002000F000FD0121012000F00C
-:102D3000FCFCBDE804400121022000F0F6BC704715
-:102D40004FF0FF30FEF7F8BF00210220FFF766B812
-:102D50000220FFF789B80220FFF78EB87FB50C4636
-:102D60004D4D61684D4EE8612962284600F044FDF2
-:102D70002468746006F1080000604060012000F0E3
-:102D800068F801203070296841B10FF2E9000FF2B4
-:102D9000ED02009001920294684688477FBD1FB5FE
-:102DA0003E4C04F10800FFF7EEFD00BB2178F1B1C5
-:102DB000694604F10800FFF70FFE3748C16949B1C1
-:102DC0000098029001228DF8042001A888479DF800
-:102DD000040000E001202070207818B10098FFF76F
-:102DE000B0FE04E0009904F10800FFF7D5FD04F1FE
-:102DF0000800FFF7C8FD28B9207818B104F10800D1
-:102E0000FFF7A2FF1FBD2DE9F04105460E46904693
-:102E10001C46002000F01DF8204F7868A0F80950EB
-:102E2000C672324641460C30FEF732FE1A4A13692A
-:102E300000210020984748F2E800FFF78CFF7968EE
-:102E40008A78D21C04F10800FEF722FEBDE8F041AA
-:102E500001201CB51049124C096A20B901B18847FC
-:102E60000020207013BD0120207011B1BDE81C406E
-:102E7000084713BD0020FFF76BBF000010B50146E7
-:102E8000064C04F10800FFF791FD04F10800BDE8CD
-:102E90001040FFF759BF000030230020C02300205E
-:102EA0001D240020114810B5016841F480710160B3
-:102EB0000320FEF778F8002000F0A8FC002400288A
-:102EC00014BF012400F018F8204610BD084800780F
-:102ED0007047084805E00748016841F002010160B9
-:102EE0007047016841F001010160704700400058DF
-:102EF000D0200020042004E0704700001148016841
-:102F000041F480710160704710B50C460E490028ED
-:102F1000086805D1810507D500F0A2FA20B110BDDF
-:102F2000810558BF00F096FA0848016821F00401B5
-:102F3000012C016001D130BF10BD40BF20BF20BFB8
-:102F400010BD0000000400581404005810ED00E00B
-:102F500038B5040044D094F8210028B9002184F841
-:102F600020102046C046C04600F049F8FF2510B1A9
-:102F700000F03FF834E02168DFF8B0008A680240D2
-:102F80008A6021688A68636820690343A0690343F3
-:102F90001A438A602168E068086120680169A268B4
-:102FA00041EA024101612068C16821F08001C160ED
-:102FB0002068C16C21F00201C1642168CA6CE36918
-:102FC000606903431A43CA6420688168880609D48B
-:102FD00000F020F830B120684562042100F01FF8AD
-:102FE000012032BD20684562012184F821100020B3
-:102FF00032BD20684562042184F821107047022008
-:1030000084F82100CA202168486253202268506257
-:10301000204626E020460BE02068C0F8248084F893
-:103020002110002084F8200070470000BFFF8FFFB0
-:1030300070B5044640F2E9362068C16821F0A0016D
-:10304000C160FDF797FF05462068C168880606D471
-:10305000FDF790FF401BB042F6D3032070BD002067
-:1030600070BD70B504462068C1684A0612D44FF09E
-:10307000FF32C26040F2E936FDF77CFF054620686A
-:10308000C168480606D4FDF775FF401BB042F6D371
-:10309000032070BD002070BD10B50446FEF7F8FC9B
-:1030A000204610BD10B5044610460A46014620468B
-:1030B00000F0CEFB204610BD1FB541780024FF294B
-:1030C00049D1B0F803104F4A40F60143C91A04D061
-:1030D00012392ED0091F1AD03DE05388B0F80710DE
-:1030E0005B1C99420BD100218DF80C1000F10D02F0
-:1030F00002920124B0F80B108DF80D1015E0D28863
-:10310000521C914227D101248DF80C4006E0117A1F
-:1031100009B31472032101248DF80C1000F10D0283
-:103120000292B0F80B008DF80D0002A800F0D4FB5D
-:1031300011E0D288B0F80710521C91420BD100F177
-:103140000A0301930023427A00920022B0F805009E
-:10315000FFF728F90124204604B010BD10B586B051
-:103160002948284CFFF78EFA0094082301220FF219
-:103170009C010220FFF741F8002104910191A01C5D
-:1031800005900A2201230421039202930091042353
-:1031900020880FF288020221FFF77EF800210491B7
-:1031A00002910191201D05900A2220210392009195
-:1031B000012320880FF274020221FFF76DF8A01D91
-:1031C00005900121049100200A220323019004218B
-:1031D000039202930091142320880FF260020221CF
-:1031E000FFF75AF80020207206B010BD80B500919C
-:1031F0000122044881880272012300880022FFF71F
-:10320000A5F802BDD0230020B93000088FE5B3D562
-:103210002E7F4A982A487ACC20FE000019ED82AE13
-:10322000ED214C9D4145228E22FE000019ED82AE1B
-:10323000ED214C9D4145228E23FE000019ED82AE0A
-:10324000ED214C9D4145228E24FE00007047000078
-:10325000C0680840884201D10120704700207047B3
-:10326000C0690840884201D10120704700207047A2
-:1032700010B56C4C02212046FFF7F2FF38B16068B0
-:10328000C043810703D5FFF730FC022018E001217D
-:103290002046FFF7E5FF38B16068C043C10703D59A
-:1032A000FFF7EBFB01200BE008212046FFF7D8FFDA
-:1032B00038B16068C043010703D5FFF76AFC0820F6
-:1032C000A06010BD10B5574C00F033F818B9606815
-:1032D000C043810306D400F02CF830B96068C043C5
-:1032E000810302D5BDE810407AE0082100F022F801
-:1032F00070B96068C04301030AD560684A4940F468
-:1033000000206060086880474FF40020A06010BD76
-:10331000202100F00FF858B96068C043810207D53A
-:10332000606840F400106060BDE81040FFF7B4BB77
-:1033300010BD022120468BE73C4881B0016841F472
-:1033400080110160006800F48010009000983848F7
-:10335000016841F4007101603648026842F400726D
-:10336000026040BF20BF3448016841F40041016061
-:1033700001B0704780B53148016841F480110160A7
-:10338000006800F48010009000982648016841F021
-:1033900001010160026842F4803202602C20FDF7D6
-:1033A0002DFEBDE802402D20FDF728BE244801680F
-:1033B000490849000160704722494FF48030086095
-:1033C00070471F48016821F00201016070471C48E6
-:1033D0004FF400314160016821F400310160704711
-:1033E0001748016841F400310160FFF777BB38B539
-:1033F00004460C4D08212846FFF72AFF30B10A4841
-:103400000460686820F40020686031BDA0474FF474
-:103410000021A96031BD0A48016821F0080101605E
-:1034200070470000000C00580C2400205001005888
-:10343000D4080058200800580C04005850000058C8
-:10344000040C0058080C00581348016841F400713E
-:10345000016070471148016841F480410160704784
-:1034600010B50E4A0E4B106820F4804010603221D7
-:103470001C680C48B4FBF0F0484351698B0506D535
-:10348000002818BF401EF8D101E0002010BD50698F
-:103490008105FAD5032010BD080400580004005827
-:1034A000DC20002040420F00484900E0484981B03C
-:1034B0000A6802430A60096808400090009801B059
-:1034C000704780B5FFF705FDFFF705FD414801682E
-:1034D00041F48031016000F0DDFABDE801400EE00A
-:1034E00000B587B068460FF210211C22FEF7E0FA03
-:1034F000FFF743FB6846FEF732FD07B000BDF0B5AD
-:1035000085B068461421FDF73BFD00260025002408
-:1035100000210FF2D40000EBC102907988B113684A
-:10352000B3F1904F08D02C4FBB4208D02B4FBB4279
-:1035300004BF9088044304E09088064301E090882B
-:103540000543491C2229E4DB0020029001210320CD
-:1035500003900191B0B288B100900120FFF7A4FF61
-:103560000120FFF7A3FF69464FF09040FDF79CFD57
-:103570000022B1B24FF09040FDF74EFEA8B280B1EC
-:1035800000900220FFF790FF0220FFF78FFF124EFE
-:1035900069463046FDF788FD0022A9B23046FDF7A6
-:1035A0003BFEA0B280B100900420FFF77DFF042015
-:1035B000FFF77CFF094D69462846FDF775FD00229F
-:1035C000A1B22846FDF728FE05B0F0BD4C0000581A
-:1035D0004C010058900800580004004800080048BA
-:1035E0000020FDF73CB90000000000480100000089
-:1035F0000000004801000000000000480100000039
-:103600000000004801000000000000480100000028
-:103610000000004801000000000000480100000018
-:103620000000004801000000000000480100000008
-:1036300000000048010000000000004801000000F8
-:1036400000000048010000000000004801000000E8
-:1036500000000048010000000000004801000000D8
-:1036600000000048010000000000004801000000C8
-:1036700000000048010000000000004801000000B8
-:1036800000000048010000000000004801000000A8
-:103690000000004801000000000000480100000098
-:1036A0000000004801000000000000480100000088
-:1036B0000000004801000000000000480100000078
-:1036C0000000004801000000000000480100000068
-:1036D0000000004801000000000000480100000058
-:1036E0000000004801000000000000480100000048
-:1036F0000000004801000000000000000000000081
-:1037000000000000E8350008280003202C000320FA
-:1037100022040400294981B00A6802430A6009684A
-:1037200008400090009801B07047F0B585B005469C
-:103730000C4668461421FDF723FC2DB1012D08BF6E
-:10374000102002D0022D02D10120FFF7E3FF0FF27B
-:103750008C001B4F30F815000090012102200390CF
-:1037600007EB8506029130682CB90021019169466A
-:10377000FDF79AFC1FE01349019107EBC504694668
-:10378000FDF792FC0FF2600050F8251004F12400C0
-:1037900000F099F9F268002104F1240000F08CF99E
-:1037A0000FF240004457B16900222046FDF708FCA3
-:1037B0002046FDF723FC002005B0F0BD4C0000586A
-:1037C0002C20002000002110002000F013B8012060
-:1037D00000F010B8022000F00DB800000100100049
-:1037E00040000000060A1700000000160400001642
-:1037F000060000167047000002490160024901619D
-:10380000704700BF9F2A0008C72A000870B50F4EF6
-:10381000044630780025A8B1FDF761FA32784FF4FC
-:103820007A71B1FBF2F1B0FBF1F0FDF701FC48B9A0
-:10383000102C07D2002221464FF0FF30FDF7C0FBCD
-:10384000B46000E00125284670BD00BFD0200020F4
-:1038500062F30F2262F31F42401810F0030308D0F6
-:10386000C91A1FD3DB0748BF00F8012D28BF20F875
-:10387000022D130030B414461546103928BF20E934
-:103880003C00FAD8490728BF20E90C0048BF40F89F
-:10389000042D890028BF20F8022D48BF00F8012D13
-:1038A00030BC7047C91818BF00F8012DCB0728BFDE
-:1038B00000F8012D7047000000EB8100644AD0F849
-:1038C0008010914201D0012070470020704742F4DF
-:1038D000806240F8212070472DE9F8430546DFF863
-:1038E00074912879DFF870815C4E20B1012825D0D1
-:1038F000032869D010E029680A78012A4FF0006097
-:1039000004D0022A0AD0072A10D005E00022306035
-:10391000727400F0B4F83274BDE8F18301213060B4
-:10392000717400F0ACF800203074F5E701228DF8D6
-:10393000002069460220FFF759FCEDE76C7900276B
-:1039400002214046FFF7B8FF0028F9D1FEF727FF14
-:1039500022E0296806F1080339441844FEF798F874
-:1039600000F086F8D6E9022331680120FEF7EAFE6E
-:10397000D6F800C0D6E90201DCE900238B4208BF7B
-:10398000824209D10CF108003060307CC0F108009F
-:10399000241AC71900203074307CC0F10802944208
-:1039A000D7D2FEF70AFF00F05FF8002CB4D02868E9
-:1039B000337CC11906F1080022461844FEF768F866
-:1039C000307C24183474A7E7307C10B3C0F10801B0
-:1039D00006F10803FF221844FFF73AFF0221404690
-:1039E000FFF76AFF0028F9D1FEF7D9FE04E000F0E6
-:1039F0003FF80120FEF7A6FE3168D6E90223D1E99F
-:103A000000459D4208BF9442F1D1FEF7D6FE00F07A
-:103A10002BF8707C90B10128D5D14FF000510020D7
-:103A20000870BFF34F8F0E490E480A6802F4E06237
-:103A300002430A60BFF34F8F00BFFDE7FEF75CFA59
-:103A40000020FEF759FA01210020FFF75DFAFAE79E
-:103A5000000400801040005800140058802300200B
-:103A60000CED00E00400FA050022022140462EE79A
-:103A7000D9F80000C00C10F00100F9D17047286897
-:103A8000C178317029688878707028684178B17081
-:103A90007047000080B5FFF7A3FD022100910023CD
-:103AA000044800F124014FF48052001D00F011F889
-:103AB00001BD0000081000200346002009B95A602B
-:103AC00070470120704708B901207047016000204D
-:103AD000704710B5029C016042600021C160016125
-:103AE000416181610381A107047704D5008910B188
-:103AF0004FF0FF3010BD002010BD00004748484A7D
-:103B000001681268B1F1006F0AD3120302F47F2238
-:103B1000444882188A4203D308684349884201D046
-:103B2000002070470120704780B540494048086038
-:103B3000016881F308884068804730BF01BD10B537
-:103B4000FFF7DCFF4FF0005420B100202070BDE8EB
-:103B50001040E9E7012020700E206070FF20A07067
-:103B600010BD38B5334C2068C00002D420688001F5
-:103B70001AD54FF00055287828B9FFF7BFFF10B1CC
-:103B8000FFF7D2FF12E0287848B9FFF7B7FF30B946
-:103B9000012028700E206870FF20A87006E02878A9
-:103BA000012818BF022801D0FFF7C9FF2248016889
-:103BB00041F4700101600020FEF7C6FE40B180793B
-:103BC0001E49A160A16821F47C5141EA0021A16055
-:103BD0004FF0B040016841F48031016018490A6833
-:103BE000D208D20042F001020A600A6802F007021D
-:103BF000012AFAD101688903FCD581688908890006
-:103C000041F002018160816801F00C010829FAD1BC
-:103C1000016849084900016031BD00004071000899
-:103C200080400058FCFFFF07298A449408ED00E01B
-:103C3000007000089400005888ED00E0FECAFECA3B
-:103C400000400058010000000300000005000000D3
-:103C50000100000001000000060000000A00000052
-:103C60002000000002000000040000000800000026
-:103C70001000000040000000800000000001000073
-:103C800000020000A0860100400D0300801A06001B
-:103C900000350C0040420F0080841E0000093D00EA
-:103CA00000127A000024F40000366E010048E8019A
-:103CB000006CDC02000000000000000000000000BA
-:103CC000000000002DE9FC4D016800F108054908DD
-:103CD00005EBC102019200F10802406800F0010A00
-:103CE00002EBC108400808EBC00B00200021019A3C
-:103CF00095422FD02A68AE186A683244009208357F
-:103D0000009A9642F3D016F9014B009A964205D1DB
-:103D10002A68AE186A6832440092083516F8017BAA
-:103D2000884210D1D84508BF00F01AF8D8F8000032
-:103D3000D8F80410BAF1000F18BF48440144884273
-:103D400008F10808EED0002C00F8017B05D5641CB2
-:103D5000E6D1D5E75846BDE8F68D641ED5D5CFE748
-:103D6000012000F001B8000080B5AFF30080024AE6
-:103D700011001820ABBEFBE72600020000F024F87B
-:103D8000012810D00D4880470D480047F0B5434644
-:103D90004C4655465E466746F8B40A4C6B4623606F
-:103DA000BFF34F8F30BF074C2468A546F8BC984638
-:103DB000A146AA46B346BC46F0BD0000633B0008DE
-:103DC0003F3F00081424002002490020086070478B
-:103DD000000000001824002019E050F8042BD3073D
-:103DE00044BFA9F101039A18091F0023042942F8CE
-:103DF000043BF9D25FEA817C134604D54FF0000CF6
-:103E0000A2F800C09B1CC90744BF0021197050F8DC
-:103E1000041B0029E1D170477047FEE770477047E7
-:103E2000704700F00FB87047704770470020FCF7EC
-:103E30002CBD0020FCF72FBDFDF743BBFFF742BAB6
-:103E4000FFF716BA02484168027889184160704746
-:103E5000D020002010B5074979441831064C7C4425
-:103E6000163404E00A68081D114488470146A1423F
-:103E7000F8D110BD2C000000780000004EF68851EB
-:103E8000CEF20001086840F470000860BFF34F8F65
-:103E9000BFF36F8F4FF00070E1EE100A7047000023
-:103EA00039FFFFFF40030000E02000207008000001
-:103EB00030000320000000000DFEFFFF02000000A4
-:103EC000020000002A010000020000002800032078
-:103ED00008000000F1FDFFFF0200000002000000EA
-:103EE00010010000AF00000008100020D8100000F2
-:103EF00000000000000000000000000000000000C2
-:103F000001000000020000000300000004000000A7
-:103F10000120C046002801D0FFF79CFFAFF30080CE
-:103F20000020AFF30080FEF727F800F000F800F063
-:103F300001B8000007463846FFF716FFFBE7AFF36E
-:103F40000080FFF79BFFFFF7E3FFFFF7FEBFFFF7E0
-:103F5000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF795
-:103F6000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF785
-:103F7000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF775
-:103F8000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF765
-:103F9000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF755
-:103FA000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF745
-:103FB000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF735
-:103FC000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF725
-:103FD000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF715
-:103FE000FEBFFFF7FEBFFFF7FEBFFFF7FEBFF80003
-:103FF0000001810081008100810081008100810039
-:1040000081008100810081008100810081008100A8
-:104010008100810081008100810081008100810098
-:104020008100810081008100810081008100810088
-:104030008100BA00044800100048FD000D48C9374F
-:104040000008CF370008D53700080FFD00000FFD2E
-:1040500000000FE5002F30B50A4B5A6842F4802269
-:104060005A60EFF3108472B6802251F8045B40F876
-:10407000045B521EF9D11868C103FCD484F3108884
-:1040800030BD10400058EC00F8FFF400030DFF01B4
-:0F40900086F4000001F9000010FC0002093D0059
-:0400000508003F3F71
+:1001900000F0D5BB24206860206801684908490048
+:1001A0000160204600F066B92068016841F0010155
+:1001B000016020467047204600F064BA216851E88B
+:1001C000002F7047206800F1080151E8001F00F17E
+:1001D000080221F0400142E8001000287047F8B5FD
+:1001E000044640F60F002668F1693268B36808409B
+:1001F00004F15C050ED1880602D5900602D4D80021
+:1002000040F181806969002900F029812046BDE81C
+:10021000F4400847DFF89006034204BFDFF88C760D
+:100220003A4270D0CF0707D5D70505D501273762E9
+:100230002E6B46F001062E638E0708D5DE0706D525
+:10024000276802263E622E6B46F004062E634E0798
+:1002500008D5DE0706D5276804263E622E6B46F0D9
+:1002600002062E630E070AD5960601D4034206D075
+:10027000266808203062286B40F0080028630805D3
+:1002800009D5500107D526684FF400603062286B0D
+:1002900040F020002863286B002833D0890607D55A
+:1002A000900601D4D80003D5696909B12046884772
+:1002B000286B21688A68510602D410F0280F1CD0E0
+:1002C000204600F0C7FA00F0D1F811D5FFF77AFF09
+:1002D000FCD1286A60B10FF2DD518163286A00F019
+:1002E0003AFC00280ED0286A816BBDE8F44008472C
+:1002F0002046BDE8F24000F0F5BC204600F0F2FCDC
+:1003000000202863F1BD286901286AD1CF0668D58D
+:10031000D00666D51020306200F0A8F82DD5296AE5
+:100320000868406880B20028ECD02A889042E9DA58
+:100330006880086801688A061BD4FFF73FFF22F433
+:10034000807200F08FF8F8D1206800F077FAFBD1C6
+:10035000FFF738FFFCD12020E86200202861FFF77A
+:100360002DFF22F0100200F07DF8F8D1286A00F08D
+:10037000BCFB29886888091A2DE028886988411AF9
+:10038000688800281CBF88B2002868D0226852E81C
+:10039000003F23F4907342E800300028F6D1206833
+:1003A00000F1080200F1080352E8002FDFF8B8025C
+:1003B000024043E800200028F1D12020E86200201C
+:1003C00028616861226852E8003F23F0100342E888
+:1003D00000300028F6D12046BDE8F44089B200F094
+:1003E00082BCC80209D5580207D54FF4801030628C
+:1003F0002046BDE8F24000F077BC080609D510069B
+:1004000001D4180205D5A96949B32046BDE8F440D6
+:100410000847480611D550060FD5FFF7CFFE22F04A
+:10042000400200F01FF8F8D12020A8620020A86147
+:100430002046BDE8F24000F0E6BA080206D55000BA
+:1004400004D52046BDE8F24000F04FBCC80148BFCB
+:10045000002A04D52046BDE8F24000F047BCF1BDBB
+:1004600022F4F07241E8002000287047206881687B
+:1004700048067047F8B50446DFF848042168DFF8FD
+:1004800048C40A68DFF844740240A0680243206947
+:10049000024360690243E06902430A6000254A683A
+:1004A000E06822F4405202434A60A369DFF8202446
+:1004B00091421CBF206A03438E68DFF8180406408F
+:1004C00033438B600FF2A416CB6A606A1B0940EAC3
+:1004D0000313CB626145DFF800044FF4004339D1C8
+:1004E0003F6807F00307032F4DD8DFE807F0024607
+:1004F00043494FF0010CE169B1F5004F4FF6F07739
+:1005000040F08080BCF1010F09D0BCF1020F0AD08D
+:10051000BCF1040F71D0BCF1080F71D099E000F06C
+:1005200042FC002815D0626A616836F81230B0FBD0
+:10053000F3F04A0802EB4002B2FBF1F080B2A0F106
+:100540001001B942EAD20740C0F3420007432068D5
+:10055000C7607FE0914216D13F6817F4406723D00F
+:10056000B7F5806F09D0B7F5006F03D0B7F5406FCE
+:1005700006D008E04FF0020C07E04FF0040C04E056
+:100580004FF0080C01E04FF0100C9142B3D1BCF1D8
+:10059000000F09D0BCF1020F0AD0BCF1040F15D036
+:1005A000BCF1080F15D054E000F0F5FB002851D045
+:1005B000616A36F81120B0FBF2F6626802EB420184
+:1005C0008E4246D31103B14205D242E000F099FBBE
+:1005D000ECE71846ECE75008002110EB062051EB41
+:1005E0001661002300F0FCFBA0F54071DFF8EC225F
+:1005F00091422ED22268D0602CE000F082FB90E77E
+:10060000184690E7BCF1010F09D0BCF1020F09D0E8
+:10061000BCF1040F18D0BCF1080F18D019E000F09D
+:10062000C2FBB8B1626A36F812306168B0FBF3F011
+:1006300000EB5100B0FBF1F080B2A0F11001B94223
+:1006400007D22168C86005E000F05BFBE9E71846C7
+:10065000E8E7012504F168000121418001800021C3
+:100660008160C1602846F2BDFEFFFFEF010002007D
+:100670000400060008000A000C00100020004000E2
+:100680008000000190F82810CA0706D50268536858
+:10069000C16A23F400330B43536090F828108A0793
+:1006A00006D502685368016B23F480330B43536013
+:1006B00090F828104A0706D502685368416B23F466
+:1006C00080230B43536090F828100A0706D5026870
+:1006D0005368816B23F400430B43536090F8281058
+:1006E000CA0606D502689368C16B23F480530B4396
+:1006F000936090F828108A0606D502689368016C0A
+:1007000023F400530B43936090F828104A0610D549
+:1007100002685368416C23F480130B435360416CAF
+:10072000B1F5801F05D15368816C23F4C0030B43DE
+:10073000536090F828100A0606D501684A68C06C14
+:1007400022F4002202434A607047F8B5044604F1DF
+:1007500080050020E8606FF07E4700F059FC0646F7
+:10076000206801680A0708D50097334600224FF435
+:100770000011204600F017F860B9206801684A07A8
+:100780000AD50097334600224FF48001204600F03E
+:100790000AF808B10320F2BD20206860A86000209C
+:1007A000E0662870F2BD2DE9F041069C05460E4634
+:1007B00090461F462868C1693140B1420CBF0120F4
+:1007C0000020404526D114F1010FF3D000F020FCA9
+:1007D000C01B844200D33CB900F025F800F02DF88E
+:1007E000FCD100F01AF811E0286801684A07E1D549
+:1007F000C1690A05DED54FF40062026200F013F809
+:1008000000F01BF8FCD100F008F8C1600021017075
+:10081000032000E00020BDE8F08105F180002021E8
+:10082000416081607047296851E8002F22F4D0723E
+:1008300041E800200028F6D17047286800F108013F
+:1008400051E8001F490800F10802490042E8001081
+:1008500000287047026852E8003F23F4907342E892
+:1008600000310029F6D1016801F1080201F1080305
+:1008700052E8002F0E490A4043E800210029F2D136
+:10088000C16E012908D1026852E8003F23F010032D
+:1008900042E800310029F6D12021C0F8881000215B
+:1008A000C1660167704700000100001020010004CC
+:1008B000FEFFFFEF806A00F1560100220A810A80E4
+:1008C00000F010BAF369FFCF0038014088000058EB
+:1008D00000800040FFF4FF110024F40000FD0F0031
+:1008E0004E4900E04E4981B00A6802430A60096837
+:1008F00008400090009801B0704798B949484A49AB
+:1009000001604FF4E131416000218160C16001610B
+:1009100081610C2141614FF40041C161002181627C
+:10092000FFF70CBC7047002804BF3E48FFF757BCD8
+:10093000704718B93B48806F00F043B9704738B52D
+:1009400086B004466846142100F068FB2168364AE8
+:10095000914248D10120FFF7C5FF4FF4007000F02D
+:1009600044F80120FFF7BEFF4FF4806000F03DF82F
+:100970002F48304D816A8908890041F00101816268
+:100980000022016841F4804101600F21006800F4F9
+:10099000804005900598242000F060FB242000F0A2
+:1009A0007BFB0120FFF79CFF0420FFF799FF224803
+:1009B00028600F2068601020A8600020E860802078
+:1009C000286100206861A861E8612862284600F07B
+:1009D00035F8A567AC6200220F210E2000F03EFB27
+:1009E0000E2000F059FB07B030BD0090022100201E
+:1009F00001910290032107200391049069464FF072
+:100A0000904000F09FBB00680749884204D1074925
+:100A10000868002818BF00477047000048000058C9
+:100A20004C000058E0200020003801401024002035
+:100A300060000058802200204400024038B50400C5
+:100A400001D1012032BD2168DFF880024018142254
+:100A500004F12405B0FBF2F2DFF87402E8619200C1
+:100A60002A62022068700A68A0686FF30E120243BF
+:100A7000E06802432069024360690243A0690243BF
+:100A8000E0690243206A02430A60204600F0F9F858
+:100A9000A068B0F5804F04BF002161602079696AC9
+:100AA00000F03F0000F014F838B1052805D22046C8
+:100AB00000F0FBF800F012F803E000202863686300
+:100AC000A8630020A861012068700020287032BD52
+:100AD0000860A96AE86A486060687047296B00206E
+:100AE0000860696BA86B4860704781B040B100F145
+:100AF00024014A78022A05D0042088610020087069
+:100B0000012026E00268136823F00E0313604A6A8E
+:100B1000136823F48073136000680268520852005F
+:100B20000260012091F82020CB6902F01C02904065
+:100B300058608A6AC86A5060086B30B1026822F453
+:100B4000807202604A6B886B506001204870002000
+:100B5000087001B0704738B500F1240200245178C4
+:100B6000022903D004209061012428E001680B6869
+:100B700023F00E030B6001680D686D086D000D60B9
+:100B8000516A0B6823F480730B60012192F82030C6
+:100B9000D56903F01C0399406960936AD16A596072
+:100BA000116B31B10B6823F480730B60536B916B45
+:100BB0005960012151701470516901B18847204674
+:100BC00032BDF8B500F124010423CA691468026833
+:100BD000156891F8206006F01C0603FA06F73C42FF
+:100BE00010D06F070ED51468A50603D4156825F03C
+:100BF0000405156000F03DF8C968002938D0BDE84B
+:100C0000F4400847022303FA06F73C4213D0AF072B
+:100C100011D51468A50605D4156825F00A051560D8
+:100C200001224A7000F025F800220A708968F9B1A3
+:100C3000BDE8F4400847082303FA06F6344217D00B
+:100C40002B0715D5136823F00E031360012291F8CA
+:100C50002030CC6903F01C039A40626001228A6153
+:100C60004A7000220A70096911B1BDE8F4400847D2
+:100C7000F1BD91F82020CC6902F01C029340636022
+:100C80007047426C1349920801EB8201816414227F
+:100C900001780839B1FBF2F10F4AC26401F01F017B
+:100CA000012202FA01F10165704701790B4A01F056
+:100CB0003F0102EB81024265491E094A826501F04B
+:100CC000030101228A40C26570470000F8FFFDBFA2
+:100CD000000002400008024080080240FC08024078
+:100CE00040090240704770477047704770470000E6
+:100CF0004FF0B040006800F0F000B02888BFB0208E
+:100D0000704738B54FF0B044304DA16811F00C0178
+:100D100006D1FFF7EDFFC0F3031055F8200032BDF8
+:100D200004292B4A05D008292A4804D12168C90280
+:100D300022D5104632BDE16801F00301022904D03A
+:100D4000032904D12168C90207D5104605E0FFF741
+:100D5000CFFFC0F3031055F82000E168E268E368B4
+:100D6000C1F306214843C2F30211491C5B0FB0FBDB
+:100D7000F1F05B1CB0FBF3F032BD80B5FFF7C1FFB3
+:100D80001149FFE7144A0968C1F3031152F8211011
+:100D9000B0FBF1F002BD80B5FFF7EFFF00F010F8F7
+:100DA000C1F3022106E080B5FFF7E7FF00F008F885
+:100DB000C1F3C22112F8211001F01F01C84002BD89
+:100DC0000149064A0968704708000058A03E00081B
+:100DD0000024F4000048E801603E00080C410008CF
+:100DE000B3BBD9B1B2F5803F7DD2022A1ED98C4661
+:100DF000B1FBF2F102FB11C31B0443EA1043B3FB46
+:100E0000F2FC02FB1C3380B240EA0343B3FBF2F076
+:100E100002FB103240EA0C4000237047022A05D939
+:100E20008446B0FBF2F002FB10C270474AB105D114
+:100E300000F0010249085FEA3000704700220023F9
+:100E4000704700F051BA0B000200002100207047EB
+:100E5000904271EB030CF6D3B3F5803F2FD2F0B57F
+:100E6000B3FA83F7B1FA81F4A7F10F0E3D1B53409B
+:100E7000CEF1200602FA0EF2F3415340B5F10F070E
+:100E800046D80F3C2C444140C4F12006A040F1411B
+:100E90004140B1FBF3F603FB1611A2FB0645001B14
+:100EA000A94102D2761E8018594180EA010221FA36
+:100EB0000EF362FA0EF200215A403046F0BD30B413
+:100EC000B1FBF3FC03FB1C11A2FB0C45001BA94169
+:100ED00003D2ACF1010C8018594130BC02460B46DC
+:100EE000604600217047B2F1807F65D3F0B5B2FA59
+:100EF00082F7B1FA81F4C7F10F063D1B22FA06F31F
+:100F000007F1110EF24120355A40B5F10F07B8D95B
+:100F10004140C4F12006A040F1414140B1FBF3FC47
+:100F200003FB1C11A2FB0C45001BA94103D2BCF121
+:100F3000010C801859410F2F12D30F3FC90341EA0A
+:100F40005041B1FBF3F603FB1611A2FB0645D4EBAF
+:100F5000C030A94102D2761E8018594146EACC3CE5
+:100F600007B34140C7F12006B840F1414140B1FB11
+:100F7000F3F603FB1611A2FB0645001BA94102D2A2
+:100F8000761E8018594180EA010221FA0EF3C7F15A
+:100F9000200462FA0EF20CFA07F05A402CFA04F11F
+:100FA0003043F0BD80EA010221FA0EF3002162FA1B
+:100FB0000EF260465A40F0BD8C46B1FBF2F102FBE6
+:100FC00011C31B0243EA1063B3FBF2FC02FB1C33A8
+:100FD0001B024CEA002043EA1063B3FBF2FC02FB65
+:100FE0001C331B024CEA002043EA1063B3FBF2FC03
+:100FF00002FB1C331B024CEA002043EA1063B3FBE4
+:10100000F2FC02FB1C324CEA002000237047000077
+:1010100001484068704700BFD0200020002200F047
+:1010200065B900000901020081B002D43C48815436
+:1010300005E03C4802F00F02104400F8041C01B027
+:101040007047394A13684FF6FF0100020B4000F465
+:10105000E0601843354908431060704738B5324B9B
+:101060001C68C4F30223C3F10704052C28BF042421
+:101070001D1D072D34BF0023DB1E012505FA04F4D6
+:10108000641E2140994005FA03F35B1E1A40114388
+:10109000BDE83440C6E70000010007D4012200F09B
+:1010A0001F01234B8A40400943F82020704701006C
+:1010B0000BD4012200F01F011E4B8A40400943F867
+:1010C0002020BFF34F8FBFF36F8F704710B5401EC6
+:1010D000B0F1807F01D3012010BD174C60600F215B
+:1010E0004FF0FF30FFF79EFF0022A2600720206034
+:1010F000002010BD010007D4012200F01F010F4B9A
+:101100008A40400943F820207047010007D401229B
+:1011100000F01F010A4B8A40400943F82020704725
+:1011200000E400E018ED00E00CED00E00000FA053E
+:1011300000E100E080E100E010E000E000E200E01B
+:1011400080E200E02DE9F84F4FF00009604A614B62
+:101150004FF00F0805460E4633E05F4FBD4214BF07
+:10116000072704278F4027434CF82E70C1431C6883
+:1011700001EA040C7468E40248BF40EA0C0CC3F8AE
+:1011800000C05C6801EA040C7468A40248BF40EA2D
+:101190000C0CC3F804C0146801EA040C7468E4037E
+:1011A00048BF40EA0C0CC2F800C0546801EA040CC5
+:1011B0007168890348BF40EA0C0CC2F804C009F109
+:1011C0000109316831FA09F078D0012404FA09F4F0
+:1011D00014EA0100F3D04FEA490C032101FA0CF1A3
+:1011E0006FEA010E716801F00307012F1CBF01F0C7
+:1011F0000301022911D1A968F7680EEA010107FA73
+:101200000CF73943A960696821EA04047168C1F3E5
+:10121000001101FA09F10C436C604FEA890134793D
+:1012200004F00304032C1FD0EC68B7680EEA040432
+:1012300007FA0CF73C43EC60347904F00304022C09
+:1012400012D14FEAD90705EB870401F01C07D4F847
+:1012500020A008FA07FB2AEA0B0AD6F810B00BFA0E
+:1012600007F747EA0A0727622C680EEA0407347971
+:1012700004F0030404FA0CF43C432C60746814F486
+:10128000403F9CD0DFF854C04FEA990E5CF82E70B6
+:1012900001F00C0108FA01F427EA0404B5F1904FBB
+:1012A00008BF002709D00E4FBD4208BF012704D058
+:1012B0000C4FBD427FF451AF022753E7BDE8F18FD9
+:1012C00081B0002A14BF8161816201B070470000C3
+:1012D000800800580008005800100048080001402D
+:1012E00000040048000800487047000000B500BF37
+:1012F000130096469446103928BFA0E80C50FAD83F
+:101300005FEA417C28BF0CC048BF40F8042BC907E6
+:1013100028BF20F8022B48BF00F8012B00BD0000B9
+:10132000DFF8F0140A6892B200E00246086880B262
+:101330008242FAD170472DE9FC4104461825DFF8B6
+:10134000D884DFF8D864684308EB000730780628B3
+:1013500008D131787170347078754FF0FF3070605B
+:10136000002039E000F077F8B9680918B96008F191
+:101370000803B96832786A439A589142327813D395
+:1013800008F1150315FB02FC13F80C30062B25D0D1
+:1013900008F108066B43F358994222BF08F1150380
+:1013A0006A439A5CEED219E01146337869439A4257
+:1013B0000BD008F1140308F1150C5B5C15FB03F569
+:1013C0000CF805407A753B7500E07A7508F1140257
+:1013D0005454317871703470BDE8F6811146694318
+:1013E00008F115035B5C062B04D008F1140615FB0D
+:1013F00003F574557B753A7508F115025454EBE703
+:10140000F8B5DFF81834DFF810541E7818240246B7
+:101410006243B0422A4404D118785870507D187045
+:101420000FE0167D507D92F815C005F11507664353
+:10143000062807F806C004D0167D143514FB00F406
+:101440002E55012010731878062802BF00294FF08E
+:10145000FF315960F1BD10B5DFF8C043606810F18D
+:10146000010F0FD0FFF75CFF6168DFF8B423814202
+:1014700061683CBF5388C918081A517848431178ED
+:10148000C84000E0002080B210BD2DE9F84FDFF821
+:101490009053DFF890B3D5F80880D8F80000DBF857
+:1014A00000104A0500F06AF9DFF87063DFF868A3FE
+:1014B00021F4806181604FF0180934780AF1080046
+:1014C00019FB04F14758FFF7C6FF874217D20027E0
+:1014D0000121B170062C3DD019FB04F40AF108017A
+:1014E0000AF108020959814223BF0AF1080109598A
+:1014F000091A002111510AEB04014C7DEAE7A98881
+:101500004118B94202D2AF880021E2E73F1ADFE773
+:10151000022802DA2878012800D07F1ED8F80000BF
+:10152000C1684A07FAD500F02FF9DBF80C00000C6F
+:10153000BFB247EA0047CBF80C70FFF7F1FE7060CE
+:10154000A8680068816841F480618160AFF3008021
+:10155000BDE8F18FB8B20028DAD1FFF7E1FE706084
+:101560000320BDE8F24FFFF7C5BD2DE9F843EFF3C7
+:10157000108872B6AA4DA84BA8680168CA224A62B0
+:1015800053204862A54A886820F48060886018204B
+:101590001678374647431F44387B022826D13C68DB
+:1015A000D7F810909078F0B17A7B012A0AD1012106
+:1015B0003046FFF725FF88F310887968304600F041
+:1015C000F0F804E088F31088304600F09BF8A86833
+:1015D0000068CA2141622246532141624846314691
+:1015E00000F02AF90BE0FFF750FF06E0C868420759
+:1015F000FCD500F07EF88C49086088F31088FF2144
+:10160000A86802685162BDE8F183F8B5844CA16016
+:10161000CA2209684A6253224A62824A136843F026
+:1016200020031360136803F00703C3F1040323705E
+:1016300095682D0C05F07F056D1C6570EDB2926804
+:10164000C2F30E02521C628092B2521E6A43A2F58D
+:10165000A072DA404FF6FF739A422CBFA380A2809B
+:10166000724A136843F400231360714B1D6845F4FC
+:1016700000251D6048BB6948674E0123837018250B
+:101680004FF0FF33436000235FFA83FC06F10C0741
+:1016900015FB0CFC4FF0000E07F80CE05B1CDFB2F2
+:1016A000062FF1DB06230370886820F480608860D1
+:1016B00000F01FF8D0600320FFF727FDA16808683D
+:1016C000826842F48042826005E0C868410544BFF8
+:1016D0000320FFF70FFDA1680A68FF205062002277
+:1016E00003210320FFF7BAFCBDE8F2400320FFF717
+:1016F000D3BCC86800F0800060F49060C8604FF40C
+:1017000000207047F8B50746EFF3108472B6032047
+:10171000FFF7CDFC424DAE683068CA2141623A46BF
+:1017200053214162182043494243895C02291BD15D
+:1017300000213846FFF764FE3848017806290ED1AB
+:10174000306838490A68530500F018F821F48061C0
+:101750008160C1684A07FCD500F016F804E04078C3
+:10176000884218BFFFF791FEA9680A68FF205062FF
+:101770000320FFF791FC84F31088F1BD02D5C16806
+:101780004A07FCD481687047C16801F0800161F4A8
+:101790009061C1604FF40020234908600320FFF7E7
+:1017A000B4BC2DE9F04180460F46424618201A4944
+:1017B00042438C18207B022804BF4046FFF7A2FF5B
+:1017C000EFF3108572B60320FFF771FC144EB0687A
+:1017D0000068CA2141625321416202202073A76040
+:1017E00067604046FFF7A7FD0C490A7849789142A7
+:1017F00002D0FFF74AFE02E0A168081AA060FF20AD
+:10180000B1680A6850620320FFF746FC85F3108830
+:10181000BDE8F08128280040702100200424002029
+:1018200074230020082800400C08005800080058C5
+:10183000800800587C2100201047000010B596B0A9
+:1018400009A80FF2AC21834C342200F07BF90FF28F
+:1018500055200190009469460FF2312000F0B6F94E
+:101860000121022000F09BFA7B4A0021012000F0B8
+:1018700014FB09A800F0BFFB08B100F095FC0020A4
+:10188000ADF81A0000F092FC00F0C8F802460621FC
+:10189000002000F0AFFC4EF66E50089007AA6F498A
+:1018A0000868079006212E2000F0A4FC0FF21822F1
+:1018B0001021182000F09EFC0FF21C22102108209D
+:1018C00000F098FC1821012000F0BBFC00F0E4FCC3
+:1018D0000DF1160006A90190009105AB0722002129
+:1018E000012000F099FE0FF2D010BDF81810009002
+:1018F0000723BDF81400002200F08EFD0DF11A0040
+:1019000000900223BDF81610BDF81400002200F06C
+:1019100083FD002000F034FE002004901023504985
+:1019200003910820002201930090029200230121DC
+:10193000012000F03EFE00F0FFFE4A484FF4004157
+:1019400001604FF00051026F48780C2802F0FF024E
+:101950000EDC00200870BFF34F8F434943480A68EC
+:1019600002F4E06202430A60BFF34F8F00BFFDE75D
+:1019700089780B189A4238BF111A00F053FF00F013
+:101980004DF83B4942790A7202794A72C2788A72EA
+:101990008278CA7242780A730278521C4A7306210E
+:1019A00042798DF8052002798DF80420C2788DF8EF
+:1019B000032082788DF8022042788DF801206A4653
+:1019C0000078401C8DF80000002000F013FC00F0AF
+:1019D0000AF816B010BD80B54078052808BF00F0A1
+:1019E00002F8012002BD00B587B0002006900590E6
+:1019F00000220FF2F40004920821002302900191CA
+:101A000000920393A0228021002000F070FD07B017
+:101A10005DF804EB16490E2000F02EBE80B50F498C
+:101A20000A6812F1010F0DD012484B6802701B0AB0
+:101A3000120A427049688170C370190A01711B0C47
+:101A4000437102BD002000F0B1FF08B90FF2700031
+:101A500002BD0000A00803200B1C00088075FF1FBA
+:101A600007B20100104000580CED00E00400FA0538
+:101A7000C0200020DC2300200021012000F01ABA41
+:101A8000012000F03DBA012000F042BA10B5044632
+:101A9000616801F1080000F05FFE00B101202070D4
+:101AA00010BD000010B1012803D07047012000F0E4
+:101AB00015BA00F01BBA0000424C45636F72650016
+:101AC0000000000000000000123456789ABCDEF0DE
+:101AD000123456789ABCDEF0FEDCBA0987654321E1
+:101AE000FEDCBA09876543210953544D5F4F5441C9
+:101AF00000000000000000000000000000000000E6
+:101B0000000000001E0004000A0502011C3AFB0050
+:101B1000F4010000FFFFFFFF48010100002000006A
+:101B20000000000062B38B0708D0521E11F8013B81
+:101B300000F8013B00F024808B07F6D1830740F0CA
+:101B4000208000BF103A07D330B4B1E83810103A03
+:101B5000A0E83810F9D230BC530724BFB1E8081010
+:101B6000A0E8081044BF51F8043B40F8043BD207FA
+:101B700024BF31F8022B20F8022B44BF0B780370EE
+:101B80007047121F17D35B0009D151F8043B20F8AE
+:101B9000023B1B0C121F20F8023BF6D20BE051F85F
+:101BA000043B00F8013B1B0A20F8023B1B0C121FF0
+:101BB00000F8013BF3D238BF121D521E24BF11F8AA
+:101BC000013B00F8013BF8D8704700007FB50C4698
+:101BD0006D4D61686D4EE8612962284600F0F8FE9F
+:101BE000246805F1240000604060746006F108007C
+:101BF0000060406001203070296829B10FF2551053
+:101C000000900294684688477FBD1FB55F4C04F181
+:101C1000080000F0EAFE00BB2178F1B1694604F14A
+:101C2000080000F00BFF5848C16949B100980290C4
+:101C300001228DF8042001A888479DF8040000E0E7
+:101C400001202070207818B1009800F0ACFF04E06B
+:101C5000009904F1080000F0D1FE04F1080000F042
+:101C6000C4FE28B9207818B104F10800FFF704FF7A
+:101C70001FBD2DE9F8430646002000F05FF8748888
+:101C80003088B268DFF80081C4F3090444EA802494
+:101C9000F068A4B2C1B2204600F03CF8002748F238
+:101CA000E8094846FFF7EFFE08E06888A04202D145
+:101CB000316928780870687800B1012708F124009C
+:101CC00000F093FEF0B9694608F1240000F0B6FE7A
+:101CD000009800F10B05407A0F28E6D0B5F8011006
+:101CE000A1420DD10098817AC81E7169C0B28842A4
+:101CF000C8BF0846706102463069E91CFFF712FF51
+:101D00002878D9E73800CCD0012000F017F800205F
+:101D1000BDE8F28310B513461C4A5468A4F80900C4
+:101D2000E1720A46194604F10C00FFF7FBFE164A61
+:101D30001369BDE810400021002018471249096AC4
+:101D400082B008B921B101E011B1012002B0084709
+:101D500002B0704710B50146487A0F2818BF0E2808
+:101D600007D10B4800F054FEBDE810400020FFF7FB
+:101D700087BE064C04F1080000F04AFE04F108009A
+:101D8000BDE81040FFF778BEE0220020B02300201D
+:101D9000042300200C48002101604160704710B509
+:101DA00000F00CF85C6819B1012904D1204301E06E
+:101DB00024EA0000586082F3108810BDEFF310820F
+:101DC00072B6014B70470000E42300202DE9FC4768
+:101DD000604CDFF88491A5692840A0614FF0FF3A7C
+:101DE00021694FF0010834E0521C54F83200616957
+:101DF00019400142F8D0616904EBC20608407168DD
+:101E00001840014208BFC6F804A07768384000F0C7
+:101E1000A5F8606208FA00F087437760EFF310815D
+:101E200072B6626A206908FA02F2D2431040206159
+:101E3000022004EBC00353F8086C1640401E43F820
+:101E4000086CF6D181F31088606A59F82010884731
+:101E50002169A36960690140194205D0E069216ADE
+:101E6000084208BF0022C0D0C4F824A000F0E8FE59
+:101E7000EFF3108972B6216960690140A0690142DF
+:101E800001BFE169206A014200F090FF89F31088E8
+:101E9000C046C046A561BDE8F38738B51446EFF3E8
+:101EA000108572B600F05AF82B4941F8204085F3AE
+:101EB000108831BD10B500F00BF804431C6153F8D5
+:101EC0003140204343F83100FFE782F3108810BD12
+:101ED000EFF3108272B61F4B1C697047EFF310814D
+:101EE00072B61C4A536923EA000005E0EFF3108143
+:101EF00072B6184A53691843506181F310887047CD
+:101F0000EFF3108172B6134AD3691843D061F4E736
+:101F1000F8B5104C666A256A374616F1010F0EBFF8
+:101F20000026012101FA06F6206202E0304600F0A8
+:101F30003EFF216AE0690842F8D06762EFF3108142
+:101F400072B6E269206A8243E26181F310882562F9
+:101F5000F1BD000098200020002200200246002051
+:101F6000110C090404BF1020120412F07F4F04BFAB
+:101F7000083012020FF2180112F0704F04BF001D5A
+:101F80001201120FC0F11F00895C401AC0B27047E5
+:101F90000403020201010101000000000000000032
+:101FA0001FB500F044F84FF6524000F064FF14B142
+:101FB0009DF80F0020700EE01FB5002408B10090BE
+:101FC000042409B10191241D6B466A46E1B24FF623
+:101FD000544000F050FF9DF80E0004B010BD00F01A
+:101FE0004AFF9DF80E0005B000BDF8B500F020F8DE
+:101FF0004FF65A40F3E7F8B500F10C026B46252185
+:102000004FF66640EBE7F8B500F10C026B460F2186
+:102010004FF66840E3E7F8B500F003F84FF6694083
+:10202000DDE78DF800006B466A46012170470446E3
+:102030006B46002200217047F8B5FFF7F2FF4FF61C
+:102040007340CCE710B55049504C4FF40040086045
+:1020500000F060FF606840010ED56068C0000BD4DE
+:1020600000F084FF00F082FF206840F480302060A0
+:10207000216821F48031216000F013F800F057F856
+:102080004348016800220260026902F050020261C6
+:1020900000F028F800F0E3FD4FF0FF30FFF796FE68
+:1020A000FAE73C4881B0016841F4801101603F21AA
+:1020B000006800F48010009000983748416041614A
+:1020C000016841F47C110160026942F47C120261F2
+:1020D000016841F03F010160026942F03F02026184
+:1020E00001B0704710B500F041FF00F03FFF2748F6
+:1020F0002A4C016821F4407141F4807101600F2184
+:10210000026842F4004202602548816047F6FF7190
+:10211000C160046000F054FFCA206062FF215320B8
+:102120006062A068C008C000A060616210BD80B598
+:1021300000F01CFF00F01AFF1448016841F0010193
+:10214000016001688907FCD5416821F4404141F4F0
+:102150008041416001BD38B50446FEF759FF14F1D6
+:10216000010F054609D000F0E9FE241805E00D48EE
+:10217000016821F00401016030BFFEF749FF401BF8
+:10218000A042F4D331BD0000104000589000005828
+:102190008008005850000058040C005800280040E7
+:1021A0000C23002010ED00E072B6FEE700B587B00A
+:1021B00000F010F8012003220690ADF80420ADF8DD
+:1021C000062000F011F800284CBFFF209DF8000009
+:1021D00007B000BD00208DF800001822002101A8E2
+:1021E00000F098BF03900691CDF814D0002101A80B
+:1021F000FFF73FBD18B50C46C7B0114600228DF859
+:1022000000208DF81C008DF81D4022460DF11E00A7
+:1022100000F07AFF00F02AF83F200C21ADF804000E
+:10222000ADF8061007A8012103900691A41C0494A0
+:1022300000F02CF800284CBFFF209DF8000048B0AB
+:1022400010BD00B5C7B000F00AF80F2000F013F879
+:1022500000284CBFFF209DF8000047B000BD0022C1
+:102260008DF800208DF81C008DF81D10182200211B
+:1022700001A800F04FBFADF8060007A902200490A6
+:102280003F22012003910690ADF80420CDF814D030
+:10229000002101A8FFF7EDBC00B587B000208DF844
+:1022A000000000F0E0F840F20110ADF806003F2217
+:1022B0000120069000F013F900284CBFFF209DF884
+:1022C000000007B000BD2DE9F84107460128C7B05E
+:1022D000884615461E4608BF022003D002280CBFC0
+:1022E000102000200DF11D010C1800F036F8012F10
+:1022F0008DF81C7002D0022F18D019E002273A4640
+:1023000041460DF11D0000F0FFFE2570667000F0E3
+:10231000AAF83F204FF4817100F016F8FF1C0497D3
+:1023200000F0DFF8002805D5FF2009E01027E6E7D8
+:10233000972005E09DF8000010B94E9800F067F86E
+:10234000FFE748B0BDE8F081ADF80400ADF8061035
+:1023500007A80321039006917047032200216846D5
+:1023600000F0D8BE2DE9F64F0C460546012CC7B04B
+:102370009B4608BF022003D0022C0CBF1020002077
+:102380000DF11F010E18FFF7E8FF012CADF81C50EE
+:102390008DF81E4002D0022C2CD02DE00227569C36
+:1023A000559DDDF85091DDF84CA1DDF84881489944
+:1023B0003A4600F054F8A6F800B086F8028086F895
+:1023C00003A086F804907571B47100F04CF83F20BA
+:1023D000ADF804004FF4827107A8ADF80610039021
+:1023E00003210A370497069100F07BF8002805D5F1
+:1023F000FF2009E01027D2E7972005E09DF80000B4
+:1024000010B9579800F003F849B0BDE8F08FBDF857
+:10241000011001800020704730B5C7B01C464A9BB0
+:1024200000F049F800258DF800508DF82140224633
+:1024300019460DF1220000F067FE00F014F83F206D
+:102440004FF4837100F042F8A41D049400F049F8A1
+:1024500000284CBFFF209DF8000047B030BD0DF1B3
+:102460001F0000F051BE1822002101A800F052BE4A
+:1024700078B5C7B04C9C4D9D00F01DF800268DF836
+:1024800021308DF800608DF822402246294600F068
+:1024900019F8FFF7E8FF3F204FF4937100F016F8AA
+:1024A000E41D049400F01DF800284CBFFF209DF8A7
+:1024B000000048B070BDADF81C00ADF81E108DF8DE
+:1024C000202070470DF1230000F01EBEADF804007F
+:1024D000ADF8061007A80121039006917047ADF8EA
+:1024E0000420CDF814D0002101A8FFF7C2BB2DE9CC
+:1024F000F84DC7B09446DDF840E1519A559D569E7F
+:10250000DDF84CA1ADF81D108DF81C004FF0000B4C
+:10251000ADF81FC08DF821308DF822E000F024F8CE
+:1025200000F017F824F8095F668000F0E7F83F2014
+:10253000832100F0DBF8574406910D37049700F033
+:10254000B5F800284CBFFF209DF8000048B0BDE85A
+:10255000F08D88F800A007AC5499E419524608F1B0
+:102560000100544400F0D0BD8DF823201746529945
+:102570008DF800B00DF1240809A8B84400F0C4BDDE
+:1025800000B5C7B000F00CF8852000F095F800F019
+:102590008AF800284CBFFF209DF8000047B000BD1E
+:1025A00000218DF81C008DF80010182201A800F001
+:1025B000B1BD2DE9F841C7B04FF0000800F026F892
+:1025C0000DF12300DDF844E14E9F4F9E509D529C3B
+:1025D0008DF81F30C0F800E08DF800808DF8207075
+:1025E0008DF821608DF822508DF8274000F086F894
+:1025F0008620ADF8060007A90C2000F050F800284E
+:102600004CBFFF209DF8000000F07DB88DF81C0045
+:1026100007A8417082707047F8B5C8B005460E46ED
+:1026200017461C4600F023F808A8467087708DF8FE
+:10263000205000F056F88A21ADF80A103F200321FF
+:1026400000F042F8002848BFFF200ED49DF800009B
+:1026500058B94F994E98BDF801202280BDF803204B
+:102660000280BDF805000880002049B0F0BD0722B7
+:102670000021684600F04EBD18B5C7B000F051F813
+:1026800000F03CF83F208E2100F040F800F00EF8FA
+:1026900000284CBFFF209DF8000048B010BD0490FA
+:1026A0003F22012003910690ADF80420CDF814D00C
+:1026B000002101A8FFF7DDBAADF8060007A9012047
+:1026C0003F22039104907047ADF80800059108A8D7
+:1026D000072104900791CDF818D0002102A8FFF738
+:1026E000C8BA1822002102A800F014BDADF80400F9
+:1026F000ADF8061007A801210390704718220021A9
+:1027000001A800F007BD48B0BDE8F081ADF80400B5
+:10271000ADF8061007A8012103900691641C0494EB
+:102720007047044600208DF800008DF81C402246BA
+:102730000DF11D0000F0E8BC1C49002008770022C4
+:102740001B48027000F036B818490A7F41F8220091
+:10275000087F401C0877704770B504466078FF28F2
+:1027600002BFB4F8031001F47F41B1F5406F12D1FC
+:1027700000260E4D00E0761C297FF0B288420AD276
+:10278000F1B255F82110204688470100F3D002D05D
+:10279000022805D006E02046BDE87040FFF71BB9CF
+:1027A000002070BD012070BD0000000054230020F7
+:1027B0001C24002080B5C046C046C046C046C04666
+:1027C000C046C046C046C046C046C046C046C046D9
+:1027D000C046C046C046C046C046C046C046C046C9
+:1027E000C046C046C046C046C046C046C04600F0CF
+:1027F000EDFCC046C046C046C046BDE8014000F002
+:102800005DBD000000EB8100654AD0F88010914268
+:1028100001D0012070470020704742F4806240F8E8
+:10282000212070472DE9F04104460D460026DFF8CF
+:10283000748102214046FFF7E5FF0028F9D100F03E
+:1028400070FD0120FFF7E7FB0027AF4215D23000F3
+:1028500013D1381900F045F806467F1CF5E7002033
+:10286000FFF7D9FB00F06BFD002202214046FFF785
+:10287000D4FF00252846BDE8F081002EEFD0ED1BE7
+:102880006D1CF7E72DE9F84380460C4615460026F7
+:10289000DFF8109102214846FFF7B4FF0028F9D174
+:1028A00000F03FFD0027AF4216D2AEB904EBC700DF
+:1028B000D0E9002308EBC70000F023F806467F1C90
+:1028C000F1E700F03CFD002202214846FFF7A5FF9A
+:1028D00000252846BDE8F283002EF2D0ED1B6D1CCA
+:1028E000F7E782B001460020009002E0009A521CF7
+:1028F000009200982328F9D300220023002002B080
+:1029000001E0014601202DE9F84F86B0022501269D
+:102910000295049603918DF8000005919246DFF828
+:102920008480214F9B46EFF3108938680003FCD464
+:1029300072B6D8F8180008B1012519E00721404601
+:10294000FFF760FF0025C4B294B99DF8000020B9DC
+:1029500001A902A800F048FD05E0059952465B4632
+:10296000012000F0B1FC002207214046FFF755FF8F
+:1029700089F310880DB1002002E0002C03D0012063
+:102980000020C0460646254318BF002ECDD138682A
+:102990004103FCD4701E8041C00F07B0BDE8F08F2A
+:1029A00000040080001400581040005801460648FA
+:1029B000064AC3798B4218BF904218BF0838F8D135
+:1029C0008B4218BF00207047F873FF1F0070FF1F75
+:1029D0000249016002490161704700BFA32A000853
+:1029E000C92A0008006040607047EFF3108172B69A
+:1029F000026882420CBF012000201CE0EFF310822D
+:102A000072B603680B60486001600868416023E0AB
+:102A1000EFF3108272B6086043684B60416048680B
+:102A2000016019E0EFF3108172B642680368136029
+:102A300002684368536081F31088704710B5EFF364
+:102A4000108472B602680A600068FFE7FFF7EAFFC9
+:102A500084F3108810BD0B6082F31088704700006B
+:102A600000F0AFBD6C486D49016001F12002426089
+:102A700001F13002826001F13C02026201F1440284
+:102A8000426201F14C02C26001F15402026101F1A3
+:102A90007002426101F1740282618031C16100F013
+:102AA000AEBD38B504465E4D2846FFF79BFF5A4839
+:102AB0004068A1680160E168C16085605949416072
+:102AC00000F0B9FD58482AE080B5534842681368C1
+:102AD00001211972406800F0B4FD002002BD38B534
+:102AE000514C4F4D04E000F041F8009821688847B0
+:102AF0002846FFF77AFF0028F5D031BD4A484168E3
+:102B0000084738B50446494D2846006040604248B1
+:102B1000C068A1680160456000F098FD44482168E4
+:102B2000016061684160002032BD80B53A48C268EA
+:102B3000136810211972C06800F08EFD002002BDDC
+:102B400035483B4AC168C16813680868184738B5FA
+:102B5000374C364D04E000F009F80098616888476A
+:102B60002846FFF742FF0028F5D031BD69462846C8
+:102B7000FFF764BF38B504462E4D2846FFF732FFF5
+:102B80002D480060406024480069A1688160E168C8
+:102B9000C16005612168016061684160216941612E
+:102BA0006169816131BD80B501462348FFF730FF7F
+:102BB000BDE802400FF2050000F057BD38B5164CD5
+:102BC0001D4D06E0FFF7D2FF009920690069FFF76D
+:102BD0001FFF2846FFF709FF0028F3D031BD10B5CD
+:102BE000164C2046006040600B4841690C60BDE80F
+:102BF000104000F04EBD1CB5104C06E06946204662
+:102C0000FFF71CFF0098C046C0462046FFF7EDFEC8
+:102C10000028F3D013BD000000000320AC090320FE
+:102C2000480A032090080320F4230020500A0320C0
+:102C3000FC230020380A0320EC230020400A032054
+:102C400070470000BFF34F8F264927480A6802F4F7
+:102C5000E06202430A60BFF34F8F00BFFDE710B58B
+:102C60002248234C88B0016841F400410160FFF71D
+:102C700091F820480168C908C90041F004010160C9
+:102C800000F020FD1C490020FEF7BFFC00F057FDBE
+:102C900001210120FFF783F800F079F8FFF7E2FE49
+:102CA000164A00210220FFF7F8F804F23C500FF218
+:102CB00051010090019169460FF2490000F086F839
+:102CC00004F25470029004F5C96140F23C50059042
+:102CD0000391049402A8FFF74DFFFFF7C1FE08B06F
+:102CE00010BD00000CED00E00400FA0508000058DB
+:102CF00030000320800400580C2300200F2E000811
+:102D00007047000038B50546686830F80B1FB1F50C
+:102D1000124F15D180784FF0005490B921780229D4
+:102D200008BF207030D000F019FD0120FFF784F9B2
+:102D300000210120FFF733F8FEF780FD0120287005
+:102D400031BD0020FFF72CF9FF281DD042F210758D
+:102D500088B92078022808D100212170FFF745F9B1
+:102D60000121002000F008F9FAE70220207000217C
+:102D70000020FFF721F92846FFF7EDF90020FFF7C3
+:102D80000FF910382028F6D3FFF75CFF00BF80B59D
+:102D90000121002000F017FE0121012000F013FEA8
+:102DA000BDE804400121022000F00DBE70474FF045
+:102DB000FF30FFF70BB800210220FFF77BB802209D
+:102DC000FFF79EB80220FFF7A3B800007FB50C46BE
+:102DD0004D4D61684D4EE8612962284600F05AFE6B
+:102DE0002468746006F1080000604060012000F073
+:102DF00068F801203070296841B10FF2E9000FF244
+:102E0000ED02009001920294684688477FBD1FB58D
+:102E10003E4C04F10800FFF7E8FD00BB2178F1B15A
+:102E2000694604F10800FFF709FE3748C16949B156
+:102E30000098029001228DF8042001A888479DF88F
+:102E4000040000E001202070207818B10098FFF7FE
+:102E5000AAFE04E0009904F10800FFF7CFFD04F199
+:102E60000800FFF7C2FD28B9207818B104F1080066
+:102E7000FFF7A1FF1FBD2DE9F04105460E46904624
+:102E80001C46002000F01DF8204F7868A0F809507B
+:102E9000C672324641460C30FEF744FE1A4A1369A8
+:102EA00000210020984748F2E800FFF78BFF79687F
+:102EB0008A78D21C04F10800FEF734FEBDE8F04128
+:102EC00001201CB51049124C096A20B901B188478C
+:102ED0000020207013BD0120207011B1BDE81C40FE
+:102EE000084713BD0020FFF76ABF000010B5014678
+:102EF000064C04F10800FFF78BFD04F10800BDE863
+:102F00001040FFF758BF000030230020C0230020EE
+:102F10001D240020114810B5016841F48071016042
+:102F20000320FEF78EF8002000F0BEFD00240028EC
+:102F300014BF012400F018F8204610BD084800789E
+:102F40007047084805E00748016841F00201016048
+:102F50007047016841F0010101607047004000586E
+:102F6000D0200020042004E07047000011480168D0
+:102F700041F480710160704710B50C460E4900287D
+:102F8000086805D1810507D500F0A8FB20B110BD68
+:102F9000810558BF00F09CFB0848016821F004013E
+:102FA000012C016001D130BF10BD40BF20BF20BF48
+:102FB00010BD0000000400581404005810ED00E09B
+:102FC00038B5040044D094F8210028B9002184F8D1
+:102FD00020102046C046C04600F049F8FF2510B139
+:102FE00000F03FF834E02168DFF8B0008A68024062
+:102FF0008A6021688A68636820690343A069034383
+:103000001A438A602168E068086120680169A26843
+:1030100041EA024101612068C16821F08001C1607C
+:103020002068C16C21F00201C1642168CA6CE369A7
+:10303000606903431A43CA6420688168880609D41A
+:1030400000F020F830B120684562042100F01FF83C
+:10305000012032BD20684562012184F82110002042
+:1030600032BD20684562042184F821107047022097
+:1030700084F82100CA2021684862532022685062E7
+:10308000204626E020460BE02068C0F8248084F823
+:103090002110002084F8200070470000BFFF8FFF40
+:1030A00070B5044640F2E9362068C16821F0A001FD
+:1030B000C160FDF7ADFF05462068C168880606D4EB
+:1030C000FDF7A6FF401BB042F6D3032070BD0020E1
+:1030D00070BD70B504462068C1684A0612D44FF02E
+:1030E000FF32C26040F2E936FDF792FF05462068E4
+:1030F000C168480606D4FDF78BFF401BB042F6D3EB
+:10310000032070BD002070BD10B50446FEF70AFD17
+:10311000204610BD10B5044610460A46014620461A
+:1031200000F0E4FC204610BD1FB541780024FF29C3
+:1031300049D1B0F803104F4A40F60143C91A04D0F0
+:1031400012392ED0091F1AD03DE05388B0F807106D
+:103150005B1C99420BD100218DF80C1000F10D027F
+:1031600002920124B0F80B108DF80D1015E0D288F2
+:10317000521C914227D101248DF80C4006E0117AAF
+:1031800009B31472032101248DF80C1000F10D0213
+:103190000292B0F80B008DF80D0002A800F0DAFCE6
+:1031A00011E0D288B0F80710521C91420BD100F107
+:1031B0000A0301930023427A00920022B0F805002E
+:1031C000FFF756F90124204604B010BD10B586B0B3
+:1031D0002948284CFFF7B8FA0094082301220FF27F
+:1031E0009C010220FFF76FF8002104910191A01CBF
+:1031F00005900A22012304210392029300910423E3
+:1032000020880FF288020221FFF7ACF80021049118
+:1032100002910191201D05900A2220210392009124
+:10322000012320880FF274020221FFF79BF8A01DF2
+:1032300005900121049100200A220323019004211A
+:10324000039202930091F82320880FF2600202217A
+:10325000FFF788F80020207206B010BD80B50091FD
+:103260000122044881880272012300880022FFF7AE
+:10327000D3F802BDD0230020293100088FE5B3D553
+:103280002E7F4A982A487ACC20FE000019ED82AEA3
+:10329000ED214C9D4145228E22FE000019ED82AEAB
+:1032A000ED214C9D4145228E23FE000019ED82AE9A
+:1032B000ED214C9D4145228E24FE00007047000008
+:1032C000DFF800F0692000202DE9F041404F06466C
+:1032D00038780128884614461D4608BF02201BD0B6
+:1032E000012139700020786000F018F8010011D138
+:1032F000012E22462B46404602D100F05BF802E048
+:103300001146FFF7DDFF00F009F832490A6822EAAA
+:1033100006060E6000213970BDE8F0814FF47A7026
+:1033200018E02E49CA680020002A07D52C4B2D4AE8
+:103330000B600A60C968002948BF01207047254911
+:103340000A6842F000420A6000200968002958BF5C
+:103350000120704770B50546FDF75AFE06461E4C23
+:103360002068C10311D5FDF753FE801BA842F7D397
+:10337000032070BD164920604860012070BDFDF734
+:1033800047FE801BA84210D3F2E72068C10744BF64
+:1033900001212160010404D54FF40041216020F493
+:1033A00000404CF2FA310840E4D120684103E6D4F1
+:1033B000002070BD10B507490C6844F001040C6092
+:1033C00040F8042BBFF36F8F036010BD00000000B6
+:1033D000982300201440005810400058084000581E
+:1033E00023016745AB89EFCD2DE9F04100F053F89B
+:1033F000884608BF02204CD000F052F800F055F883
+:10340000010044D12968DFF8C470022919D14FF0B6
+:10341000FF32C8F800206E6800E0761C6968AA6870
+:1034200051188E4208D2304600F043F800F03DF8C3
+:103430000100F2D0C8F800607A69DFF894100A4001
+:103440007A6139688A050FD53A6822F400723A60C9
+:10345000396841F4006139603A6822F400623A60E8
+:10346000396841F4007139603A6851050FD53968FF
+:1034700021F4806139603A6842F480523A603968D8
+:1034800021F4805139603A6842F480623A60002148
+:103490002170BDE8F081104C054620780128704766
+:1034A000002001216060217070474FF47A70FFF7AF
+:1034B00051BF08490A6822F4FF6242EAC00242F49E
+:1034C000803242F002020A6070470000004000585B
+:1034D00005F8FFFF1440005898230020C0680840FA
+:1034E000884201D10120704700207047C069084020
+:1034F000884201D1012070470020704710B5684C08
+:1035000002212046FFF7F2FF38B16068C04381070F
+:1035100003D5FFF71CFB022018E001212046FFF72E
+:10352000E5FF38B16068C043C10703D5FFF7D7FA9C
+:1035300001200BE008212046FFF7D8FF38B1606872
+:10354000C043010703D5FFF756FB0820A06010BD5C
+:1035500010B5534C02212046FFF7C0FF58B96068F0
+:10356000C043810307D5606840F400306060BDE867
+:103570001040FFF7E5BA08212046FFF7AFFF70B90A
+:103580006068C04301030AD56068464940F40020E2
+:103590006060086880474FF40020A06010BD2021C3
+:1035A0002046FFF79BFF58B96068C043810207D5EA
+:1035B000606840F400106060BDE81040FFF79EBAFC
+:1035C00010BD394881B0016841F480110160006884
+:1035D00000F48010009000983448016841F40071B4
+:1035E00001603348026842F40072026040BF20BFAD
+:1035F0003048016841F40041016001B0704780B576
+:103600002D48016841F480110160006800F48010C9
+:10361000009000982248016841F0010101600268B1
+:1036200042F4803202602C20FDF736FDBDE80240F6
+:103630002D20FDF731BD214801684908490001608E
+:1036400070471F494FF48030086070471B4801687D
+:1036500021F002010160704718484FF400314160C9
+:10366000016821F400310160704738B504460C4D03
+:1036700008212846FFF732FF30B10A480460686825
+:1036800020F40020686031BDA0474FF40021A960FC
+:1036900031BD0A48016821F008010160704700004F
+:1036A000000C00580C24002050010058D408005889
+:1036B000200800580C04005850000058040C005812
+:1036C000080C00581348016841F40071016070470C
+:1036D0001148016841F480410160704710B50E4AFD
+:1036E0000E4B106820F48040106032211C680C489A
+:1036F000B4FBF0F0484351698B0506D5002818BF8C
+:10370000401EF8D101E0002010BD50698105FAD5B6
+:10371000032010BD0804005800040058DC200020DD
+:1037200040420F00484900E0484981B00A6802431E
+:103730000A60096808400090009801B0704780B5A1
+:10374000FFF7FFFBFFF7FFFB4148016841F48031C1
+:10375000016000F0ADFABDE801400EE000B587B0B1
+:1037600068460FF230211C22FEF7ECF9FFF737FA1A
+:103770006846FEF748FC07B000BDF0B585B0684666
+:103780001421FDF74BFC00260025002400210FF238
+:10379000D40000EBC102907988B11368B3F1904F67
+:1037A00008D02C4FBB4208D02B4FBB4204BF90889F
+:1037B000044304E09088064301E090880543491CD7
+:1037C0002629E4DB002002900121032003900191CF
+:1037D000B0B288B100900120FFF7A4FF0120FFF7ED
+:1037E000A3FF69464FF09040FDF7ACFC0022B1B258
+:1037F0004FF09040FDF764FDA8B280B10090022028
+:10380000FFF790FF0220FFF78FFF124E6946304608
+:10381000FDF798FC0022A9B23046FDF751FDA0B299
+:1038200080B100900420FFF77DFF0420FFF77CFFAC
+:10383000094D69462846FDF785FC0022A1B22846BD
+:10384000FDF73EFD05B0F0BD4C0000584C0100589E
+:103850009008005800040048000800480020FDF7C8
+:103860004CB80000000000480100000000000048C3
+:1038700001000000000000480100000000000048B6
+:1038800001000000000000480100000000000048A6
+:103890000100000000000048010000000000004896
+:1038A0000100000000000048010000000000004886
+:1038B0000100000000000048010000000000004876
+:1038C0000100000000000048010000000000004866
+:1038D0000100000000000048010000000000004856
+:1038E0000100000000000048010000000000004846
+:1038F0000100000000000048010000000000004836
+:103900000100000000000048010000000000004825
+:103910000100000000000048010000000000004815
+:103920000100000000000048010000000000004805
+:1039300001000000000000480100000000000048F5
+:1039400001000000000000480100000000000048E5
+:1039500001000000000000480100000000000048D5
+:1039600001000000000000480100000000000048C5
+:1039700001000000000000480100000000000048B5
+:1039800001000000000000480100000000000048A5
+:103990000100000000000000000000000000000026
+:1039A00064380008280003202C00032026040400AB
+:1039B0002A4981B00A6802430A60096808400090F9
+:1039C000009801B07047F0B585B005460C466846D2
+:1039D0001421FDF723FB2DB1012D08BF102002D0CB
+:1039E000022D02D10120FFF7E3FF0FF28C001C4FE4
+:1039F00030F81500009001210220039007EB8506A6
+:103A0000029130682CB9002101916946FDF79AFBBB
+:103A100020E04FF40411019107EBC5046946FDF75E
+:103A200091FB0FF2600050F8251004F1240000F023
+:103A300058F9F268002104F1240000F04BF90FF26C
+:103A400040004457B16900222046FDF707FB20469D
+:103A5000FDF722FB002005B0F0BD00004C0000582F
+:103A60002C200020002000F013B8012000F010B836
+:103A7000022000F00DB8000001001000400000001E
+:103A8000060A1700000000160400001606000016C3
+:103A9000704700000249016002490161704700BFA0
+:103AA000032B00082B2B000870B50F4E044630780E
+:103AB0000025A8B1FDF761F932784FF47A71B1FBB6
+:103AC000F2F1B0FBF1F0FDF701FB48B9102C07D281
+:103AD000002221464FF0FF30FDF7C0FAB46000E04D
+:103AE0000125284670BD00BFD020002062F30F22C0
+:103AF00062F31F42401810F0030308D0C91A1FD305
+:103B0000DB0748BF00F8012D28BF20F8022D130065
+:103B100030B414461546103928BF20E93C00FAD8C5
+:103B2000490728BF20E90C0048BF40F8042D890050
+:103B300028BF20F8022D48BF00F8012D30BC704787
+:103B4000C91818BF00F8012DCB0728BF00F8012DB8
+:103B500070470000F8B506464A4D307920B101287B
+:103B600024D0032857D0F1BD31680A78012A4FF0DC
+:103B7000006004D0022A09D0072A0FD0F1BD00222C
+:103B800028606A7400F08AF82A74F1BD0121286067
+:103B9000697400F083F800202874F1BD01228DF8CB
+:103BA000002069460220FFF759FBF1BD7479002718
+:103BB0001EE0316805F1080339441844FDF7B2FFEF
+:103BC00000F066F80028FBD1D5F800C0D5E9022343
+:103BD000DCE90001994208BF904209D10CF10800CC
+:103BE0002860287CC0F10800241AC7190020287416
+:103BF000287CC0F108029442DBD2002CC5D0316889
+:103C000005F10803224639441844FDF78BFF287C50
+:103C100024182C74F1BD287CA8B1C0F1080105F16D
+:103C20000803FF221844FFF761FF03E000F030F8BB
+:103C30000028FBD12868D5E90267D0E90023BB4200
+:103C400008BFB242F2D1687C90B101289DD14FF0FB
+:103C5000005100200870BFF34F8F0B490B480A68D2
+:103C600002F4E06202430A60BFF34F8F00BFFDE73A
+:103C7000FEF796F90020FEF793F901210020FFF7E7
+:103C80007BF9FAE7802300200CED00E00400FA0540
+:103C90002868012205F10801FEF7F4BD3068C178FB
+:103CA000297031688878687030684178A9707047E9
+:103CB00080B5FFF7D3FD022100910023044800F1F5
+:103CC00024014FF48052001D00F011F801BD0000E6
+:103CD000081000200346002009B95A6070470120EF
+:103CE000704708B90120704701600020704710B587
+:103CF000029C016042600021C160016141618161FB
+:103D00000381A107047704D5008910B14FF0FF307B
+:103D100010BD002010BD00004748484A01681268E5
+:103D2000B1F1006F0AD3120302F47F2244488218D3
+:103D30008A4203D308684349884201D00020704773
+:103D40000120704780B5404940480860016881F310
+:103D500008884068804730BF01BD10B5FFF7DCFF21
+:103D60004FF0005420B100202070BDE81040E9E77A
+:103D7000012020700E206070FF20A07010BD38B5AB
+:103D8000334C2068C00002D4206880011AD54FF05F
+:103D90000055287828B9FFF7BFFF10B1FFF7D2FF11
+:103DA00012E0287848B9FFF7B7FF30B90120287032
+:103DB0000E206870FF20A87006E02878012818BF40
+:103DC000022801D0FFF7C9FF2248016841F47001C1
+:103DD00001600020FEF7EAFD40B180791E49A16034
+:103DE000A16821F47C5141EA0021A1604FF0B0406C
+:103DF000016841F48031016018490A68D208D20094
+:103E000042F001020A600A6802F00702012AFAD1B0
+:103E100001688903FCD581688908890041F00201A5
+:103E20008160816801F00C010829FAD10168490814
+:103E30004900016031BD0000407100088040005819
+:103E4000FCFFFF07298A449408ED00E00070000899
+:103E50009400005888ED00E0FECAFECA00400058F9
+:103E60000100000003000000050000000100000048
+:103E700001000000060000000A0000002000000011
+:103E80000200000004000000080000001000000014
+:103E9000400000008000000000010000000200005F
+:103EA000A0860100400D0300801A060000350C00BA
+:103EB00040420F0080841E0000093D0000127A007D
+:103EC0000024F40000366E010048E801006CDC02BA
+:103ED00000000000000000000000000000000000E2
+:103EE0002DE9FC4D016800F10805490805EBC10208
+:103EF000019200F10802406800F0010A02EBC108DB
+:103F0000400808EBC00B00200021019A95422FD0F9
+:103F10002A68AE186A68324400920835009A9642C0
+:103F2000F3D016F9014B009A964205D12A68AE18D3
+:103F30006A6832440092083516F8017B884210D135
+:103F4000D84508BF00F01AF8D8F80000D8F80410D7
+:103F5000BAF1000F18BF48440144884208F108082C
+:103F6000EED0002C00F8017B05D5641CE6D1D5E726
+:103F70005846BDE8F68D641ED5D5CFE7012000F088
+:103F800001B8000080B5AFF30080024A110018208C
+:103F9000ABBEFBE72600020000F024F8012810D099
+:103FA0000D4880470D480047F0B543464C465546FE
+:103FB0005E466746F8B40A4C6B462360BFF34F8FEA
+:103FC00030BF074C2468A546F8BC9846A146AA46CF
+:103FD000B346BC46F0BD00007F3D00085B410008D1
+:103FE00014240020024900200860704700000000EF
+:103FF0001824002019E050F8042BD30744BFA9F17E
+:1040000001039A18091F0023042942F8043BF9D23E
+:104010005FEA817C134604D54FF0000CA2F800C083
+:104020009B1CC90744BF0021197050F8041B0029CC
+:10403000E1D170477047FEE770477047704700F066
+:104040000FB87047704770470020FCF76CBC002029
+:10405000FCF76FBCFDF789BAFFF77ABAFFF74EBAE3
+:10406000024841680278891841607047D0200020DA
+:1040700010B5074979441831064C7C44163404E0E5
+:104080000A68081D114488470146A142F8D110BDB5
+:104090002C000000780000004EF68851CEF200019E
+:1040A000086840F470000860BFF34F8FBFF36F8F54
+:1040B0004FF00070E1EE100A7047000039FFFFFF7B
+:1040C00040030000E02000207008000030000320C2
+:1040D000000000000DFEFFFF0200000002000000D3
+:1040E0002A01000002000000280003200800000050
+:1040F000F1FDFFFF020000000200000010010000BF
+:10410000AF00000008100020D810000000000000E0
+:10411000000000000000000000000000010000009E
+:104120000200000003000000040000000120C0465F
+:10413000002801D0FFF79CFFAFF300800020AFF311
+:104140000080FDF77FFF00F000F800F001B80000EC
+:1041500007463846FFF716FFFBE7AFF30080FFF78F
+:104160009BFFFFF7E3FFFFF7FEBFFFF7FEBFFFF781
+:10417000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF773
+:10418000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF763
+:10419000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF753
+:1041A000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF743
+:1041B000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF733
+:1041C000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF723
+:1041D000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF713
+:1041E000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF703
+:1041F000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7F3
+:10420000FEBFFFF7FEBFFFF7FEBFF8000001810011
+:104210008100810081008100810081008100810096
+:104220008100810081008100810081008100810086
+:104230008100810081008100810081008100810076
+:104240008100810081008100810081008100BA002D
+:10425000044800100048FD000D48653A00086B3A1C
+:104260000008713A00080FFD00000FFD00000FE587
+:10427000002F30B50A4B5A6842F480225A60EFF39F
+:10428000108472B6802251F8045B40F8045B521E21
+:10429000F9D11868C103FCD484F3108830BD1040F4
+:1042A0000058EC00F8FFF400030DFF0186F4000055
+:0B42B00001F9000010FC0002093D00B5
+:040000050800415B53
:00000001FF
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_conf.h
index 7c95f77a2..7a92b8f09 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -96,6 +96,8 @@
* SMPS used when Set to 1
*/
#define CFG_USE_SMPS 0
+
+
/* USER CODE END Generic_Parameters */
/**< specific parameters ********************************************************/
@@ -110,7 +112,7 @@
/**
* AD Element - Group B Feature
*/
-/* LSB - Firt Byte */
+/* LSB - First Byte */
#define CFG_FEATURE_OTA_SW (0x08)
@@ -169,7 +171,7 @@
* Maximum supported ATT_MTU size
* This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1"
*/
-#define CFG_BLE_MAX_ATT_MTU (156)
+ #define CFG_BLE_MAX_ATT_MTU (251)
/**
* Size of the storage area for Attribute values
@@ -250,6 +252,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -259,11 +265,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS SHCI_C2_BLE_INIT_OPTIONS_LL_HOST
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -271,6 +281,20 @@
#define CFG_BLE_MAX_TX_POWER (0)
+
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+* which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -587,5 +611,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_entry.h
index c95d8bea9..286cf657d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/flash_driver.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/flash_driver.h
index ad8a207e6..593788991 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/flash_driver.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/flash_driver.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -175,5 +174,3 @@ uint32_t FD_EraseSectors(uint32_t FirstSector, uint32_t NbrOfSectors);
#endif
#endif /*FLASH_DRIVER_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_conf.h
index 125865f0e..0888552f8 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -259,5 +259,3 @@
#define CFG_HW_USART1_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/main.h
index a60f31d13..f044659fc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +64,3 @@ void SystemClock_Config( void );
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/ota_sbsfu.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/ota_sbsfu.h
index f20427b46..beff9bc3a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/ota_sbsfu.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/ota_sbsfu.h
@@ -5,17 +5,16 @@
* @brief OTP manager interface
******************************************************************************
* @attention
- *
- * <h2><center>&copy; Copyright (c) 2018 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ *
+ * Copyright (c) 2018(-2021) STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* This file brings SBSFU functions and constants that are needed by ble_ota project*/
@@ -46,5 +45,3 @@ extern "C" {
#endif
#endif /*__OTA_SBSFU_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32_lpm_if.h
index d8e67947f..45c31caa5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
-* @file stm32_lpm_if.h
-* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
-* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
-* This software component is licensed by ST under BSD 3-Clause license,
-* the "License"; You may not use this file except in compliance with the
-* License. You may obtain a copy of the License at:
-* opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +77,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_hal_conf.h
index 5bf219814..41922971b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -346,5 +347,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_it.h
index 10237096f..64aaf86fe 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -75,5 +74,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/vcp_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/vcp_conf.h
index 7280c33b9..67ce3231a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/vcp_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Inc/vcp_conf.h
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file vcp_conf.h
* @author MCD Application Team
* @brief Configuration of the vcp interface
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -49,5 +48,3 @@ extern "C"
#endif
#endif /*__VCP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_debug.c
index 340409c37..9a6ec616e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -43,7 +43,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -119,8 +119,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -388,5 +396,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_entry.c
index 05122eca8..4d0b2124d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -476,4 +476,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/flash_driver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/flash_driver.c
index dcd415b18..8279bf76d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/flash_driver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/flash_driver.c
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
- * File Name : flash_driver.c
- * Description : Dual core Flash driver
- *
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * File Name : flash_driver.c
+ * Description : Dual core Flash driver
+ *
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes ------------------------------------------------------------------*/
#include "app_common.h"
@@ -82,7 +81,8 @@ uint32_t FD_EraseSectors(uint32_t FirstSector, uint32_t NbrOfSectors)
{
/**
* Notify the CPU2 there will be no request anymore to erase the flash
- * On reception of this command, the CPU2 disables the BLE timing protection versus flash erase processing
+ * On reception of this command, the CPU2 will disables the BLE timing protection versus flash erase processing
+ * The protection is active until next end of radio event.
*/
SHCI_C2_FLASH_EraseActivity(ERASE_ACTIVITY_OFF);
@@ -142,6 +142,9 @@ SingleFlashOperationStatus_t FD_EraseSingleSector(uint32_t SectorNumber)
{
SingleFlashOperationStatus_t return_value;
+ /* Add at least 5us (CPU1 up to 64MHz) to guarantee that CPU2 can take SEM7 to protect BLE timing */
+ for (volatile uint32_t i = 0; i < 35; i++);
+
/* The last parameter is unused in that case and set to 0 */
return_value = ProcessSingleFlashOperation(FLASH_ERASE, SectorNumber, 0);
@@ -308,10 +311,10 @@ __WEAK WaitedSemStatus_t FD_WaitForSemAvailable(WaitedSemId_t WaitedSemId)
{
/**
* The timing protection is enabled by either CPU1 or CPU2. It should be decided here if the driver shall
- * keep trying to erase/write the flash until successful or if it shall exit ans report to the user that the action
+ * keep trying to erase/write the flash until successful or if it shall exit and report to the user that the action
* has not been executed.
* WAITED_SEM_BUSY returns to the user
- * WAITED_SEM_FREE keep looping in the driver until the action is executed. This will result in the current tack looping
+ * WAITED_SEM_FREE keep looping in the driver until the action is executed. This will result in the current stack looping
* until this is done. In a bare metal implementation, only the code within interrupt handler can be executed. With an OS,
* only task with higher priority can be processed
*
@@ -319,4 +322,3 @@ __WEAK WaitedSemStatus_t FD_WaitForSemAvailable(WaitedSemId_t WaitedSemId)
return WAITED_SEM_BUSY;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_uart.c
index 3b9a4e6f1..0046492c9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/hw_uart.c
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file hw_uart.c
* @author MCD Application Team
* @brief hardware access
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes ------------------------------------------------------------------*/
@@ -456,5 +455,3 @@
return;
}
-
- /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/main.c
index 5e0ce4d30..13ab439a1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -393,5 +393,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/standby_stm32wb15.c
index 15bde0aaf..668547b6f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -160,4 +159,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32wbxx_it.c
index 826f82d13..0ae2930cd 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -208,5 +207,3 @@ void IPCC_C1_RX_IRQHandler(void)
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/system_stm32wbxx.c
index 402b82b9c..5af98784c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -176,10 +175,12 @@ const uint32_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
-const uint32_t SmpsPrescalerTable[4][6]={{1,3,2,2,1,2}, \
- {2,6,4,3,2,4}, \
- {4,12,8,6,4,8}, \
- {4,12,8,6,4,8}};
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
+ const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
+ {2UL,6UL,4UL,3UL,2UL,4UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}};
+#endif
/**
* @}
@@ -570,5 +571,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/stm32wb15xx_flash_cm4.icf
index d02741401..733dd9210 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/EWARM/stm32wb15xx_flash_cm4.icf
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/startup_stm32wb15xx_cm4.s
index f7cdf820d..3b925699a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
index cc5e36e89..f434782b6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x7000 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 44f82f6bd..5b0739c48 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.c
index 2d3b5ab2e..b11becdd4 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.c
- * Description : Application file for BLE Middleware.
- *
- *****************************************************************************
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -131,7 +130,8 @@ void APP_BLE_Init( void )
0,
CFG_BLE_MAX_COC_INITIATOR_NBR,
CFG_BLE_MIN_TX_POWER,
- CFG_BLE_MAX_TX_POWER}
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
};
/**
@@ -207,6 +207,7 @@ void APP_BLE_Init( void )
SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
{
+
hci_event_pckt *event_pckt;
evt_le_meta_event *meta_evt;
evt_blecore_aci *blecore_evt;
@@ -229,7 +230,7 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
switch (meta_evt->subevent)
{
- case HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE:
+ case HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE:
break; /* HCI_HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE */
default:
@@ -589,4 +590,3 @@ void SVCCTL_ResumeUserEventFlow( void )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.h
index a900670fd..f9915783e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/app_ble.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.h
- * Description : Application configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -72,5 +71,3 @@ void APP_BLE_Key_Button3_Action(void);
#endif
#endif /*APP_BLE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_conf.h
index c2cc0cf7f..012a76b60 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -56,11 +55,10 @@
#define BLE_CFG_CLT_MAX_NBR_CB 0
/******************************************************************************
- * GAP Service - Apprearance
+ * GAP Service - Appearance
******************************************************************************/
#define BLE_CFG_UNKNOWN_APPEARANCE (0)
#define BLE_CFG_HR_SENSOR_APPEARANCE (832)
#define BLE_CFG_GAP_APPEARANCE (BLE_CFG_UNKNOWN_APPEARANCE)
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_dbg_conf.h
index 1c1397ce9..ea7d6a4c9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -203,5 +202,3 @@
#endif
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/otas_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/otas_app.c
index 2fbb5de4c..ee5ec0de0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/otas_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/otas_app.c
@@ -1,21 +1,20 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file otas_app.c
* @author MCD Application Team
* @brief OTA Service Application
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
@@ -196,7 +195,7 @@ void OTAS_STM_Notification( OTA_STM_Notification_t *p_notification )
CFG_OTA_REBOOT_VAL_MSG = CFG_REBOOT_ON_FW_APP;
#ifdef OTA_SBSFU
- /* Comunication with SBSFU : FW application installation by SBSFU requested */
+ /* Communication with SBSFU : FW application installation by SBSFU requested */
STANDALONE_LOADER_STATE = STANDALONE_LOADER_INSTALL_REQ;
#endif /* OTA_SBSFU */
@@ -205,7 +204,7 @@ void OTAS_STM_Notification( OTA_STM_Notification_t *p_notification )
case Wireless_Fw:
#ifdef OTA_SBSFU
- /* Comunication with SBSFU : by-pass mode requested for Wireless stack installation by FUS */
+ /* Communication with SBSFU : by-pass mode requested for Wireless stack installation by FUS */
STANDALONE_LOADER_STATE = STANDALONE_LOADER_BYPASS_REQ;
NVIC_SystemReset(); /* it waits until reset */
@@ -235,5 +234,3 @@ void OTAS_STM_Notification( OTA_STM_Notification_t *p_notification )
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/tl_dbg_conf.h
index bd808a41b..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..4eecadfdd 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,7 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
+
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +701,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/readme.txt
index 71d418015..d35639559 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_Ota/readme.txt
@@ -8,12 +8,12 @@
* @brief OTA implementation
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -57,7 +57,7 @@ Connectivity, BLE, IPCC, HSEM, RTC, UART, PWR, BLE protocol, Dual core
- BLE/BLE_Ota/Core/Src/stm32_lpm_if.c Low Power Manager Interface
- BLE/BLE_Ota/Core/Src/hw_timerserver.c Timer Server based on RTC
- BLE/BLE_Ota/Core/Src/hw_uart.c UART Driver
- - BLE/BLE_Ota/STM32_WPAN/App/otas_app.c The OTA service mangement
+ - BLE/BLE_Ota/STM32_WPAN/App/otas_app.c The OTA service management
@par Hardware and Software environment
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/BLE_TransparentMode.ioc b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/BLE_TransparentMode.ioc
index 9ce29c3d0..cd29400a6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/BLE_TransparentMode.ioc
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/BLE_TransparentMode.ioc
@@ -56,8 +56,8 @@ Mcu.PinsNb=15
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.3.0
-MxDb.Version=DB.6.0.30
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel4_IRQn=true\:15\:0\:true\:false\:true\:false\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -106,6 +106,8 @@ ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32WB15CCUx
+ProjectManager.Example=BLE_TransparentMode
+ProjectManager.ExampleSource=CubeFw
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x400
@@ -206,5 +208,3 @@ VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TINY_LPM_VS_TINY_LPM.Mode=TINY_LPM_Enabled
VP_TINY_LPM_VS_TINY_LPM.Signal=TINY_LPM_VS_TINY_LPM
board=custom
-ProjectManager.Example=BLE_TransparentMode
-ProjectManager.ExampleSource=CubeFw
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Binary/BLE_TransparentMode_reference.hex b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Binary/BLE_TransparentMode_reference.hex
index 824c646ec..6b977de61 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Binary/BLE_TransparentMode_reference.hex
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Binary/BLE_TransparentMode_reference.hex
@@ -1,1104 +1,1160 @@
:020000040800F2
-:1000000008100020154100087141000873410008E4
-:1000100075410008774100087941000800000000A0
-:100020000000000000000000000000007B4100080C
-:100030007D410008000000007F4100088141000868
-:10004000AD430008B1430008B5430008B7410008BC
-:10005000B9430008BD430008A5410008C14300089A
-:10006000C5430008C9430008AB410008CD43000860
-:10007000D1430008D543000885410008D943000852
-:10008000DD430008E1430008E543000800000000EC
-:1000900000000000E9430008ED430008B1410008FA
-:1000A000F1430008F5430008F9430008FD43000848
-:1000B0000144000805440008094400080D440008F4
-:1000C00000000000000000001144000800000000D3
-:1000D0008B41000815440008000000001944000886
-:1000E0001D440008214400080000000025440008C9
-:1000F000994100089D410008A141000829440008D9
-:100100002D44000800000000000000000000000076
-:10011000314400083544000839440008000000005C
+:10000000081000208D440008E9440008EB44000873
+:10001000ED440008EF440008F1440008000000002F
+:10002000000000000000000000000000F344000891
+:10003000F544000800000000F7440008F9440008F7
+:1000400025470008294700082D470008FD440008FF
+:1000500031470008354700082145000839470008A6
+:100060003D4700084147000827450008454700086C
+:10007000494700084D47000801450008514700085E
+:1000800055470008594700085D4700080000000078
+:100090000000000061470008654700082D45000882
+:1000A000694700086D470008714700087547000858
+:1000B000794700087D470008814700088547000808
+:1000C0000000000000000000894700080000000058
+:1000D000074500088D470008000000009147000810
+:1000E0009547000899470008000000009D47000858
+:1000F00015450008194500081D450008A1470008DE
+:10010000A5470008000000000000000000000000FB
+:10011000A9470008AD470008B147000800000000EB
:1001200000000000000000000000000000000000CF
-:1001300000000000000000003D44000838B5040045
+:100130000000000000000000B547000838B50400CA
:1001400009D004F18005686808B900F01EF800F0D5
:1001500021F8012801D1012032BDA06A08B100F0C8
:100160002AF800F00AF821F02A01FFE7816000F088
-:100170001BF8BDE8324000F02EBB2068416821F436
+:100170001BF8BDE8324000F074BB2068416821F4F0
:1001800090414160206881687047002129702046B5
-:1001900000F060BE242068602068016849084900BA
-:1001A0000160204600F0B0B92068016841F001010B
-:1001B000016020467047204600F0AABA30B500F131
-:1001C00080035C68202C41D109B1140001D10120C9
-:1001D00030BD1C78012C39D001251D7000F154046C
-:1001E00001652280628000212162D960212159604D
-:1001F00021698268B1F1005F13D1B2F5805F04BF5D
-:100200000169002907BFDFF8F4242262DFF8F01447
-:100210002162002119700068816841F40001816049
-:1002200012E0B2F5805F04BF0169002907BFDFF863
-:10023000D4242262DFF8D0142162002119700068F2
-:10024000016841F080010160002030BD022030BD16
-:1002500038B500F180039C68202C0DD109B1140041
-:1002600001D1012032BD1C78012C05D000F006F828
-:10027000BDE8384000F01DBB022032BD01251D70D5
-:100280000023C366DFF884440368A34206D05C6899
-:10029000250203D51D6845F080651D6070478168A3
-:1002A00021F0400181607047206881684A067047EC
-:1002B0002068016821F0100101607047F8B504461C
-:1002C00040F60F002668F1693268B368084004F10F
-:1002D0005C050ED1880602D5900602D4D80040F104
-:1002E00080806969002900F00E812046BDE8F44055
-:1002F0000847DFF8BC06034204BFDFF8B8763A428D
-:100300006FD0CF0707D5D70505D5012737622E6BEC
-:1003100046F001062E638E0708D5DE0706D527684E
-:1003200002263E622E6B46F004062E634E0708D569
-:10033000DE0706D5276804263E622E6B46F00206CD
-:100340002E630E070AD5960601D4034206D026680E
-:1003500008203062286B40F008002863080509D5A2
-:10036000500107D526684FF400603062286B40F0DA
-:1003700020002863286B002832D0890607D5900614
-:1003800001D4D80003D5696909B120468847286B94
-:1003900021688A68510602D410F0280F1BD020462D
-:1003A00000F0EBFAFFF780FF10D5FFF778FF286A1F
-:1003B00060B10FF219618163286A00F038FE0028ED
-:1003C0000ED0286A816BBDE8F44008472046BDE89E
-:1003D000F24000F0F3BE204600F0F0FE002028635B
-:1003E000F1BD2869012853D1CF0651D5D0064FD58C
-:1003F0001020306222689068410626D5296A086874
-:10040000406880B20028EBD02B8898427BDA688065
-:10041000086801688B0614D4106820F4807010609E
-:10042000206881684908490081602068FFF737FF2C
-:100430002020E86200202861FFF73AFF286A00F0D8
-:10044000C0FD29886888091A1CE028886988411A33
-:10045000688800281CBF88B2002854D01368DFF8D1
-:10046000440823F4907313602268936803409360F8
-:100470002020E8620020286168612068026822F07C
-:10048000100202602046BDE8F44089B200F097BE39
-:10049000C80209D5580207D54FF4801030622046B3
-:1004A000BDE8F24000F006BF080609D5100601D4E9
-:1004B000180205D5A96931B32046BDE8F4400847C4
-:1004C00048060ED550060CD5306820F0400030604C
-:1004D0002021A9620020A8612046BDE8F24000F07A
-:1004E00007BF080206D5500004D52046BDE8F240FB
-:1004F00000F010BFC80148BF002A04D52046BDE85F
-:10050000F24000F008BFF1BDF8B50446DFF89807E7
-:100510002168DFF898C70A68DFF894770240A0687E
-:1005200002432069024360690243E06902430A60B2
-:1005300000254A68E06822F4405202434A60A369F9
-:10054000724A91421CBF206A03438E68DFF8640739
-:10055000064033438B600FF63006CB6A606A1B0996
-:1005600040EA0313CB626145DFF84C074FF40043C8
-:1005700039D13F6807F00307032F4DD8DFE807F0B4
-:10058000024643494FF0010CE169B1F5004F4FF6C7
-:10059000F07740F08080BCF1010F09D0BCF1020F70
-:1005A0000AD0BCF1040F71D0BCF1080F71D099E0F2
-:1005B00001F06CFA002815D0626A616836F81230D2
-:1005C000B0FBF3F04A0802EB4002B2FBF1F080B25C
-:1005D000A0F11001B942EAD20740C0F3420007433C
-:1005E0002068C7607FE0914216D13F6817F44067EA
-:1005F00023D0B7F5806F09D0B7F5006F03D0B7F5FA
-:10060000406F06D008E04FF0020C07E04FF0040CFA
-:1006100004E04FF0080C01E04FF0100C9142B3D110
-:10062000BCF1000F09D0BCF1020F0AD0BCF1040FDD
-:1006300015D0BCF1080F15D054E001F01FFA0028C6
-:1006400051D0616A36F81120B0FBF2F6626802EB15
-:1006500042018E4246D31103B14205D242E001F07D
-:10066000C3F9ECE71846ECE75008002110EB062030
-:1006700051EB1661002301F087FAA0F54071DFF815
-:100680003C2691422ED22268D0602CE001F0ACF9D9
-:1006900090E7184690E7BCF1010F09D0BCF1020FBA
-:1006A00009D0BCF1040F18D0BCF1080F18D019E024
-:1006B00001F0ECF9B8B1626A36F812306168B0FB4B
-:1006C000F3F000EB5100B0FBF1F080B2A0F11001AB
-:1006D000B94207D22168C86005E001F085F9E9E771
-:1006E0001846E8E7012504F16800012141800180F6
-:1006F00000218160C1602846F2BD0000750A000833
-:10070000350A0008070A0008DD09000800800040DB
-:1007100090F82810CA0706D502685368C16A23F406
-:1007200000330B43536090F828108A0706D50268FF
-:100730005368016B23F480330B43536090F8281007
-:100740004A0706D502685368416B23F480230B43A4
-:10075000536090F828100A0706D502685368816B29
-:1007600023F400430B43536090F82810CA0606D5C3
-:1007700002689368C16B23F480530B43936090F835
-:1007800028108A0606D502689368016C23F400538A
-:100790000B43936090F828104A0610D502685368FE
-:1007A000416C23F480130B435360416CB1F5801FFF
-:1007B00005D15368816C23F4C0030B43536090F858
-:1007C00028100A0606D501684A68C06C22F4002287
-:1007D00002434A607047F8B5044604F180050020E2
-:1007E000E8606FF07E4701F0E7FA0646206801688E
-:1007F0000A0708D50097334600224FF4001120461F
-:1008000000F017F860B9206801684A070AD5009718
-:10081000334600224FF48001204600F00AF808B168
-:100820000320F2BD20206860A8600020E0662870E8
-:10083000F2BD2DE9F041069C05460E4690461F4646
-:100840002868C1693140B1420CBF012000204045F9
-:100850001CD114F1010FF3D001F0AEFAC01B844299
-:1008600000D314B900F015F80CE0286801684A07B5
-:10087000E6D5C1690A05E3D54FF40062026200F0D3
-:1008800008F8C16000210170032000E00020BDE8ED
-:10089000F0812868016821F4D071016028688168BE
-:1008A00049084900816005F1800020214160816094
-:1008B000704730B500F15C0381651A805A800021D1
-:1008C0005961FF248168B1F5805F04D1016961B984
-:1008D00040F2FF1409E011B9016929B905E0B1F14D
-:1008E000805F06D1016911B97F249C8003E03F211C
-:1008F00000E00021998000F180040021E1602221C4
-:10090000A16001688D6845F001058D609968B1F1BD
-:10091000005F1CD19D89AA4219D38268B2F5805F1D
-:1009200004BF0169002907BF0FF2ED225A610FF2DF
-:10093000512159610021217001680A6842F48072D6
-:100940000A600068816841F08051816013E082682C
-:10095000B2F5805F04BF0169002907BF0FF295124D
-:100960005A610FF269115961002121700068016814
-:1009700041F490710160002030BD01680A6822F4E2
-:1009800090720A60DFF81C13026893680B40936052
-:10099000C16E012904D101680A6822F010020A60C0
-:1009A0002021C0F888100021C1660167704700004F
-:1009B0000100001020010004136823F0800313607D
-:1009C0000068016841F0400101607047806A00F1F1
-:1009D000560100220A810A8000F0F0BBD0F8841092
-:1009E00021290FD10268B0F8561001B9E4E7036D70
-:1009F00019789162016D4A1C0265B0F856104A1EC2
-:100A0000A0F856207047D0F88410212911D102682F
-:100A1000B0F8561001B9CFE7036D1988C1F308018A
-:100A20009162016D8A1C0265B0F856104A1EA0F84A
-:100A300056207047D0F88410212900D0704730B577
-:100A400000F15602938A0CE0E1690D0608D5016DAC
-:100A50000D78A562016D4C1C04651488611E11801F
-:100A60005B1E99B229B1046811880029ECD100F00D
-:100A700023F830BDD0F88410212900D0704730B55C
-:100A800000F15602938A0EE0E1690D060AD5016D68
-:100A90000D88C5F30805A562016D8C1C04651488DA
-:100AA000611E11805B1E99B229B10468118800296A
-:100AB000EAD100F001F830BDA26822F40002A26081
-:100AC0000068016841F04001016070471CB500F00A
-:100AD00025F80AD14A6AA1880A40816D0A70816DA1
-:100AE0004A1C00F021F821B924E0886940F0080090
-:100AF000886113BD1CB500F011F80AD14A6AA188BB
-:100B00000A40816D0A80816D8A1C00F00DF821B9C0
-:100B100010E0886940F00800886113BD00F15C04B2
-:100B20000168E26A222A7047826561884A1E6280F3
-:100B30006188704700F01DF801688A685208520009
-:100B40008A602021E162002161612169012905D1CA
-:100B500000F009F8218800F032FB01E000F0BEFB54
-:100B60000020206113BD01680A6822F010020A60AB
-:100B7000704701680A6822F490720A6070470000AA
-:100B80002DE9F04700F0B3F83CD1A089DFF81481DB
-:100B900080B96088002837D0A189884234DA00F013
-:100BA000A0F8474800F096F82EE0304600F096FB9B
-:100BB00000202061A806ECD500F086F80870B06D22
-:100BC000411C00F0B6F814D0E90748BF5FEAC951EC
-:100BD00001D500F0B7F8A80703D5F80701D500F054
-:100BE000A0F800F091F820B1304600F0E7FA0021BB
-:100BF000216360880028DDD100F0B4F8D5D100F081
-:100C0000A8F8D5E700F002F8BDE8F087816941F067
-:100C100008018161704700002DE9F04700F067F896
-:100C20003CD1A089DFF87C8080B96088002837D06B
-:100C3000A189884234DA00F054F8224800F04AF8DA
-:100C40002EE0304600F04AFB00202061A806ECD5DB
-:100C500000F03AF80880B06D811C00F06AF814D0FA
-:100C6000E90748BF5FEAC95101D500F06BF8A80752
-:100C700003D5F80701D500F054F800F045F820B18D
-:100C8000304600F09BFA0021216360880028DDD106
-:100C900000F068F8D5D100F05CF8D5E7FFF7B6FFB3
-:100CA000BDE8F087FEFFFFEFF369FFCF003801409A
-:100CB00088000058FFF4FF110024F40000FD0F002D
-:100CC000CD0A0008F50A00083068406AB16D0AEAEA
-:100CD0000000704760613068016841F020010160E8
-:100CE00070473068816821F0805181607047064606
-:100CF00006F15C043068B4F804A0C569D0F800902F
-:100D00008768E16A22297047680708D5F80706D581
-:100D1000316804200862206B40F002002063206BE1
-:100D20007047316802200862206B40F004002063A5
-:100D30007047B1656088411E61803068C56915F0F3
-:100D4000070F704701210162206B40F00100206312
-:100D500070473068016821F0100101603046218839
-:100D600000F02DBA3068016821F4807101603068AC
-:100D7000816808EA010181602020E0620020606152
-:100D800020690128704700000100020004000600ED
-:100D900008000A000C001000200040008000000144
-:100DA000544981B00A6802430A600968084000900B
-:100DB000009801B0704780B54FF40020FFF7F0FFB6
-:100DC000002200212E2001F019F8BDE802402E205B
-:100DD00001F032B800684849884200D0704780B5B9
-:100DE0004FF48010FFF7DCFF002200212C2001F0DF
-:100DF00005F82C2001F020F8002200212D2000F021
-:100E0000FDFFBDE802402D2001F016B81CB50446D8
-:100E10003A49206888421CD101F064F801F062F878
-:100E20003748816B21F4407141F480718163816B9B
-:100E300041F400418163026842F48062026000680C
-:100E400000F48060009000982046BDE8164001F054
-:100E50005DB813BD38B586B0044601A8142101F071
-:100E60006DF82168274A914242D12748274D4169B0
-:100E700041F4804141610222416901F480410091C5
-:100E80000099016841F0010101604FF4C061006800
-:100E900000F00100009000980191012003900321CF
-:100EA000072004910590029201A94FF0904001F0B3
-:100EB00049F8174828600F2068601020A8600020BB
-:100EC000E8608020286100206861A861E8612862EC
-:100ED000284600F01FF808B101F046FAA567AC6299
-:100EE00000220021242000F089FF242000F0A4FF2C
-:100EF00007B030BD50000058000C005800280040DA
-:100F000058000058003801404C0000583C130020A5
-:100F10004400024038B5040001D1012032BD2168EF
-:100F2000DFF880024018142204F12405B0FBF2F22D
-:100F3000DFF87402E86192002A62022068700A6891
-:100F4000A0686FF30E120243E06802432069024377
-:100F500060690243A0690243E0690243206A0243D8
-:100F60000A60204600F0F9F8A068B0F5804F04BF91
-:100F7000002161602079696A00F03F0000F014F8F8
-:100F800038B1052805D2204600F0FBF800F012F831
-:100F900003E0002028636863A8630020A8610120A3
-:100FA00068700020287032BD0860A96AE86A48604D
-:100FB00060687047296B00200860696BA86B486007
-:100FC000704781B040B100F124014A78022A05D06F
-:100FD0000420886100200870012026E00268136860
-:100FE00023F00E0313604A6A136823F480731360BE
-:100FF00000680268520852000260012091F8202027
-:10100000CB6902F01C02904058608A6AC86A50603E
-:10101000086B30B1026822F4807202604A6B886B00
-:101020005060012048700020087001B0704738B54A
-:1010300000F1240200245178022903D00420906199
-:10104000012428E001680B6823F00E030B6001689F
-:101050000D686D086D000D60516A0B6823F4807394
-:101060000B60012192F82030D56903F01C039940F0
-:101070006960936AD16A5960116B31B10B6823F4CE
-:1010800080730B60536B916B596001215170147028
-:10109000516901B18847204632BDF8B500F12401FD
-:1010A0000423CA6914680268156891F8206006F084
-:1010B0001C0603FA06F73C4210D06F070ED51468E1
-:1010C000A50603D4156825F00405156000F03DF869
-:1010D000C968002938D0BDE8F4400847022303FA64
-:1010E00006F73C4213D0AF0711D51468A50605D406
-:1010F000156825F00A05156001224A7000F025F8F0
-:1011000000220A708968F9B1BDE8F4400847082355
-:1011100003FA06F6344217D02B0715D5136823F0CF
-:101120000E031360012291F82030CC6903F01C03F8
-:101130009A40626001228A614A7000220A7009693D
-:1011400011B1BDE8F4400847F1BD91F82020CC6909
-:1011500002F01C02934063607047426C134992088E
-:1011600001EB82018164142201780839B1FBF2F1AC
-:101170000F4AC26401F01F01012202FA01F1016568
-:10118000704701790B4A01F03F0102EB8102426591
-:10119000491E094A826501F0030101228A40C265A5
-:1011A00070470000F8FFFDBF000002400008024049
-:1011B00080080240FC080240400902407047704726
-:1011C00010B500F180010A78012A01D1022010BD7A
-:1011D00001230B7024224A600268136814686408B3
-:1011E000640014600022426623F00053006803602C
-:1011F000202048600020087010BD70B500F01EF877
-:1012000001D1022070BD00F01FF822F0604209E019
-:1012100070B500F013F801D1022070BD00F014F891
-:1012200022F0606211438160204600F01AF82068C5
-:101230000660202068600020287070BD044604F11C
-:10124000800528780128704701222A7024206860D0
-:1012500020680668026852085200026020688268AE
-:10126000704730B5416E11B90121012214E00168C7
-:101270000FF230048A6889680FF23003520E02F0D0
-:101280000702490F655CA45C595C9A5CED00E400C0
-:1012900095FBF1F194FBF2F268304180028030BDA1
-:1012A000000000000101010307010000080402041E
-:1012B000080101017047704730B9124803601248B5
-:1012C000124B0360FEF7C4BF704730B9104803608B
-:1012D0000D480E4B0360FEF771BF704700680B4965
-:1012E000884204D107490868002818BF00477047A2
-:1012F00000680649884204D105490868002818BFDB
-:10130000004770475C1400209C1100200038014009
-:1013100060140020704770474FF0B040006800F044
-:10132000F000B02888BFB02070472DE9F0410400DC
-:1013300054D0207881064FF0B04538D5A868E968C8
-:1013400010F00C0001F0030103D00C2808BF0129A4
-:1013500046D12868800702D5E06900283ED0FFF713
-:10136000DBFF616A884207D2084600F0A0FB002834
-:1013700034D100F043FA0FE0286820F0F000014378
-:1013800029606968206A21F47F4141EA002169608F
-:10139000606A00F08CFB08BB00F062FBDFF88C1782
-:1013A0000860DFF88C07006800F0E0FFB0B9207833
-:1013B000C1070DD5A868E96800F00C00082801F005
-:1013C000030103D00C2808BF03292CD1286880030F
-:1013D00040F11D816068002840F01981012006E27B
-:1013E000E06980B1296841F0010100F0F3FA064696
-:1013F0002868800700F1088100F0DEFC801B0328CC
-:10140000F6D30320F3E128684008400000F0A8FB71
-:101410000646286800F0EEF9C9D000F0CDFC801B2C
-:101420000328F6D3EDE76068B0F5803F04D1296862
-:1014300041F48031296003E02A6822F480322A6076
-:10144000606860B100F0B8FC06462868800300F1CF
-:10145000DE8000F0B1FC801B6528F6D3D1E700F0F8
-:10146000ABFC06462868400C10F0010000F0CF806D
-:1014700000F0A2FC801B6528F4D3C2E700F09CFCBE
-:10148000C01B0328C0F0F780BBE7E06878B129688B
-:1014900041F4807100F09EFA06462868400500F18C
-:1014A000FD8000F089FC801B0328F6D3A9E728689B
-:1014B00020F4807000F054FB06462868800A10F083
-:1014C000010000F0C28000F077FC801B0328F4D3F9
-:1014D00097E700F071FCC01B0328C0F0F18090E793
-:1014E00040F0010000F09BF907467068800700F1AA
-:1014F000028100F061FCC01B0328F6D381E770680D
-:1015000020F0040000F08BF907467068C00810F066
-:10151000010000F0FF8000F04FFCC01B0428F4D352
-:101520006FE70528306806D140F00400306031686C
-:1015300041F0010105E0400840003060316821F0D1
-:1015400004013160A06841F2893768B100F034FCD1
-:1015500080463068800700F1F28000F02DFCA0EB9F
-:101560000800B842F5D34CE700F026FC804630680E
-:1015700000F040F900F0E38000F01EFCA0EB080052
-:10158000B842F4D33DE700F017FC801B0328C0F0FD
-:10159000088136E700F010FC001B0328C0F0228110
-:1015A0002FE7286881010CD4296841F080712960F7
-:1015B000E86840F08050E86000F0FEFB04462868D0
-:1015C000810100F1138100F0F7FB001B0328F6D323
-:1015D00017E70C2930D0286820F080702860E9686F
-:1015E00089088900E960E86820F08050E86000F030
-:1015F000E3FB04462868810140F1F88000F0DCFB41
-:10160000001B0328F6D3FCE600F0F8F8CFE62078BC
-:1016100081071AD5A868E96800F00C00042801F0D9
-:10162000030104D00C2808BF02297FF42EAF2868DC
-:10163000400503D5E06800283FF4D0AE6968206912
-:1016400021F0FE4141EA006169602168DFF8E4644D
-:1016500011F0180F38D0606900283FF450AFC90668
-:1016600070687FF53DAF800709D4706840F00100D5
-:1016700000F0D5F80746706880077FF5FFAE706808
-:1016800040F0040000F0CBF80746706800070DD466
-:1016900000F092FBC01B0428F7D3B2E6686821690A
-:1016A00020F0FE4040EA01606860CEE77068A16902
-:1016B00020F4706040EA0120706000F0ADF8074649
-:1016C00000F097F87FF405AF2078410737D5DFF8B1
-:1016D00068743868C10529D400F004FC00F06CFB84
-:1016E00080463868C10521D400F066FBA0EB0800F5
-:1016F0000328F6D385E6706820F0040070607068F7
-:10170000C00810F00100DFD000F056FBC01B042819
-:10171000F5D376E600F080F8074600F06AF8D3D0FB
-:1017200000F04AFBC01B0328F7D36AE6A068012833
-:101730007FF4F7AE306840F00100306002E7A06A45
-:10174000002853D0A968EA68022801F00C017FF450
-:1017500040AFE36A02F00300984202BF02F070005B
-:10176000236B984214D1636BC2F30620984202BFE8
-:1017700002F47810A36B98420AD1E36B02F0606028
-:10178000984202BF02F06042206C82423FF409AFEF
-:101790000C293FF423AE286820F0807000F0E0F9B7
-:1017A0000646296888013FF5EEAEE968DFF88C034C
-:1017B000626B0140E06A0143206B0143A06B41EA88
-:1017C00002210143E06B0143206C0143E96028687A
-:1017D00040F080702860E96841F08051E96000F0D5
-:1017E000EBFA0446286881017FF5D4AE0020BDE8FD
-:1017F000F0817068400810F0010070472968606A45
-:1018000021F0F001014329606868216A20F47F40DB
-:1018100040EA0120686070477068400840007060CE
-:1018200000F0CABA2DE9F8430400884644D0DFF836
-:10183000106300F0CAF847D200F0CFF8074600F076
-:10184000C4F841D000F0B8FAC01B0228F7D9032031
-:10185000B9E000F0B1FA401B022843D9F7E700F0E5
-:10186000ABFAA0EB090002284CD9F0E700F0A4FA8B
-:10187000A0EB0900022854D9E9E700F09DFA401BCB
-:1018800002285DD9E3E700F097FA401B022867D9E8
-:10189000DDE700F091FA401B484577D3D7E70328EE
-:1018A00002D13968890103E00028396802D189072B
-:1018B00062D401E049055FD4012084E000F07CFAA5
-:1018C000C01B022872D9C2E7207881074FF0B047C9
-:1018D0000BD5B968A06821F0F0010143B96000F0B0
-:1018E0006BFA0546B868C003B3D52078DFF83852E4
-:1018F00081060AD52968606921F0F001014300F0F2
-:1019000069F8814628688003A9D5207841060BD55F
-:101910002968A0690909090141EA101100F05AF883
-:1019200081462868C003A1D5207841070BD5B96846
-:10193000E06821F4E0610143B96000F03DFA05463A
-:10194000B868800399D5207801070CD5B86821695B
-:1019500020F4605040EAC100B86000F02DFA05465E
-:10196000B86840038FD52078C10717D56068022872
-:1019700095D1396889039FD5B968890840EA810003
-:10198000B86041F2893900F017FA0546B868616815
-:1019900000F00C00B0EB810F7FF47BAF306800F0FB
-:1019A0000700804505D200F018F8074600F00DF852
-:1019B00084D100F055F85D49086000F00DFDBDE8E8
-:1019C000F24300F0D3BCBDE8F283306800F00700BA
-:1019D00040457047296000F0EFB93168C90848EA0E
-:1019E000C101316000F0E8B938B54FF0B044564D50
-:1019F000A16811F00C0106D1FFF78EFCC0F30310B3
-:101A000055F8200032BD0429504A05D00829504815
-:101A100004D12168C90222D5104632BDE16801F027
-:101A20000301022904D0032904D12168C90207D582
-:101A3000104605E0FFF770FCC0F3031055F82000D6
-:101A4000E168E268E368C1F306214843C2F302118A
-:101A5000491C5B0FB0FBF1F05B1CB0FBF3F032BD37
-:101A600080B5FFF7C1FF3749FFE73A4A0968C1F37C
-:101A7000031152F82110B0FBF1F002BD80B5FFF761
-:101A8000EFFF00F010F8C1F3022106E080B5FFF788
-:101A9000E7FF00F008F8C1F3C22112F8211001F0AD
-:101AA0001F01C84002BD27492B4A0968704770B51D
-:101AB0002549284AB1282EBFC86AC0F3031051F83F
-:101AC00020001949096801F00F0152F82110234A3A
-:101AD000B0FBF1F0B0FBF2F0002400210FF288021D
-:101AE00052F8213083420AD2491C0329F8D90AE06E
-:101AF00000F062F9801B03280DD3032070BD0FF2A4
-:101B0000780050F821400E4D2868C00844EAC00013
-:101B100000F026F80646296801F00701A142E7D146
-:101B2000002070BD00000000080100588C1000204B
-:101B30008010002090000058000400588C80C111D3
-:101B40000040005808000058D44000080024F40069
-:101B50000048E801944000081843000840420F0084
-:101B6000286000F029B900001200000024000000E5
-:101B700036000000400000000000000001000000EE
-:101B80000200000003000000B3BBD9B1B2F5803FF2
-:101B90007DD2022A1ED98C46B1FBF2F102FB11C3A1
-:101BA0001B0443EA1043B3FBF2FC02FB1C3380B27C
-:101BB00040EA0343B3FBF2F002FB103240EA0C4070
-:101BC00000237047022A05D98446B0FBF2F002FBDD
-:101BD00010C270474AB105D100F0010249085FEA1E
-:101BE0003000704700220023704700F011BC0B004A
-:101BF0000200002100207047904271EB030CF6D3E5
-:101C0000B3F5803F2FD2F0B5B3FA83F7B1FA81F480
-:101C1000A7F10F0E3D1B5340CEF1200602FA0EF243
-:101C2000F3415340B5F10F0746D80F3C2C444140D7
-:101C3000C4F12006A040F1414140B1FBF3F603FBA3
-:101C40001611A2FB0645001BA94102D2761E801880
-:101C5000594180EA010221FA0EF362FA0EF20021E4
-:101C60005A403046F0BD30B4B1FBF3FC03FB1C110D
-:101C7000A2FB0C45001BA94103D2ACF1010C80185A
-:101C8000594130BC02460B46604600217047B2F114
-:101C9000807F65D3F0B5B2FA82F7B1FA81F4C7F16B
-:101CA0000F063D1B22FA06F307F1110EF241203513
-:101CB0005A40B5F10F07B8D94140C4F12006A04001
-:101CC000F1414140B1FBF3FC03FB1C11A2FB0C45AD
-:101CD000001BA94103D2BCF1010C801859410F2F00
-:101CE00012D30F3FC90341EA5041B1FBF3F603FBA6
-:101CF0001611A2FB0645D4EBC030A94102D2761ED4
-:101D00008018594146EACC3C07B34140C7F1200650
-:101D1000B840F1414140B1FBF3F603FB1611A2FBC1
-:101D20000645001BA94102D2761E8018594180EA5F
-:101D3000010221FA0EF3C7F1200462FA0EF20CFA46
-:101D400007F05A402CFA04F13043F0BD80EA01025A
-:101D500021FA0EF3002162FA0EF260465A40F0BDFD
-:101D60008C46B1FBF2F102FB11C31B0243EA106384
-:101D7000B3FBF2FC02FB1C331B024CEA002043EADB
-:101D80001063B3FBF2FC02FB1C331B024CEA002085
-:101D900043EA1063B3FBF2FC02FB1C331B024CEA68
-:101DA000002043EA1063B3FBF2FC02FB1C324CEA56
-:101DB000002000237047704701484068704700BF0B
-:101DC000781000200901020081B002D43C488154FF
-:101DD00005E03C4802F00F02104400F8041C01B07A
-:101DE0007047394A13684FF6FF0100020B4000F4B8
-:101DF000E0601843354908431060704738B5324BEE
-:101E00001C68C4F30223C3F10704052C28BF042473
-:101E10001D1D072D34BF0023DB1E012505FA04F428
-:101E2000641E2140994005FA03F35B1E1A401143DA
-:101E3000BDE83440C6E70000010007D4012200F0ED
-:101E40001F01234B8A40400943F8202070470100BE
-:101E50000BD4012200F01F011E4B8A40400943F8B9
-:101E60002020BFF34F8FBFF36F8F704710B5401E18
-:101E7000B0F1807F01D3012010BD174C60600F21AD
-:101E80004FF0FF30FFF79EFF0022A2600720206086
-:101E9000002010BD010007D4012200F01F010F4BEC
-:101EA0008A40400943F820207047010007D40122EE
-:101EB00000F01F010A4B8A40400943F82020704778
-:101EC00000E400E018ED00E00CED00E00000FA0591
-:101ED00000E100E080E100E010E000E000E200E06E
-:101EE00080E200E00248016841F4807101607047BF
-:101EF000000400588A60FF2102685162012180F8C5
-:101F00002110002180F820100020704790F8201048
-:101F1000012901D102207047012280F820200221EE
-:101F200080F82110CA210268516253210368596266
-:101F300001688A6842F02002DCE70000002200F01D
-:101F400069BA00002DE9F84F4FF00009614A624B71
-:101F50004FF00F0805460E4633E0604FBD4214BFF8
-:101F6000072704278F4027434CF82E70C1431C6875
-:101F700001EA040C7468E40348BF40EA0C0CC3F89F
-:101F800000C05C6801EA040C7468A40348BF40EA1E
-:101F90000C0CC3F804C0146801EA040C7468E40271
-:101FA00048BF40EA0C0CC2F800C0546801EA040CB7
-:101FB0007168890248BF40EA0C0CC2F804C009F1FC
-:101FC0000109316831FA09F072D0012404FA09F4E8
-:101FD00014EA0100F3D04FEA490C032101FA0CF195
-:101FE0006FEA010E7168012918BF022903D0112977
-:101FF00018BF122911D1A968F7680EEA010107FA82
-:102000000CF73943A960696821EA04047168C1F3D7
-:10201000001101FA09F10C436C60E968B4680EEA3A
-:10202000010104FA0CF42143E9604FEA8901746864
-:10203000022C18BF122C12D14FEAD90405EB8404EC
-:1020400001F01C07D4F820A008FA07FB2AEA0B0AC3
-:10205000D6F810B00BFA07F747EA0A0727622C6890
-:102060000EEA0407347904F0030404FA0CF43C4348
-:102070002C607468E400A2D5DFF864C04FEA990EC2
-:102080005CF82E7001F00C0108FA01F427EA040450
-:10209000B5F1904F08BF002709D0124FBD4208BFCD
-:1020A000012704D0104FBD427FF457AF022759E7F4
-:1020B000BDE8F18F81B0002A14BF8161816201B057
-:1020C00070470A4A136803421CBF106000F052BAFE
-:1020D00070470000000800588008005800100048B1
-:1020E0000800014000040048000800480C0800589F
-:1020F0008E4900E08E4981B00A6802430A6009688F
-:1021000008400090009801B0704780B589494FF4AD
-:102110000040086000F04CF9002000F031FA48B1AE
-:1021200080798549854A0A600A6822F47C5242EA2D
-:1021300000220A6000F01DF800F08AF8804801686B
-:1021400000220260026902F0500202610420FFF7DF
-:10215000D1FF0120FFF7CEFF00F0D6F800F083F8A2
-:1021600000F0A0F800F070F94FF0FF3000F01AFA1C
-:10217000FAE718B5A5B014A84421FFF7DFFE01A8BF
-:102180001C21FFF7DBFE08A83021FFF7D7FEFFF781
-:10219000A9FE6C48016821F0180101600720149025
-:1021A0004FF48031012016901591402018900021A5
-:1021B0004FF480741E91179414A8FFF7B6F808B175
-:1021C00000F0D2F86F2001900221002002910390CC
-:1021D0000490059006900790012101A8FFF722FBCB
-:1021E00008B100F0C1F843F60100089000214FF457
-:1021F00080401190099110200221139012911094A7
-:1022000008A800F0ABFA08B100F0AEF84E49086833
-:1022100020F0700008604D480268C2F3032000906F
-:10222000009830B90A681209120142F00A020A60E5
-:1022300008E000980A68001D80F30400120940EAD3
-:1022400002100860086840F40040086026B010BD25
-:1022500080B53F483F49016000F03CFB10B1BDE84C
-:10226000014081E001BD002110B53B483B4C41607D
-:1022700004600F21816047F6FF71C1600021016198
-:102280008161416100F05EFB08B100F06DF8CA2089
-:102290006062FF2153206062A068C008C000A06097
-:1022A000616210BD10B52E4C2E4820604FF4E13015
-:1022B00060600020A060E06020610C206061002070
-:1022C000A0614FF40040E061002020626062A062E3
-:1022D0002046FDF733FF08B100F046F80021204604
-:1022E000FEF78BFF08B100F03FF800212046FEF713
-:1022F0008FFF08B100F038F82046FEF761FF10B1FB
-:10230000BDE8104030E010BD80B50420FFF7F0FEBE
-:102310000120FFF7EDFE00220F210E20FFF76EFDDA
-:10232000BDE802400E20FFF787BD000048000058BE
-:102330004C000058104000589C000058FECAFECACD
-:1023400080080058900000581C0400585875FF1F62
-:102350009C130020000C0058D813002000280040D7
-:102360009C1100200038014072B6FEE770B50F4E98
-:10237000044630780025A8B1FFF772FB32784FF49D
-:102380007A71B1FBF2F1B0FBF1F0FFF76FFD48B9E4
-:10239000102C07D2002221464FF0FF30FFF72EFD10
-:1023A000B46000E00125284670BD00BF7810002011
-:1023B000144810B5016841F4807101600320FFF7F3
-:1023C00010FD0020FFF7D2FF0024002814BF0124D5
-:1023D000FEF7F1FC204610BD0B48806870470B48A3
-:1023E000016849084900016070470848016821F008
-:1023F0000201016070470548016821F00401016095
-:10240000704700000040005878100020042004E0CD
-:102410007047000000B500BF13009646944610397F
-:1024200028BFA0E80C50FAD85FEA417C28BF0CC056
-:1024300048BF40F8042BC90728BF20F8022B48BF2B
-:1024400000F8012B00BD000018B53248324C89B0AD
-:10245000016841F40041016000F018FB2F48016859
-:10246000C908C90041F00401016000F055FB2C4986
-:10247000002000F0CEFC00F0F2FD0121012000F070
-:1024800017FB00F053F800F060F800F02FFF25482C
-:1024900001F025F80FF259020021202000F0E7F8A2
-:1024A00004F23C50029020490FF22D00019000915F
-:1024B000684600F074FF04F25470039004F5C9619B
-:1024C00040F23C5006900491059403A800F0A0FF50
-:1024D00000F00AFF0AB010BD80B50146114801F0B6
-:1024E0000AF8BDE804400021202000F0CDB800002B
-:1024F00080B500F0E2FD0021012000F0D9FA694624
-:10250000084801F00EF8009800F09BFF01F01AF85F
-:1025100001BD00000800005830000320800400586E
-:10252000D8130020281400200F36000880B50020A2
-:1025300001F0EDF9012001F0EAF9022001F0E7F9DC
-:10254000BDE80240012001F00BBA80B50121002056
-:1025500001F01BFA0121012001F017FABDE8044047
-:102560000121022001F011BA00F0B6BA4FF0FF309D
-:1025700000F018B8012808BF01F058B870470000F3
-:1025800001460648064AC3798B4218BF904218BFDD
-:102590000838F8D18B4218BF00207047F873FF1F2E
-:1025A0000070FF1F2DE9FC47544CDFF85491A569DA
-:1025B0002840A0614FF0FF3A4FF0010830E0491C7D
-:1025C00054F831000642FAD004EBC1061840716895
-:1025D0001040014208BFC6F804A07768384000F0F8
-:1025E00091F8606208FA00F087437760EFF310819A
-:1025F00072B6626A206908FA02F2D2431040206182
-:10260000022004EBC00353F8086C1640401E43F848
-:10261000086CF6D181F31088606A59F82010884759
-:1026200063692069A2691840104207D0E069216AF5
-:10263000084203D1002103EA0206C1E7C4F824A03E
-:1026400001F00FFAEFF3108972B621696069014059
-:10265000A069014201BFE169206A0142FFF784FFDE
-:1026600089F3108801F0FEF9A561BDE8F38738B55C
-:102670001446EFF3108572B600F044F8204941F893
-:10268000204085F3108831BD10B500F00BF80443ED
-:102690001C6153F83140204343F83100FFE782F3D7
-:1026A000108810BDEFF3108272B6144B1C6970478E
-:1026B000506181F310887047EFF3108172B60F4AB2
-:1026C000D3691843D061F4E7F8B50C4C656A276A02
-:1026D0002E4615F1010F0EBF0025012101FA05F567
-:1026E000206202E02846FFF741FF216AE0690842C4
-:1026F000F8D088436662E0612762F1BD4410002093
-:10270000BC12002002460020110C090404BF102056
-:10271000120412F07F4F04BF083012020FF21801AA
-:1027200012F0704F04BF001D1201120FC0F11F0004
-:10273000895C401AC0B27047040302020101010122
-:102740000000000000000000DFF87C211368010C8D
-:1027500023EA014343EA0043136070472DE9F04147
-:10276000054600272868DFF864610105B8462FD5C3
-:102770003468286A04F44074844229D0FFF7B2FB1D
-:10278000002C316805D1286A21F440710143316081
-:102790001DE0306840F48030306021F440713268D0
-:1027A00022F480323260286A014331603068C00709
-:1027B0000DD5FFF701FB044641F2893830688007E8
-:1027C00005D4FFF7F9FA001B4045F7D30327B846B5
-:1027D0002878DFF8FC40C10705D5E16F68688908F3
-:1027E00040EA8101E1672878810705D5E16FA86893
-:1027F00021F440610143E1672878C10644BF28699C
-:10280000FFF7A2FF2878810644BF6869FFF79CFFA5
-:10281000287841070AD5E868E16F020902F47F22AF
-:102820000001914300F47F200843E0672868810598
-:102830001ED5A869B0F1804F18BFB0F1004F00D08D
-:1028400018B9E16F21F0404108E0E16F21F040410B
-:10285000E16720F08050E16F21F040610843E067BC
-:10286000A869B0F1C05F03D1216841F08071216097
-:10287000286841050DD5E16FE86921F04051014319
-:10288000E167E869B0F1005F03D1216841F480316C
-:1028900021602868C10405D57168686A21F4404147
-:1028A00001437160286881040BD5A169E86A21F0B1
-:1028B00030010143A161A169A86A890840EA810148
-:1028C000A1614046BDE8F0818800005890000058A2
-:1028D0000C000058F8B504460025ACB104F13406EC
-:1028E000307910B92046FEF775FA0F4F384600F0E0
-:1028F00021F8386840F001103860204600F007F8F1
-:1029000035600120307100E001252846F2BD10B588
-:102910000021064A064B00EB8104491C062963602E
-:10292000E261F8D310BD0000000C0058B71D00088C
-:10293000B7120008002101604FF03F1141603F21B4
-:102940008160704738B5040044D094F8210028B95C
-:10295000002184F820102046FEF758FA00F049F8CC
-:10296000FF2510B100F03FF834E02168DFF8B00037
-:102970008A6802408A6021688A6863682069034324
-:10298000A06903431A438A602168E06808612068EF
-:102990000169A26841EA024101612068C16821F031
-:1029A0008001C1602068C16C21F00201C16421680E
-:1029B000CA6CE369606903431A43CA64206881688A
-:1029C000880609D400F020F830B12068456204215F
-:1029D00000F01FF8012032BD20684562012184F813
-:1029E0002110002032BD20684562042184F82110A6
-:1029F0007047022084F82100CA20216848625320D1
-:102A000022685062204626E020460BE02068C0F88D
-:102A1000248084F82110002084F8200070470000F2
-:102A2000BFFF8FFF70B5044640F2E9362068C168E9
-:102A300021F0A001C160FFF7BFF905462068C16819
-:102A4000880606D4FFF7B8F9401BB042F6D303203E
-:102A500070BD002070BD70B504462068C1684A068C
-:102A600012D44FF0FF32C26040F2E936FFF7A4F90A
-:102A700005462068C168480606D4FFF79DF9401B4B
-:102A8000B042F6D3032070BD002070BD2048002165
-:102A900001604160704710B500F019F81C6819B169
-:102AA000012904D1204301E024EA000018600BE072
-:102AB00010B500F00CF85C6819B1012904D120436D
-:102AC00001E024EA0000586082F3108810BDEFF3A3
-:102AD000108272B60E4B704738B5EFF3108472B6A1
-:102AE0000B490C4D086820B1296888476868804701
-:102AF0000AE0486820B1A9688847E868804703E091
-:102B0000286980476869804784F3108831BD0000D8
-:102B100030140020804300080248016841F400712D
-:102B20000160704708040058DFF8F0140A6892B298
-:102B300000E00246086880B28242FAD170472DE96F
-:102B4000FC4104461825DFF8D884DFF8D8646843D0
-:102B500008EB00073078062808D13178717034709E
-:102B600078754FF0FF307060002039E000F077F8A2
-:102B7000B9680918B96008F10803B96832786A437E
-:102B80009A589142327813D308F1150315FB02FCD1
-:102B900013F80C30062B25D008F108066B43F358C8
-:102BA000994222BF08F115036A439A5CEED219E0FC
-:102BB0001146337869439A420BD008F1140308F1A7
-:102BC000150C5B5C15FB03F50CF805407A753B753D
-:102BD00000E07A7508F11402545431787170347041
-:102BE000BDE8F6811146694308F115035B5C062BCD
-:102BF00004D008F1140615FB03F574557B753A757E
-:102C000008F115025454EBE7F8B5DFF81834DFF893
-:102C100010541E78182402466243B0422A4404D15C
-:102C200018785870507D18700FE0167D507D92F81E
-:102C300015C005F115076643062807F806C004D03D
-:102C4000167D143514FB00F42E55012010731878EE
-:102C5000062802BF00294FF0FF315960F1BD10B5C1
-:102C6000DFF8C043606810F1010F0FD0FFF75CFF81
-:102C70006168DFF8B423814261683CBF5388C9189A
-:102C8000081A517848431178C84000E0002080B20B
-:102C900010BD2DE9F84FDFF89053DFF890B3D5F869
-:102CA0000880D8F80000DBF800104A0500F06AF947
-:102CB000DFF87063DFF868A321F4806181604FF072
-:102CC000180934780AF1080019FB04F14758FFF796
-:102CD000C6FF874217D200270121B170062C3DD0D4
-:102CE00019FB04F40AF108010AF1080209598142AA
-:102CF00023BF0AF108010959091A002111510AEBF1
-:102D000004014C7DEAE7A9884118B94202D2AF8894
-:102D10000021E2E73F1ADFE7022802DA28780128DB
-:102D200000D07F1ED8F80000C1684A07FAD500F02D
-:102D30002FF9DBF80C00000CBFB247EA0047CBF8D4
-:102D40000C70FFF7F1FE7060A8680068816841F4BC
-:102D500080618160AFF30080BDE8F18FB8B20028D8
-:102D6000DAD1FFF7E1FE70600320BDE8F24FFFF714
-:102D700091B82DE9F843EFF3108872B6AA4DA84B2D
-:102D8000A8680168CA224A6253204862A54A886836
-:102D900020F48060886018201678374647431F4427
-:102DA000387B022826D13C68D7F810909078F0B193
-:102DB0007A7B012A0AD101213046FFF725FF88F3EB
-:102DC00010887968304600F0F0F804E088F3108845
-:102DD000304600F09BF8A8680068CA21416222468C
-:102DE000532141624846314600F02AF90BE0FFF7D3
-:102DF00050FF06E0C8684207FCD500F07EF88C4919
-:102E0000086088F31088FF21A86802685162BDE855
-:102E1000F183F8B5844CA160CA2209684A62532242
-:102E20004A62824A136843F020031360136803F078
-:102E30000703C3F10403237095682D0C05F07F058B
-:102E40006D1C6570EDB29268C2F30E02521C628076
-:102E500092B2521E6A43A2F5A072DA404FF6FF7397
-:102E60009A422CBFA380A280724A136843F40023C5
-:102E70001360714B1D6845F400251D6048BB69480F
-:102E8000674E0123837018254FF0FF334360002302
-:102E90005FFA83FC06F10C0715FB0CFC4FF0000EEB
-:102EA00007F80CE05B1CDFB2062FF1DB0623037092
-:102EB000886820F48060886000F01FF8D0600320EC
-:102EC000FEF7F3FFA1680868826842F480428260DE
-:102ED00005E0C868410544BF0320FEF7DBFFA16899
-:102EE0000A68FF205062002203210320FEF786FFBC
-:102EF000BDE8F2400320FEF79FBFC86800F08000E5
-:102F000060F49060C8604FF400207047F8B5074641
-:102F1000EFF3108472B60320FEF799FF424DAE68BE
-:102F20003068CA2141623A46532141621820434920
-:102F30004243895C02291BD100213846FFF764FE19
-:102F40003848017806290ED1306838490A68530597
-:102F500000F018F821F480618160C1684A07FCD54F
-:102F600000F016F804E04078884218BFFFF791FEA1
-:102F7000A9680A68FF2050620320FEF75DFF84F312
-:102F80001088F1BD02D5C1684A07FCD4816870473A
-:102F9000C16801F0800161F49061C1604FF40020CC
-:102FA000234908600320FEF780BF2DE9F0418046E9
-:102FB0000F46424618201A4942438C18207B0228AB
-:102FC00004BF4046FFF7A2FFEFF3108572B603205F
-:102FD000FEF73DFF144EB0680068CA2141625321DC
-:102FE000416202202073A76067604046FFF7A7FD9B
-:102FF0000C490A784978914202D0FFF74AFE02E074
-:10300000A168081AA060FF20B1680A685062032016
-:10301000FEF712FF85F31088BDE8F08128280040F4
-:103020002C120020501400201C14002008280040FE
-:103030000C0800580008005880080058381200207A
-:1030400010470000564900E0564981B00A68024323
-:103050000A60096808400090009801B0704718B5F0
-:1030600085B068461421FEF769FF032001904FF4F4
-:1030700060410024009102940120FFF7E3FF00F07B
-:1030800097F8474C206840084000206018210091C4
-:103090000220FFF7D7FF69464348FEF753FF206839
-:1030A00020F002002060FFF79AF9FFF79EF9FFF782
-:1030B000A2F900F011F806B010BD00B587B068465F
-:1030C0000FF208211C2200F0DFFC00F0D6F9684660
-:1030D00000F02CFD07B000BDF0B585B068461421A6
-:1030E000FEF72CFF00260025002400210FF2CC0063
-:1030F00000EBC102907988B11368B3F1904F08D00A
-:10310000294FBB4208D0294FBB4204BF90880443DB
-:1031100004E09088064301E090880543491C222979
-:10312000E4DB002002900121032003900191B0B262
-:1031300070B100900120FFF785FF0120FFF784FFA9
-:1031400000F036F80022B1B24FF09040FEF7B2FF27
-:10315000A8B280B100900220FFF774FF0220FFF7B1
-:1031600073FF114E69463046FEF7ECFE0022A9B20D
-:103170003046FEF79FFFA0B280B100900420FFF719
-:1031800061FF0420FFF760FF084D69462846FEF7FF
-:10319000D9FE0022A1B22846FEF78CFF05B0F0BD93
-:1031A0004C0000584C01005800040048000800483A
-:1031B00069464FF09040FEF7C5BE00000000004891
-:1031C000010000000000004801000000000000486D
-:1031D000010000000000004801000000000000485D
-:1031E000010000000000004801000000000000484D
-:1031F000010000000000004801000000000000483D
-:10320000010000000000004801000000000000482C
-:10321000010000000000004801000000000000481C
-:10322000010000000000004801000000000000480C
-:1032300001000000000000480100000000000048FC
-:1032400001000000000000480100000000000048EC
-:1032500001000000000000480100000000000048DC
-:1032600001000000000000480100000000000048CC
-:1032700001000000000000480100000000000048BC
-:1032800001000000000000480100000000000048AC
-:10329000010000000000004801000000000000489C
-:1032A000010000000000004801000000000000488C
-:1032B000010000000000004801000000000000487C
-:1032C00001000000000000480100000000000000B4
-:1032D0000000000000000000BC31000828000320AE
-:1032E0002C0003202204040000F09CBC71487249A9
-:1032F000016001F12002426001F13002826001F1BF
-:103300003C02026201F14402426201F14C02C260DD
-:1033100001F15402026101F17002426101F1740293
-:1033200082618031C16100F09BBC38B50446634DB9
-:10333000284600F0D4F85F484068A1680160E16861
-:10334000C16085605E49416000F0A6FC5D4834E0E4
-:1033500080B558484268136801211972406800F02E
-:10336000A1FC002002BD38B5564C544D04E000F0DD
-:103370004BF8009821688847284600F0B3F80028E9
-:10338000F5D031BD80B54B494A68D168022008723A
-:1033900000F08DFC002002BD4A484168084738B55E
-:1033A0000446494D284600F09AF84248C068A16892
-:1033B0000160456000F084FC444821680160616858
-:1033C0004160002032BD80B53A48C26813681021C0
-:1033D0001972C06800F07AFC002002BD35483B4AF3
-:1033E000C168C16813680868184738B5374C364D4E
-:1033F00004E000F009F8009861688847284600F06A
-:1034000071F80028F5D031BD6946284600F089B82A
-:1034100038B504462E4D284600F061F82D4800F0DE
-:103420005EF824480069A1688160E168C1600561B7
-:103430002168016061684160216941616169816160
-:1034400031BD80B50146234800F055F8BDE8024083
-:103450000FF2050000F04ABC38B5164C1D4D06E0D1
-:10346000FFF7D2FF00992069006900F044F8284670
-:1034700000F038F80028F3D031BD10B5164C2046C6
-:1034800000F02DF80B4841690C60BDE8104000F0D9
-:1034900041BC1CB5104C06E06946204600F041F8DE
-:1034A000009800F01BF8204600F01CF80028F3D02C
-:1034B00013BD000000000320B40A0320500B0320BA
-:1034C000A40A032040140020580B032048140020B5
-:1034D000400B032038140020480B03207047006085
-:1034E00040607047EFF3108172B6026882420CBFF1
-:1034F0000120002012E0EFF3108272B608604368EA
-:103500004B6041604868016019E0EFF3108172B6CA
-:1035100042680368136002684368536081F310884F
-:10352000704710B5EFF3108472B602680A60006845
-:10353000FFE7FFF7EAFF84F3108810BD0B6082F30A
-:103540001088704710B590B004A80FF27C31DFF8F6
-:103550005043302200F098FA2068DFF848434FF6D5
-:10356000FC7101EA8001DFF840034118DFF83C03F9
-:103570000290E16000F5867003900FF2B9210FF21E
-:10358000CD20019000916846FFF7CFFE0121022077
-:10359000FFF78EFA01210220FFF77DFA0020E0708C
-:1035A000A07004A800F0BAFA0FF20112002108205E
-:1035B000FFF75DF8BE4A00210120FFF758F80FF22F
-:1035C000990200211020FFF752F8BA4A0021022088
-:1035D000FFF74DF8B84A00210420FFF748F8012012
-:1035E00060700020A06004F11800FFF778FFFEF77C
-:1035F00059FE04F1100060600020207001220FF2DB
-:10360000011304F11001FDF757FE10B010BD80B595
-:10361000A44A917831B1002090700120BDE80240A9
-:10362000FFF74AB8014602F1180007E110B59D4CBA
-:10363000E07830B9012000F098F90121E170002113
-:1036400005E0012000F08CF90020E0700121BDE8C8
-:1036500010400220FFF71FBA38B5EFF31084914DE8
-:103660006878012821D10021697005F1180005F161
-:103670000801FFF756FFE878A0B9A8680FF2811398
-:10368000017A022972B607BFB0F80B20521D827A68
-:10369000D21C00F1080192B20020FDF716FE84F35F
-:1036A000108831BDBDE83140AAE031BD10B5834C72
-:1036B000B4F809004FF66052811A04D0491E06D0B2
-:1036C000491E08D00BE0204600F03CFB11E02046EC
-:1036D00000F073FB0DE0204600F095FB09E0A081AF
-:1036E0000120A073E072212020720E20607204205D
-:1036F000A07221467248FFF7FEFEBDE81040A1E02F
-:10370000F8B5684D69682A78002400201AB1022AA9
-:1037100064D013D358E00978012905D0022907D0D5
-:10372000102918BF202907D10120287003244BE05D
-:1037300001202870042447E0012445E00E78E86861
-:10374000022E11D0102E02D0202E03D01CE0CC78F7
-:10375000C0681BE0CC78594805F1100100F108075A
-:103760000A6840F8082F18E04068CA780979C368E9
-:1037700002EB012403F10807052205F11001384688
-:1037800000F072F9052009E0CC784068016805F185
-:10379000100001F108070168396004206F60A1B2D0
-:1037A00011B1022129700FE0022E25D0102E1DD05C
-:1037B000202E1ED000210120FEF766FF002005F11B
-:1037C0001001287001246960A2B201B069683D4B04
-:1037D000BDE8F04001440020FDF76EBD08780228E6
-:1037E0000AD0102802D0202803D0E3E700210220CD
-:1037F000E2E700210820DFE700210420DCE70000E9
-:103800001CB5284C01206070E0680169A0688A68D6
-:10381000904205D3C9681144884238BFFFF711FEB2
-:1038200004F11800FFF75EFE10B9BDE81C4009E086
-:1038300013BD000080B50146DFF88400FFF75BFE92
-:10384000BDE8044000211020FEF71EBF704770B590
-:103850001446134A134E12681D460123B3704FF6E7
-:10386000FC7303EA8203104AD3180A46DE683668FE
-:10387000A6F80900F17206F10C00214600F0F4F8F8
-:1038800000210020FFF79FFD0120FEF71DFF3146BC
-:1038900005F10800B278BDE87040D21C00F0E4B831
-:1038A0003C400058FC130020000003209008032037
-:1038B00051330008C73300088533000890100020FA
-:1038C0001414002001370008000000000000000070
-:1038D0000000000000000000000000001E000400C6
-:1038E0000A05020112279C00F4010000FFFF0000FE
-:1038F0004801010000200000484981B00A680243E5
-:103900000A60096808400090009801B0704778B5D7
-:1039100085B0044668461421FEF710FB0220FFF72D
-:10392000EBFF00F011F8009501200190002102202A
-:1039300003900291694656F82400FEF703FB00F05D
-:1039400009F8002006B070BD0FF2F400344E30F8D4
-:103950001450704756F8240000222946FEF7AABBEF
-:1039600080B500F00AF8012203E080B500F005F808
-:103970000022FEF79FFB002002BD0FF2C401284B7E
-:1039800031F8101053F820007047F0B585B00546A7
-:103990000C4668461421FEF7D1FA2DB1012D08BF5F
-:1039A000102002D0022D02D10120FFF7A5FF0FF257
-:1039B00098001C4F30F81500009001210220039060
-:1039C00007EB8506029130682CB900210191694608
-:1039D000FEF7B8FA1FE01449019107EBC5046946E8
-:1039E000FEF7B0FA0FF26C0050F8251004F1240035
-:1039F00000F06FFAF268002104F1240000F062FA8E
-:103A00000FF24C004457B16900222046FEF7F6F948
-:103A10002046FEF711FA002005B0F0BD4C0000581A
-:103A20006C1000200810002000002110002000F081
-:103A300017B8012000F014B8022000F011B80000FF
-:103A40002000010002000000010010004000000002
-:103A5000060A1700000000160400001606000016F3
-:103A6000704770477047000062B38B0708D0521E42
-:103A700011F8013B00F8013B00F024808B07F6D1E0
-:103A8000830740F0208000BF103A07D330B4B1E87C
-:103A90003810103AA0E83810F9D230BC530724BFD0
-:103AA000B1E80810A0E8081044BF51F8043B40F802
-:103AB000043BD20724BF31F8022B20F8022B44BF6D
-:103AC0000B7803707047121F17D35B0009D151F8B0
-:103AD000043B20F8023B1B0C121F20F8023BF6D2DD
-:103AE0000BE051F8043B00F8013B1B0A20F8023BB5
-:103AF0001B0C121F00F8013BF3D238BF121D521EDF
-:103B000024BF11F8013B00F8013BF8D870470000D2
-:103B1000FFF79DFE9DF80E0005B000BDF8B500F161
-:103B20000C026B4624214FF66640F1E7F8B500F130
-:103B30000C026B460F214FF66840E9E7C068084069
-:103B4000884201D10120704700207047C0690840B9
-:103B5000884201D1012070470020704710B5704C99
-:103B600002212046FFF7F2FF38B16068C0438107A9
-:103B700003D5FFF73AFC022018E001212046FFF7A9
-:103B8000E5FF38B16068C043C10703D5FFF7EBFB21
-:103B900001200BE008212046FFF7D8FF38B160680C
-:103BA000C043010703D5FFF774FC0820A06010BDD7
-:103BB00010B55B4C00F033F818B96068C04381035E
-:103BC00006D400F02CF830B96068C043810302D5F8
-:103BD000BDE8104083E0082100F022F870B9606869
-:103BE000C04301030AD560684E4940F4002060607C
-:103BF000086880474FF40020A06010BD202100F02D
-:103C00000FF858B96068C043810207D5606840F476
-:103C100000106060BDE81040FFF7BEBB10BD022180
-:103C200020468BE7404881B0016841F48011016073
-:103C3000006800F48010009000983C48016841F44E
-:103C4000007101603A48026842F40072026040BFAD
-:103C500020BF3848016841F40041016001B070475D
-:103C600080B53548016841F480110160006800F4B6
-:103C70008010009000982A48016841F0010101601D
-:103C8000026842F4803202602C20FEF7D5F8BDE8CD
-:103C900002402D20FEF7D0B82848016849084900A5
-:103CA0000160704726494FF4803008607047234810
-:103CB0004FF400114160016821F400110160704768
-:103CC0001E48016821F00201016070471B484FF453
-:103CD00000314160016821F40031016070471748EC
-:103CE000016841F400310160FFF778BB38B5044644
-:103CF0000B4D08212846FFF721FF30B10948046029
-:103D0000686820F40020686031BDA0474FF40021AE
-:103D1000A96031BD0948016821F0080101607047C0
-:103D2000000C00585814002050010058D4080058C6
-:103D3000200800580C04005850000058040C00588B
-:103D4000080C005870B5EFF31081027B012A02D0F5
-:103D5000022A07D00DE000F028F8137800F01FF8D1
-:103D600014700CE000F021F8138800F018F81480AB
-:103D700005E000F01AF8136800F011F8146081F300
-:103D80001088212101720E214172042181724FF6A7
-:103D900060518181002181730121C17270BD26466D
-:103DA00023EA040435402C43704772B6D0F8112042
-:103DB000D0F80D40D0F81550704781B0017B012933
-:103DC00002D0022904D008E0D0F80D10097807E0ED
-:103DD000D0F80D100A88009203E0D0F80D100968A1
-:103DE00000910E21417221220821817202724FF648
-:103DF000615181810121C17200218173009A40F8D3
-:103E00000F2F01B0704738B50446284800684FF6B8
-:103E1000FC7505EA800526484519212020720E20F0
-:103E200060724220A0724FF66250A0810120E072C1
-:103E30000020A0731F480168090CA4F80F10006847
-:103E4000C0F30B00A4F811001B4801781B4801F0D7
-:103E50001F01E174416821754168090AC4F8151011
-:103E60000268C4F819200169C4F81D104169C4F83A
-:103E7000211004F129018069C4F82500286802682E
-:103E80000A600C222B68191D04F12D00FFF7ECFDD0
-:103E9000286800F11001102204F13900FFF7E4FD59
-:103EA00007480168C4F8491031BD00003C40005883
-:103EB00000000320002004E00075FF1F8075FF1F35
-:103EC000404400080346002009B95A6070470120A9
-:103ED000704708B90120704701600020704700005A
-:103EE00000EB8100374AD0F88010914201D00120C8
-:103EF00070470020704742F4806240F821207047EC
-:103F00007047704710B500F083F82F4C00F049F867
-:103F10000028FBD1042100F045F828B92B4800689F
-:103F2000010403D500F040F800F058F80022032106
-:103F300000F03CF826480168C908C90041F00101B9
-:103F400001602448016841F00401016030BF10BDE8
-:103F500010B51D4C00F028F800F023F80028FBD124
-:103F60004FF0B040816801F00C01042911D10168C3
-:103F700041F48031016001688903FCD581688908BA
-:103F8000890041F002018160816801F00C0108297B
-:103F9000FAD10022032100F009F8BDE8104000F03A
-:103FA0003FB8032120469BE7002204212046A2E7D8
-:103FB00080B500F02DF80748016821F00401016088
-:103FC00030BF01BD00040080001400588804005870
-:103FD0000004005810ED00E000F022B84FF0B040AF
-:103FE000016841F48071016001684905FCD5816870
-:103FF0008908890041F001018160416A89088900CE
-:104000004162816801F00C010429FAD17047000077
-:104010000248016821F002010160704710E000E0F1
-:104020000248016841F002010160704710E000E0C1
-:104030001349002008604FF4E0221248016841F45F
-:10404000700101604FF0B041086840F00100086065
-:104050008A600D480A6802400C480A60036823F031
-:10406000050303604268520852004260002208487B
-:10407000C860086820F4802008608A6170470000EA
-:1040800008ED00E088ED00E0FBFEF6FA9400005831
-:1040900000100422010000000300000005000000E1
-:1040A0000100000001000000060000000A000000FE
-:1040B00020000000020000000400000008000000D2
-:1040C000100000004000000080000000000100001F
-:1040D00000020000A0860100400D0300801A0600C7
-:1040E00000350C0040420F0080841E0000093D0096
-:1040F00000127A000024F40000366E010048E80146
-:10410000006CDC0200000000000000000000000065
-:104110000000000000F024F8012810D00D4880476E
-:104120000D480047F0B543464C4655465E46674647
-:10413000F8B40A4C6B462360BFF34F8F30BF074C77
-:104140002468A546F8BC9846A146AA46B346BC4694
-:10415000F0BD0000314000089943000864140020BD
-:104160000249002008607047000000006814002029
-:10417000FEE7FEE7FEE7FEE7FEE7704770477047A1
-:1041800000F01CB80248FCF788BF0248FCF796B85C
-:104190003C1300209C110020FFF7E0BCFFF708BD96
-:1041A00000F014B80120FDF78CBF1020FDF789BF87
-:1041B0004020FDF786BFFEF7DCBD000002484168E5
-:1041C0000278891841607047781000200449C86857
-:1041D0000A6882430A60486000F004B800000000EA
-:1041E00000150058704719E050F8042BD30744BF5E
-:1041F000A9F101039A18091F0023042942F8043B7E
-:10420000F9D25FEA817C134604D54FF0000CA2F886
-:1042100000C09B1CC90744BF0021197050F8041B43
-:104220000029E1D17047000010B500F013F802003A
-:104230000023DB4300241068984203D011000220C1
-:10424000ABBE14605068984203D0111D0220ABBE73
-:10425000546010BD01487047000000008410002029
-:1042600010B450F8041B79B1026843680244083066
-:10427000DC0744BFA9F10104E31852F8044B43F8EA
-:10428000044B091FF9D1ECE710BC704710B5074982
-:1042900079441831064C7C44163404E00A68081D41
-:1042A000114488470146A142F8D110BD2C000000FE
-:1042B000680000004EF68851CEF20001086840F414
-:1042C00070000860BFF34F8FBFF36F8F4FF0007027
-:1042D000E1EE100A704700000FFFFFFFDC03000053
-:1042E00090100020840A000030000320000000002D
-:1042F00071FFFFFF08000000AC0000002800032051
-:10430000000000005DFFFFFF880000003801000092
-:104310000810002000000000000000000000000065
-:10432000000000000000000001000000020000008A
-:10433000030000000400000000F00DF8002801D088
-:10434000FFF7A4FFAFF300800020AFF30080FDF77C
-:10435000DCFE00F002F80120704700F001B8000018
-:104360000746384600F002F8FBE7000080B5FFF78B
-:104370005BFF024A11001820ABBEFBE726000200DB
-:10438000B13F0008D93F0008053F0008513F000831
-:10439000013F0008033F0008AFF30080FFF78AFFEA
-:1043A000FFF7CAFF0000000000000000FFF7FEBF9B
-:1043B000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF31
-:1043C000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF21
-:1043D000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF11
-:1043E000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF01
-:1043F000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFF1
-:10440000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFE0
-:10441000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFD0
-:10442000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFC0
-:10443000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFB0
-:104440000001000000000048001000480000004883
-:104450002D3A0008333A0008393A00080F000000EE
-:104460000F0000000F00000000000000000000002E
-:10447000000000000000000000000000000000003C
-:10448000000000000000000000000000000000002C
-:1044900000000000FFFFFFFFFFFFFFFF0000000024
-:1044A0000000000000000000000400480004004874
-:1044B000000400480100000000000000100000009F
-:0C44C000FFFFFFFFFFFFFFFF00093D00B2
-:040000050800439913
+:1001900000F07ABF2420686020680168490849009F
+:1001A0000160204600F0F2B92068016841F00101C9
+:1001B000016020467047204600F0F0BA30B5034693
+:1001C00003F180046068202846D109B1100001D1F4
+:1001D000012030BD207801283ED001252570196509
+:1001E000002003F154010A804A800862E060212067
+:1001F000606008699A68B0F1005F16D1B2F5805F5F
+:1002000004BF1869002807BFDFF86C230A62DFF813
+:100210006C0308620020207000F01DFC41F4000116
+:1002200000F024FCF8D1002030BDB2F5805F04BF9F
+:100230001869002807BFDFF848230A62DFF8440383
+:10024000086200202070196851E8002F42F08002F7
+:1002500000F089F9F7D1E6E7022030BD38B500F0AB
+:1002600011F80DD109B1140001D1012032BD04787B
+:10027000012C05D000F00CF8BDE8384000F076BB4A
+:10028000022032BD034603F180008468202C7047B1
+:10029000012505700020D866DFF8EC421868A042FE
+:1002A0000BD04068040208D51C6854E8005F45F094
+:1002B000806544E800500028F6D118467047216850
+:1002C00051E8002F7047206800F1080151E8001F35
+:1002D00000F1080221F0400142E8001000287047B8
+:1002E000F8B5044640F60F002668F1693268B36835
+:1002F000084004F15C050ED1880602D5900602D4B0
+:10030000D80040F181806969002900F029812046E8
+:10031000BDE8F4400847DFF8B407034204BFDFF844
+:10032000B0773A4270D0CF0707D5D70505D501275A
+:1003300037622E6B46F001062E638E0708D5DE0766
+:1003400006D5276802263E622E6B46F004062E6311
+:100350004E0708D5DE0706D5276804263E622E6BB9
+:1003600046F002062E630E070AD5960601D4034214
+:1003700006D0266808203062286B40F00800286309
+:10038000080509D5500107D526684FF40060306292
+:10039000286B40F020002863286B002833D08906A2
+:1003A00007D5900601D4D80003D5696909B1204664
+:1003B0008847286B21688A68510602D410F0280FFC
+:1003C0001CD0204600F057FB00F0D1F811D5FFF704
+:1003D0007AFFFCD1286A60B10FF2FD618163286A5F
+:1003E00000F04DFF00280ED0286A816BBDE8F44074
+:1003F00008472046BDE8F24001F008B8204601F069
+:1004000005F800202863F1BD286901286AD1CF06CC
+:1004100068D5D00666D51020306200F0A8F82DD53A
+:10042000296A0868406880B20028ECD02A88904287
+:10043000E9DA6880086801688A061BD4FFF73FFF85
+:1004400022F4807200F08FF8F8D1206800F082FA70
+:10045000FBD1FFF738FFFCD12020E86200202861A3
+:10046000FFF72DFF22F0100200F07DF8F8D1286A86
+:1004700000F0CFFE29886888091A2DE0288869884D
+:10048000411A688800281CBF88B2002868D02268FA
+:1004900052E8003F23F4907342E800300028F6D180
+:1004A000206800F1080200F1080352E8002FDFF88D
+:1004B000D002024043E800200028F1D12020E86269
+:1004C000002028616861226852E8003F23F0100391
+:1004D00042E800300028F6D12046BDE8F44089B259
+:1004E00000F095BFC80209D5580207D54FF4801017
+:1004F00030622046BDE8F24001F004B8080609D594
+:10050000100601D4180205D5A96949B32046BDE8F3
+:10051000F4400847480611D550060FD5FFF7CFFE27
+:1005200022F0400200F01FF8F8D12020A86200203D
+:10053000A8612046BDE8F24001F002B8080206D5E5
+:10054000500004D52046BDE8F24001F00BB8C801C8
+:1005500048BF002A04D52046BDE8F24001F003B8A8
+:10056000F1BD22F4F07241E80020002870472068B5
+:100570008168480670470000C90B0008670B000837
+:10058000130B0008E90A000800800040F8B5044693
+:10059000DFF888092168DFF888C90A68DFF88479FC
+:1005A0000240A06802432069024360690243E06997
+:1005B00002430A6000254A68E06822F44052024380
+:1005C0004A60A369DFF8602991421CBF206A034397
+:1005D0008E68DFF85809064033438B600FF2A4168B
+:1005E000CB6A606A1B0940EA0313CB626145DFF8FE
+:1005F00040094FF4004339D13F6807F00307032F48
+:100600004DD8DFE807F0024643494FF0010CE1699D
+:10061000B1F5004F4FF6F07740F08080BCF1010F4C
+:1006200009D0BCF1020F0AD0BCF1040F71D0BCF1AB
+:10063000080F71D099E001F051FB002815D0626AD3
+:10064000616836F81230B0FBF3F04A0802EB400262
+:10065000B2FBF1F080B2A0F11001B942EAD207403A
+:10066000C0F3420007432068C7607FE0914216D183
+:100670003F6817F4406723D0B7F5806F09D0B7F50E
+:10068000006F03D0B7F5406F06D008E04FF0020CC2
+:1006900007E04FF0040C04E04FF0080C01E04FF0CD
+:1006A000100C9142B3D1BCF1000F09D0BCF1020F84
+:1006B0000AD0BCF1040F15D0BCF1080F15D054E0DE
+:1006C00001F004FB002851D0616A36F81120B0FB1C
+:1006D000F2F6626802EB42018E4246D31103B14248
+:1006E00005D242E001F0A8FAECE71846ECE7500822
+:1006F000002110EB062051EB1661002301F06AFB8C
+:10070000A0F54071DFF82C2891422ED22268D060EB
+:100710002CE001F091FA90E7184690E7BCF1010F48
+:1007200009D0BCF1020F09D0BCF1040F18D0BCF104
+:10073000080F18D019E001F0D1FAB8B1626A36F8A2
+:1007400012306168B0FBF3F000EB5100B0FBF1F048
+:1007500080B2A0F11001B94207D22168C86005E05B
+:1007600001F06AFAE9E71846E8E7012504F16800B4
+:1007700001214180018000218160C1602846F2BDD5
+:10078000FEFFFFEF010002000400060008000A005F
+:100790000C001000200040008000000190F828109C
+:1007A000CA0706D502685368C16A23F400330B43B5
+:1007B000536090F828108A0706D502685368016BC9
+:1007C00023F480330B43536090F828104A0706D572
+:1007D00002685368416B23F480230B43536090F805
+:1007E00028100A0706D502685368816B23F400437A
+:1007F0000B43536090F82810CA0606D50268936828
+:10080000C16B23F480530B43936090F828108A0641
+:1008100006D502689368016C23F400530B43936080
+:1008200090F828104A0610D502685368416C23F4EA
+:1008300080130B435360416CB1F5801F05D15368A1
+:10084000816C23F4C0030B43536090F828100A0610
+:1008500006D501684A68C06C22F4002202434A604F
+:100860007047F8B5044604F180050020E8606FF099
+:100870007E4701F0C7FB0646206801680A0708D5D5
+:100880000097334600224FF40011204600F017F87D
+:1008900060B9206801684A070AD5009733460022EC
+:1008A0004FF48001204600F00AF808B10320F2BDA1
+:1008B00020206860A8600020E0662870F2BD2DE965
+:1008C000F041069C05460E4690461F462868C169C1
+:1008D0003140B1420CBF01200020404526D114F127
+:1008E000010FF3D001F08EFBC01B844200D33CB952
+:1008F00000F025F800F02DF8FCD100F01AF811E016
+:10090000286801684A07E1D5C1690A05DED54FF4B8
+:100910000062026200F013F800F01BF8FCD100F056
+:1009200008F8C16000210170032000E00020BDE84C
+:10093000F08105F1800020214160816070472968C5
+:1009400051E8002F22F4D07241E800200028F6D1AF
+:100950007047286800F1080151E8001F490800F1BC
+:100960000802490042E800100028704770B50346AD
+:1009700000209965FF2403F15C010A804A804861E8
+:100980009868B0F5805F04D1186960B940F2FF142F
+:1009900009E010B9186928B905E0B0F1805F06D107
+:1009A000186910B97F248C8003E03F2000E000200C
+:1009B000888003F180040020E0602220A060186895
+:1009C00000F1080555E8005F00F1080645F0010553
+:1009D00046E800500028F2D18868B0F1005F22D1CB
+:1009E0008D89AA421FD39A68B2F5805F04BF186947
+:1009F000002807BF0FF2ED324A610FF23D30486127
+:100A000000202070196851E8002F42F48072FFF72F
+:100A1000AAFDF7D100F01FF841F0805100F026F850
+:100A2000F8D1002070BD9A68B2F5805F04BF1869E4
+:100A3000002807BF0FF239224A610FF2ED1048611A
+:100A400000202070196851E8002F42F49072FFF7DF
+:100A50008AFDF7D1E5E7186800F1080151E8001FA9
+:100A600000F108027047DFF8D004014042E80010AE
+:100A7000002870470000026852E8003F23F490739A
+:100A800042E800310029F6D1016801F1080201F1C4
+:100A9000080352E8002F0F490A4043E800210029CB
+:100AA000F2D1C16E012908D1026852E8003F23F05B
+:100AB000100342E800310029F6D12021C0F8881047
+:100AC0000021C166016770470000000001000010AE
+:100AD00020010004FEFFFFEF806A00F156010022B2
+:100AE0000A810A8000F092BCD0F88420212A0FD11C
+:100AF000B0F8561001B923E0016D03680A789A62D4
+:100B0000016D4A1C0265B0F856104A1EA0F8562026
+:100B10007047D0F88420212A11D1B0F8561001B9BD
+:100B20000EE0016D03680A88C2F308029A62016D43
+:100B30008A1C0265B0F856104A1EA0F8562070476D
+:100B4000026852E8003F23F0800342E800310029A8
+:100B5000F6D1026852E8003F43F0400342E800311A
+:100B60000029F6D17047D0F88410212900D07047B1
+:100B700030B500F15602938A0DE00168CC69250674
+:100B800008D5046D25788D62016D4C1C04651488B0
+:100B9000611E11805B1E99B241B111880029ECD110
+:100BA00000F005F8FCD100F035F8FCD130BD01684B
+:100BB00001F1080252E8002F01F1080322F40002BB
+:100BC00043E8002100297047D0F88410212900D083
+:100BD000704730B500F15602938A0FE00168CC6986
+:100BE00025060AD5046D2588C5F308058D62016DBB
+:100BF0008C1C04651488611E11805B1E99B241B182
+:100C000011880029EAD1FFF7D2FFFCD100F002F8E9
+:100C1000FCD130BD026852E8003F43F0400342E897
+:100C2000003100297047000010B500F04BF81AD1D0
+:100C30004B6A91880B40816D0B70816D4B1C00F0ED
+:100C40003BF8A1B900F044F800F060F8FCD100F0E6
+:100C500056F807D10023136100F044F844BF102474
+:100C60000C6260E064E0886940F00800886110BDB3
+:100C700010B500F027F81AD14B6A91880B40816DAE
+:100C80000B80816D8B1C00F017F8A1B900F020F8E3
+:100C900000F03CF8FCD100F032F807D100231361DA
+:100CA00000F020F844BF10240C623CE040E088696A
+:100CB00040F00800886110BD836551884B1E538049
+:100CC0005188704700F15C020168D36A222B70479B
+:100CD000036853E8004F24F4907443E8004100296E
+:100CE000F6D17047036853E8004F24F0100443E83E
+:100CF00000410029F6D10168CB69DC06704720214C
+:100D0000D16200215161116901297047016801F127
+:100D1000080353E8003F5B0801F108045B0044E866
+:100D20000031002970471188BDE8104000F06FBB0A
+:100D3000BDE8104000F0FABB2DE9F84300F0A9F837
+:100D400047D1A08978B96088002844D0A189884219
+:100D500041DA00F0ABF87948606100F0BDF83AE0A4
+:100D6000304600F0E3FBA806EDD500F08CF80870E3
+:100D7000B06D411C00F0F7F819D0E90748BF5FEAF1
+:100D8000C95101D500F0F8F8A80703D5F80701D537
+:100D900000F0DAF8680703D5F80701D500F094F8F9
+:100DA000206B20B1304600F031FB002121636088C8
+:100DB0000028D8D100F09AF800F0CEF8D0D100F099
+:100DC000E2F844BF102202622188304600F01FFB87
+:100DD000C9E700F002F8BDE8F183816941F008013C
+:100DE000816170472DE9F84300F053F847D1A0899D
+:100DF00078B96088002844D0A189884241DA00F09F
+:100E000055F84F48606100F067F83AE0304600F06E
+:100E10008DFBA806EDD500F036F80880B06D811C7A
+:100E200000F0A1F819D0E90748BF5FEAC95101D520
+:100E300000F0A2F8A80703D5F80701D500F084F860
+:100E4000680703D5F80701D500F03EF8206B20B104
+:100E5000304600F0DBFA0021216360880028D8D1F9
+:100E600000F044F800F078F8D0D100F08CF844BFDE
+:100E7000102202622188304600F0C9FAC9E7FFF764
+:100E8000ACFFBDE8F1833068406AB16D08EA00004C
+:100E90007047064606F15C043068B4F80480C56902
+:100EA000D0F800908768E16A22297047306800F125
+:100EB000080151E8001F00F1080221F0805142E8CA
+:100EC00000100028F2D17047316804200862206BBE
+:100ED00040F0020020637047316851E8002F42F073
+:100EE000200241E800200028F6D17047316851E81F
+:100EF000002F22F4807241E800200028F6D13068EB
+:100F000000F1080100F1080251E8001F0D480140FE
+:100F100042E800100028F2D170470000F369FFCFCB
+:100F2000003801408800005800800040FFF4FF11A5
+:100F30000024F40000FD0F00FEFF7FEF290C0008E5
+:100F4000710C0008FEFFFFEF316802200862206B81
+:100F500040F00400206370472020E06200206061C0
+:100F6000206901287047B1656088411E6180306842
+:100F7000C56915F0070F704701210162206B40F031
+:100F800001002063704700212161316851E8002F82
+:100F900022F0100241E800200028F6D13068C16933
+:100FA000CA067047674981B00A6802430A60096847
+:100FB00008400090009801B0704780B54FF40020C1
+:100FC000FFF7F0FF002200212E2001F03DF8BDE8E0
+:100FD00002402E2001F056B800685B49884200D0DC
+:100FE000704780B54FF48010FFF7DCFF002200212E
+:100FF0002C2001F029F82C2001F044F800220021D7
+:101000002D2001F021F8BDE802402D2001F03AB872
+:1010100030B58DB0044601A8302101F089F821686F
+:101020004A4A91422ED101F087F801F085F8484DE7
+:10103000A86B20F4407040F48070A8634FF4807176
+:101040004FF400600190099101A801F087F808B100
+:1010500001F017FAA86B40F40040A8630022296849
+:1010600041F4806129600021286800F480600090CC
+:101070000098032000F0E8FF032001F003F8204669
+:1010800001F09CFA0DB030BD38B592B0044601A80D
+:10109000142101F04DF806A8302101F049F820682C
+:1010A0002C4988424CD1002001210790069106A8C6
+:1010B00001F054F808B101F0E4F92748274D4169DF
+:1010C00041F4804141610222416901F48041009173
+:1010D0000099016841F0010101604FF4C0610068AE
+:1010E00000F001000090009801910120039003217D
+:1010F000072004910590029201A94FF0904001F061
+:1011000075FA174828600F2068601020A86000203A
+:10111000E8608020286100206861A861E861286299
+:10112000284600F01FF808B101F0ABF9A567AC62E2
+:1011300000220021242000F087FF242000F0A2FFDD
+:1011400013B030BD50000058000C0058002800407B
+:1011500058000058003801404C0000583C13002053
+:101160004400024038B5040001D1012032BD21689D
+:10117000DFF880024018142204F12405B0FBF2F2DB
+:10118000DFF87402E86192002A62022068700A683F
+:10119000A0686FF30E120243E06802432069024325
+:1011A00060690243A0690243E0690243206A024386
+:1011B0000A60204600F0F9F8A068B0F5804F04BF3F
+:1011C000002161602079696A00F03F0000F014F8A6
+:1011D00038B1052805D2204600F0FBF800F012F8DF
+:1011E00003E0002028636863A8630020A861012051
+:1011F00068700020287032BD0860A96AE86A4860FB
+:1012000060687047296B00200860696BA86B4860B4
+:10121000704781B040B100F124014A78022A05D01C
+:101220000420886100200870012026E0026813680D
+:1012300023F00E0313604A6A136823F4807313606B
+:1012400000680268520852000260012091F82020D4
+:10125000CB6902F01C02904058608A6AC86A5060EC
+:10126000086B30B1026822F4807202604A6B886BAE
+:101270005060012048700020087001B0704738B5F8
+:1012800000F1240200245178022903D00420906147
+:10129000012428E001680B6823F00E030B6001684D
+:1012A0000D686D086D000D60516A0B6823F4807342
+:1012B0000B60012192F82030D56903F01C0399409E
+:1012C0006960936AD16A5960116B31B10B6823F47C
+:1012D00080730B60536B916B5960012151701470D6
+:1012E000516901B18847204632BDF8B500F12401AB
+:1012F0000423CA6914680268156891F8206006F032
+:101300001C0603FA06F73C4210D06F070ED514688E
+:10131000A50603D4156825F00405156000F03DF816
+:10132000C968002938D0BDE8F4400847022303FA11
+:1013300006F73C4213D0AF0711D51468A50605D4B3
+:10134000156825F00A05156001224A7000F025F89D
+:1013500000220A708968F9B1BDE8F4400847082303
+:1013600003FA06F6344217D02B0715D5136823F07D
+:101370000E031360012291F82030CC6903F01C03A6
+:101380009A40626001228A614A7000220A700969EB
+:1013900011B1BDE8F4400847F1BD91F82020CC69B7
+:1013A00002F01C02934063607047426C134992083C
+:1013B00001EB82018164142201780839B1FBF2F15A
+:1013C0000F4AC26401F01F01012202FA01F1016516
+:1013D000704701790B4A01F03F0102EB810242653F
+:1013E000491E094A826501F0030101228A40C26553
+:1013F00070470000F8FFFDBF0000024000080240F7
+:1014000080080240FC0802404009024070477047D3
+:1014100010B500F180010A78012A01D1022010BD27
+:1014200001230B7024224A60026813681468640860
+:10143000640014600022426623F0005300680360D9
+:10144000202048600020087010BD70B500F01EF824
+:1014500001D1022070BD00F01FF822F0604209E0C7
+:1014600070B500F013F801D1022070BD00F014F83F
+:1014700022F0606211438160204600F01AF8206873
+:101480000660202068600020287070BD044604F1CA
+:10149000800528780128704701222A70242068607E
+:1014A000206806680268520852000260206882685C
+:1014B000704730B5416E11B90121012214E0016875
+:1014C0000FF230048A6889680FF23003520E02F07E
+:1014D0000702490F655CA45C595C9A5CED00E4006E
+:1014E00095FBF1F194FBF2F268304180028030BD4F
+:1014F00000000000010101030701000008040204CC
+:10150000080101017047704730B912480360124862
+:10151000124B0360FEF7A2BE704730B9104803605B
+:101520000D480E4B0360FEF749BE704700680B493B
+:10153000884204D107490868002818BF004770474F
+:1015400000680649884204D105490868002818BF88
+:10155000004770475C1400209C11002000380140B7
+:1015600060140020704770474FF0B040006800F0F2
+:10157000F000B02888BFB02070472DE9F04104008A
+:1015800054D0207881064FF0B04538D5A868E96876
+:1015900010F00C0001F0030103D00C2808BF012952
+:1015A00046D12868800702D5E06900283ED0FFF7C1
+:1015B000DBFF616A884207D2084600F0A0FB0028E2
+:1015C00034D100F043FA0FE0286820F0F000014326
+:1015D00029606968206A21F47F4141EA002169603D
+:1015E000606A00F08CFB08BB00F062FBDFF8881734
+:1015F0000860DFF88807006801F0D4F8B0B92078F7
+:10160000C1070DD5A868E96800F00C00082801F0B2
+:10161000030103D00C2808BF03292CD128688003BC
+:1016200040F11D816068002840F01981012006E228
+:10163000E06980B1296841F0010100F0F3FA064643
+:101640002868800700F1088100F0DCFC801B03287B
+:10165000F6D30320F3E128684008400000F0A6FB21
+:101660000646286800F0EEF9C9D000F0CBFC801BDC
+:101670000328F6D3EDE76068B0F5803F04D1296810
+:1016800041F48031296003E02A6822F480322A6024
+:10169000606860B100F0B6FC06462868800300F17F
+:1016A000DE8000F0AFFC801B6528F6D3D1E700F0A8
+:1016B000A9FC06462868400C10F0010000F0CF801D
+:1016C00000F0A0FC801B6528F4D3C2E700F09AFC70
+:1016D000C01B0328C0F0F780BBE7E06878B1296839
+:1016E00041F4807100F09EFA06462868400500F13A
+:1016F000FD8000F087FC801B0328F6D3A9E728684B
+:1017000020F4807000F052FB06462868800A10F032
+:10171000010000F0C28000F075FC801B0328F4D3A8
+:1017200097E700F06FFCC01B0328C0F0F18090E742
+:1017300040F0010000F09BF907467068800700F157
+:10174000028100F05FFCC01B0328F6D381E77068BC
+:1017500020F0040000F08BF907467068C00810F014
+:10176000010000F0FF8000F04DFCC01B0428F4D302
+:101770006FE70528306806D140F00400306031681A
+:1017800041F0010105E0400840003060316821F07F
+:1017900004013160A06841F2893768B100F032FC81
+:1017A00080463068800700F1F28000F02BFCA0EB4F
+:1017B0000800B842F5D34CE700F024FC80463068BE
+:1017C00000F040F900F0E38000F01CFCA0EB080002
+:1017D000B842F4D33DE700F015FC801B0328C0F0AD
+:1017E000088136E700F00EFC001B0328C0F02281C0
+:1017F0002FE7286881010CD4296841F080712960A5
+:10180000E86840F08050E86000F0FCFB044628687F
+:10181000810100F1138100F0F5FB001B0328F6D3D2
+:1018200017E70C2930D0286820F080702860E9681C
+:1018300089088900E960E86820F08050E86000F0DD
+:10184000E1FB04462868810140F1F88000F0DAFBF2
+:10185000001B0328F6D3FCE600F0F8F8CFE620786A
+:1018600081071AD5A868E96800F00C00042801F087
+:10187000030104D00C2808BF02297FF42EAF28688A
+:10188000400503D5E06800283FF4D0AE69682069C0
+:1018900021F0FE4141EA006169602168DFF8E064FF
+:1018A00011F0180F38D0606900283FF450AFC90616
+:1018B00070687FF53DAF800709D4706840F0010083
+:1018C00000F0D5F80746706880077FF5FFAE7068B6
+:1018D00040F0040000F0CBF80746706800070DD414
+:1018E00000F090FBC01B0428F7D3B2E668682169BA
+:1018F00020F0FE4040EA01606860CEE77068A169B0
+:1019000020F4706040EA0120706000F0ADF80746F6
+:1019100000F097F87FF405AF2078410737D5DFF85E
+:1019200064743868C10529D400F006FC00F06AFB35
+:1019300080463868C10521D400F064FBA0EB0800A4
+:101940000328F6D385E6706820F0040070607068A4
+:10195000C00810F00100DFD000F054FBC01B0428C9
+:10196000F5D376E600F080F8074600F06AF8D3D0A9
+:1019700000F048FBC01B0328F7D36AE6A0680128E3
+:101980007FF4F7AE306840F00100306002E7A06AF3
+:10199000002853D0A968EA68022801F00C017FF4FE
+:1019A00040AFE36A02F00300984202BF02F0700009
+:1019B000236B984214D1636BC2F30620984202BF96
+:1019C00002F47810A36B98420AD1E36B02F06060D6
+:1019D000984202BF02F06042206C82423FF409AF9D
+:1019E0000C293FF423AE286820F0807000F0DEF967
+:1019F0000646296888013FF5EEAEE968DFF88803FE
+:101A0000626B0140E06A0143206B0143A06B41EA35
+:101A100002210143E06B0143206C0143E960286827
+:101A200040F080702860E96841F08051E96000F082
+:101A3000E9FA0446286881017FF5D4AE0020BDE8AC
+:101A4000F0817068400810F0010070472968606AF2
+:101A500021F0F001014329606868216A20F47F4089
+:101A600040EA01206860704770684008400070607C
+:101A700000F0C8BA2DE9F8430400884644D0DFF8E6
+:101A80000C6300F0CAF847D200F0CFF8074600F028
+:101A9000C4F841D000F0B6FAC01B0228F7D90320E1
+:101AA000B9E000F0AFFA401B022843D9F7E700F095
+:101AB000A9FAA0EB090002284CD9F0E700F0A2FA3D
+:101AC000A0EB0900022854D9E9E700F09BFA401B7B
+:101AD00002285DD9E3E700F095FA401B022867D998
+:101AE000DDE700F08FFA401B484577D3D7E703289E
+:101AF00002D13968890103E00028396802D18907D9
+:101B000062D401E049055FD4012084E000F07AFA54
+:101B1000C01B022872D9C2E7207881074FF0B04776
+:101B20000BD5B968A06821F0F0010143B96000F05D
+:101B300069FA0546B868C003B3D52078DFF8345297
+:101B400081060AD52968606921F0F001014300F09F
+:101B500069F8814628688003A9D5207841060BD50D
+:101B60002968A0690909090141EA101100F05AF831
+:101B700081462868C003A1D5207841070BD5B968F4
+:101B8000E06821F4E0610143B96000F03BFA0546EA
+:101B9000B868800399D5207801070CD5B868216909
+:101BA00020F4605040EAC100B86000F02BFA05460E
+:101BB000B86840038FD52078C10717D56068022820
+:101BC00095D1396889039FD5B968890840EA8100B1
+:101BD000B86041F2893900F015FA0546B8686168C5
+:101BE00000F00C00B0EB810F7FF47BAF306800F0A9
+:101BF0000700804505D200F018F8074600F00DF800
+:101C000084D100F055F85C49086000F001FEBDE8A1
+:101C1000F24300F0C7BDBDE8F283306800F0070072
+:101C200040457047296000F0EDB93168C90848EABD
+:101C3000C101316000F0E6B938B54FF0B044554D00
+:101C4000A16811F00C0106D1FFF78EFCC0F3031060
+:101C500055F8200032BD04294F4A05D008294F48C5
+:101C600004D12168C90222D5104632BDE16801F0D5
+:101C70000301022904D0032904D12168C90207D530
+:101C8000104605E0FFF770FCC0F3031055F8200084
+:101C9000E168E268E368C1F306214843C2F3021138
+:101CA000491C5B0FB0FBF1F05B1CB0FBF3F032BDE5
+:101CB00080B5FFF7C1FF3649FFE7394A0968C1F32C
+:101CC000031152F82110B0FBF1F002BD80B5FFF70F
+:101CD000EFFF00F010F8C1F3022106E080B5FFF736
+:101CE000E7FF00F008F8C1F3C22112F8211001F05B
+:101CF0001F01C84002BD26492A4A0968704770B5CD
+:101D00002449274AB1282EBFC86AC0F3031051F8EE
+:101D100020001849096801F00F0152F82110224AE9
+:101D2000B0FBF1F0B0FBF2F0002400210FF28402CE
+:101D300052F8213083420AD2491C0329F8D90AE01B
+:101D400000F060F9801B03280DD3032070BD0FF253
+:101D5000740050F821400D4D2868C00844EAC000C6
+:101D600000F024F80646296801F00701A142E7D1F6
+:101D7000002070BD080100588C1000208010002049
+:101D800090000058000400588C80C1110040005899
+:101D9000080000584C4400080024F4000048E80102
+:101DA0000C4400089046000840420F00286000F0F4
+:101DB00029B90000120000002400000036000000D5
+:101DC00040000000000000000100000002000000D0
+:101DD00003000000B3BBD9B1B2F5803F7DD2022A27
+:101DE0001ED98C46B1FBF2F102FB11C31B0443EA7E
+:101DF0001043B3FBF2FC02FB1C3380B240EA034306
+:101E0000B3FBF2F002FB103240EA0C4000237047B3
+:101E1000022A05D98446B0FBF2F002FB10C27047DB
+:101E20004AB105D100F0010249085FEA300070476D
+:101E300000220023704700F007BD0B0002000021C4
+:101E400000207047904271EB030CF6D3B3F5803F4E
+:101E50002FD2F0B5B3FA83F7B1FA81F4A7F10F0EE0
+:101E60003D1B5340CEF1200602FA0EF2F3415340DF
+:101E7000B5F10F0746D80F3C2C444140C4F1200671
+:101E8000A040F1414140B1FBF3F603FB1611A2FB68
+:101E90000645001BA94102D2761E8018594180EAEE
+:101EA000010221FA0EF362FA0EF200215A40304686
+:101EB000F0BD30B4B1FBF3FC03FB1C11A2FB0C45DD
+:101EC000001BA94103D2ACF1010C8018594130BC70
+:101ED00002460B46604600217047B2F1807F65D311
+:101EE000F0B5B2FA82F7B1FA81F4C7F10F063D1BE3
+:101EF00022FA06F307F1110EF24120355A40B5F1EE
+:101F00000F07B8D94140C4F12006A040F14141403B
+:101F1000B1FBF3FC03FB1C11A2FB0C45001BA94108
+:101F200003D2BCF1010C801859410F2F12D30F3F7F
+:101F3000C90341EA5041B1FBF3F603FB1611A2FBC2
+:101F40000645D4EBC030A94102D2761E8018594113
+:101F500046EACC3C07B34140C7F12006B840F14106
+:101F60004140B1FBF3F603FB1611A2FB0645001B33
+:101F7000A94102D2761E8018594180EA010221FA55
+:101F80000EF3C7F1200462FA0EF20CFA07F05A4081
+:101F90002CFA04F13043F0BD80EA010221FA0EF37D
+:101FA000002162FA0EF260465A40F0BD8C46B1FB49
+:101FB000F2F102FB11C31B0243EA1063B3FBF2FC14
+:101FC00002FB1C331B024CEA002043EA1063B3FB04
+:101FD000F2FC02FB1C331B024CEA002043EA1063B4
+:101FE000B3FBF2FC02FB1C331B024CEA002043EA69
+:101FF0001063B3FBF2FC02FB1C324CEA002000230E
+:102000007047704701484068704700BF7810002053
+:102010000901020081B002D43C48815405E03C48EB
+:1020200002F00F02104400F8041C01B07047394A56
+:1020300013684FF6FF0100020B4000F4E060184304
+:10204000354908431060704738B5324B1C68C4F3FB
+:102050000223C3F10704052C28BF04241D1D072DEE
+:1020600034BF0023DB1E012505FA04F4641E214061
+:10207000994005FA03F35B1E1A401143BDE8344052
+:10208000C6E70000010007D4012200F01F01234B26
+:102090008A40400943F82020704701000BD40122F8
+:1020A00000F01F011E4B8A40400943F82020BFF377
+:1020B0004F8FBFF36F8F704710B5401EB0F1807F18
+:1020C00001D3012010BD174C60600F214FF0FF308D
+:1020D000FFF79EFF0022A26007202060002010BDB5
+:1020E000010007D4012200F01F010F4B8A40400974
+:1020F00043F820207047010007D4012200F01F019F
+:102100000A4B8A40400943F82020704700E400E071
+:1021100018ED00E00CED00E00000FA0500E100E041
+:1021200080E100E010E000E000E200E080E200E09A
+:10213000002200F08BBB00000248016841F480716E
+:102140000160704700040058DFF87C211368010C1F
+:1021500023EA014343EA0043136070472DE9F0414D
+:10216000054600272868DFF864610105B8462FD5C9
+:102170003468286A04F44074844229D0FFF7DCFFF5
+:10218000002C316805D1286A21F440710143316087
+:102190001DE0306840F48030306021F440713268D6
+:1021A00022F480323260286A014331603068C0070F
+:1021B0000DD5FFF727FF044641F2893830688007C4
+:1021C00005D4FFF71FFF001B4045F7D30327B84690
+:1021D0002878DFF8FC40C10705D5E16F68688908F9
+:1021E00040EA8101E1672878810705D5E16FA86899
+:1021F00021F440610143E1672878C10644BF2869A2
+:10220000FFF7A2FF2878810644BF6869FFF79CFFAB
+:10221000287841070AD5E868E16F020902F47F22B5
+:102220000001914300F47F200843E067286881059E
+:102230001ED5A869B0F1804F18BFB0F1004F00D093
+:1022400018B9E16F21F0404108E0E16F21F0404111
+:10225000E16720F08050E16F21F040610843E067C2
+:10226000A869B0F1C05F03D1216841F0807121609D
+:10227000286841050DD5E16FE86921F0405101431F
+:10228000E167E869B0F1005F03D1216841F4803172
+:1022900021602868C10405D57168686A21F440414D
+:1022A00001437160286881040BD5A169E86A21F0B7
+:1022B00030010143A161A169A86A890840EA81014E
+:1022C000A1614046BDE8F0818800005890000058A8
+:1022D0000C000058594900E0594981B00A6802438E
+:1022E0000A60096808400090009801B0704780B506
+:1022F00000F07AFA00F0C4FA00F018F800F048F89C
+:1023000050485149016000F085FB0420FFF7E4FFCD
+:102310000120FFF7E1FF00F0A3F800F04EF800F015
+:1023200065F800F0C1FA00F067FBFCE780B598B0F3
+:1023300007A84421FFF7FCFE68461C21FFF7F8FEC2
+:10234000FFF7FAFE4148016821F0180101600720FB
+:1023500007904FF480310891012009904FF480716B
+:102360000A9140200B900021119107A8FFF705F971
+:102370006F200090022100200191029003900490B0
+:102380000590069001216846FFF774FB19B000BD67
+:1023900010B58CB068463021FFF7CAFE4FF480407C
+:1023A0000990022110200B904FF440540A910094A0
+:1023B0006846FFF7D3FE0CB010BD10B5244C25487D
+:1023C0002060002060600F20A06047F6FF70E06092
+:1023D00000202061A0616061204600F053FB204690
+:1023E000BDE810400022002100F058B810B51A4C8A
+:1023F0001A4820604FF4E13060600020A060E06087
+:1024000020610C2060610020A0614FF40040E06179
+:10241000002020626062A0622046FDF78FFE00214E
+:102420002046FFF712F800212046FFF719F8204652
+:10243000BDE81040FEF7ECBF000000004800005867
+:102440004C0000589C130020000C005890000058CD
+:10245000D8130020002800409C11002000380140C3
+:1024600080B50420FFF736FF0120FFF733FF00227D
+:102470000F210E20FFF7E8FDBDE802400E20FFF718
+:1024800001BE70478A60FF2102685162012180F815
+:102490002110002180F82010002070472DE9F8431A
+:1024A00000F065F808BF022038D000F067F814D5B6
+:1024B000FFF7A8FD07462068C16848070DD5FFF75C
+:1024C000A1FDC01B4845F6D300F039F826E0FFF720
+:1024D00099FDC01B484507D3F6E700F02AF800F045
+:1024E00065F8FFF78FFD07462068C1684A07EED5FB
+:1024F000C0F81480206800F013F82A48016841F4FD
+:10250000002101602848026842F40022026020682D
+:10251000816841F48041816000F01BF8BDE8F283DE
+:102520008168C908C9008160206881680D438560A1
+:1025300070472068816821F480618160704720685D
+:102540004662032184F82110002084F82000032033
+:1025500070472068816841F48061816001212068B2
+:10256000466284F82110002084F820007047044659
+:10257000884694F82000012815467047012184F808
+:102580002010022084F82100CA20216848625320CC
+:1025900022685062FF2620688168480540F2E939C8
+:1025A0007047000080080058000800582068C16883
+:1025B00001F0800161F49061C160704790F82010D3
+:1025C000012901D102207047012280F82020022138
+:1025D00080F82110CA2102685162532103685962B0
+:1025E00001688A6842F020024CE700002DE9F84FAC
+:1025F0004FF00009644A654B4FF00F0805460E4640
+:1026000033E0634FBD4214BF072704278F402743A1
+:102610004CF82E70C1431C6801EA040C7468E40293
+:1026200048BF40EA0C0CC3F800C05C6801EA040C27
+:102630007468A40248BF40EA0C0CC3F804C01468D4
+:1026400001EA040C7468E40348BF40EA0C0CC2F8C9
+:1026500000C0546801EA040C7168890348BF40EA6D
+:102660000C0CC2F804C009F10109316831FA09F013
+:1026700078D0012404FA09F414EA0100F3D04FEAF7
+:10268000490C032101FA0CF16FEA010E716801F0A7
+:102690000307012F1CBF01F00301022911D1A96812
+:1026A000F7680EEA010107FA0CF73943A960696877
+:1026B00021EA04047168C1F3001101FA09F10C4325
+:1026C0006C604FEA8901347904F00304032C1FD0B5
+:1026D000EC68B7680EEA040407FA0CF73C43EC60B8
+:1026E000347904F00304022C12D14FEAD90705EB28
+:1026F000870401F01C07D4F820A008FA07FB2AEA97
+:102700000B0AD6F810B00BFA07F747EA0A07276258
+:102710002C680EEA0407347904F0030404FA0CF47C
+:102720003C432C60746814F4403F9CD0DFF864C0D4
+:102730004FEA990E5CF82E7001F00C0108FA01F4D2
+:1027400027EA0404B5F1904F08BF002709D0124FC3
+:10275000BD4208BF012704D0104FBD427FF451AFE6
+:10276000022753E7BDE8F18F81B0002A14BF8161D1
+:10277000816201B070470A4A136803421CBF1060AF
+:1027800000F042B970470000800800580008005867
+:1027900000100048080001400004004800080048FC
+:1027A0000C08005870B50F4E044630780025A8B1CB
+:1027B000FFF77EFA32784FF47A71B1FBF2F1B0FB99
+:1027C000F1F0FFF779FC48B9102C07D2002221461E
+:1027D0004FF0FF30FFF738FCB46000E001252846D9
+:1027E00070BD00BF78100020144810B5016841F496
+:1027F000807101600320FFF71AFC0020FFF7D2FF71
+:102800000024002814BF0124FEF7D7FB204610BD8A
+:102810000B48806870470B4801684908490001600F
+:1028200070470848016821F00201016070470548BF
+:10283000016821F004010160704700000040005869
+:1028400078100020042004E07047000000B500BFAD
+:10285000130096469446103928BFA0E80C50FAD8C9
+:102860005FEA417C28BF0CC048BF40F8042BC90771
+:1028700028BF20F8022B48BF00F8012B00BD000044
+:1028800080B552484FF400410160002000F09EF9ED
+:1028900048B180794E494F4A0A600A6822F47C5256
+:1028A00042EA00220A6001BD18B54B484B4C89B082
+:1028B00001680160CA214A48C1615321C161FF22F8
+:1028C0000168C908C9000160C2614648016841F455
+:1028D0000041016000F08CF943480168C908C90053
+:1028E00041F00401016000F0C9F94049002000F006
+:1028F00042FB00F066FC0121012000F08BF900F0A2
+:1029000046F800F053F800F0B3FD394800F0A9FE96
+:102910000FF259020021202000F03DFF04F23C504C
+:10292000029034490FF22D0001900091684600F0AA
+:10293000F8FD04F25470039004F5C96140F23C5074
+:1029400006900491059403A800F024FE00F08EFD8B
+:102950000AB010BD80B50146254800F08EFEBDE8E6
+:1029600004400021202000F023BF000080B500F0CB
+:1029700056FC0021012000F04DF969461C4800F08A
+:1029800092FE009800F01FFE00F07AFF01BD80B5B6
+:10299000002001F05CF9012001F059F9022001F05A
+:1029A00056F9BDE80240012001F07AB980B5012155
+:1029B000002001F08AF90121012001F086F9BDE82B
+:1029C00004400121022001F080B9000010400058AD
+:1029D0009C000058FECAFECA900800583000032030
+:1029E000082800400800005880040058D813002030
+:1029F000281400204B39000802E000F01FB900BF86
+:102A00004FF0FF3000F060BE012808BF00F0ACBFFF
+:102A100070470000F8B504460025ACB104F1340657
+:102A2000307910B92046FEF7D7FA0F4F384600F03C
+:102A300021F8386840F001103860204600F007F8AF
+:102A400035600120307100E001252846F2BD10B547
+:102A50000021064A064B00EB8104491C06296360ED
+:102A6000E261F8D310BD0000000C005803200008FC
+:102A700007150008002101604FF03F1141603F2120
+:102A80008160704738B5040044D094F8210028B91B
+:102A9000002184F820102046FEF7BAFA00F049F829
+:102AA000FF2510B100F03FF834E02168DFF8B000F6
+:102AB0008A6802408A6021688A68636820690343E3
+:102AC000A06903431A438A602168E06808612068AE
+:102AD0000169A26841EA024101612068C16821F0F0
+:102AE0008001C1602068C16C21F00201C1642168CD
+:102AF000CA6CE369606903431A43CA642068816849
+:102B0000880609D400F020F830B12068456204211D
+:102B100000F01FF8012032BD20684562012184F8D1
+:102B20002110002032BD20684562042184F8211064
+:102B30007047022084F82100CA202168486253208F
+:102B400022685062204626E020460BE02068C0F84C
+:102B5000248084F82110002084F8200070470000B1
+:102B6000BFFF8FFF70B5044640F2E9362068C168A8
+:102B700021F0A001C160FFF745FA05462068C16851
+:102B8000880606D4FFF73EFA401BB042F6D3032076
+:102B900070BD002070BD70B504462068C1684A064B
+:102BA00012D44FF0FF32C26040F2E936FFF72AFA42
+:102BB00005462068C168480606D4FFF723FA401B83
+:102BC000B042F6D3032070BD002070BD0146064818
+:102BD000064AC3798B4218BF904218BF0838F8D113
+:102BE0008B4218BF00207047F873FF1F0070FF1F53
+:102BF0002048002101604160704710B500F019F8CD
+:102C00001C6819B1012904D1204301E024EA000025
+:102C100018600BE010B500F00CF85C6819B10129E0
+:102C200004D1204301E024EA0000586082F31088B8
+:102C300010BDEFF3108272B60E4B704738B5EFF34C
+:102C4000108472B60B490C4D086820B1296888477A
+:102C5000686880470AE0486820B1A9688847E86842
+:102C6000804703E0286980476869804784F31088BB
+:102C700031BD000030140020F84600080248016809
+:102C800041F400710160704708040058DFF8F01447
+:102C90000A6892B200E00246086880B28242FAD125
+:102CA00070472DE9FC4104461825DFF8D884DFF889
+:102CB000D864684308EB00073078062808D13178DB
+:102CC0007170347078754FF0FF307060002039E01B
+:102CD00000F077F8B9680918B96008F10803B96815
+:102CE00032786A439A589142327813D308F1150327
+:102CF00015FB02FC13F80C30062B25D008F1080652
+:102D00006B43F358994222BF08F115036A439A5C5A
+:102D1000EED219E01146337869439A420BD008F19C
+:102D2000140308F1150C5B5C15FB03F50CF805406A
+:102D30007A753B7500E07A7508F1140254543178C5
+:102D400071703470BDE8F6811146694308F11503CE
+:102D50005B5C062B04D008F1140615FB03F57455D3
+:102D60007B753A7508F115025454EBE7F8B5DFF8B6
+:102D70001834DFF810541E78182402466243B0421B
+:102D80002A4404D118785870507D18700FE0167DD1
+:102D9000507D92F815C005F115076643062807F81F
+:102DA00006C004D0167D143514FB00F42E55012006
+:102DB00010731878062802BF00294FF0FF315960C0
+:102DC000F1BD10B5DFF8C043606810F1010F0FD0FE
+:102DD000FFF75CFF6168DFF8B423814261683CBFA4
+:102DE0005388C918081A517848431178C84000E040
+:102DF000002080B210BD2DE9F84FDFF89053DFF8C6
+:102E000090B3D5F80880D8F80000DBF800104A0528
+:102E100000F06AF9DFF87063DFF868A321F48061DD
+:102E200081604FF0180934780AF1080019FB04F1A9
+:102E30004758FFF7C6FF874217D200270121B1701C
+:102E4000062C3DD019FB04F40AF108010AF108022E
+:102E50000959814223BF0AF108010959091A0021C1
+:102E600011510AEB04014C7DEAE7A9884118B942E7
+:102E700002D2AF880021E2E73F1ADFE7022802DA38
+:102E80002878012800D07F1ED8F80000C1684A07C2
+:102E9000FAD500F02FF9DBF80C00000CBFB247EABE
+:102EA0000047CBF80C70FFF7F1FE7060A86800686F
+:102EB000816841F480618160AFF30080BDE8F18FEB
+:102EC000B8B20028DAD1FFF7E1FE70600320BDE858
+:102ED000F24FFFF705B92DE9F843EFF3108872B60A
+:102EE000AA4DA84BA8680168CA224A6253204862CA
+:102EF000A54A886820F480608860182016783746D4
+:102F000047431F44387B022826D13C68D7F81090ED
+:102F10009078F0B17A7B012A0AD101213046FFF77F
+:102F200025FF88F310887968304600F0F0F804E057
+:102F300088F31088304600F09BF8A8680068CA2122
+:102F400041622246532141624846314600F02AF947
+:102F50000BE0FFF750FF06E0C8684207FCD500F021
+:102F60007EF88C49086088F31088FF21A868026801
+:102F70005162BDE8F183F8B5844CA160CA220968AA
+:102F80004A6253224A62824A136843F02003136064
+:102F9000136803F00703C3F10403237095682D0C35
+:102FA00005F07F056D1C6570EDB29268C2F30E02EC
+:102FB000521C628092B2521E6A43A2F5A072DA409D
+:102FC0004FF6FF739A422CBFA380A280724A136807
+:102FD00043F400231360714B1D6845F400251D6008
+:102FE00048BB6948674E0123837018254FF0FF33B3
+:102FF000436000235FFA83FC06F10C0715FB0CFC11
+:103000004FF0000E07F80CE05B1CDFB2062FF1DB7F
+:1030100006230370886820F48060886000F01FF841
+:10302000D0600320FFF767F8A1680868826842F45F
+:103030008042826005E0C868410544BF0320FFF775
+:103040004FF8A1680A68FF20506200220321032084
+:10305000FEF7FAFFBDE8F2400320FFF713B8C86897
+:1030600000F0800060F49060C8604FF4002070476A
+:10307000F8B50746EFF3108472B60320FFF70DF89A
+:10308000424DAE683068CA2141623A4653214162DE
+:10309000182043494243895C02291BD1002138464C
+:1030A000FFF764FE3848017806290ED130683849A8
+:1030B0000A68530500F018F821F480618160C16846
+:1030C0004A07FCD500F016F804E04078884218BFA3
+:1030D000FFF791FEA9680A68FF2050620320FEF7FF
+:1030E000D1FF84F31088F1BD02D5C1684A07FCD432
+:1030F00081687047C16801F0800161F49061C1602E
+:103100004FF40020234908600320FEF7F4BF2DE9A7
+:10311000F04180460F46424618201A4942438C1817
+:10312000207B022804BF4046FFF7A2FFEFF3108583
+:1031300072B60320FEF7B1FF144EB0680068CA21D2
+:1031400041625321416202202073A76067604046BC
+:10315000FFF7A7FD0C490A784978914202D0FFF7A2
+:103160004AFE02E0A168081AA060FF20B1680A6860
+:1031700050620320FEF786FF85F31088BDE8F081DA
+:10318000282800402C120020501400201C1400207D
+:10319000082800400C080058000800588008005813
+:1031A0003812002010470000564900E0564981B00F
+:1031B0000A6802430A60096808400090009801B05C
+:1031C000704718B585B068461421FEF7B1FF03209B
+:1031D00001904FF460410024009102940120FFF718
+:1031E000E3FF00F097F8474C20684008400020605B
+:1031F000182100910220FFF7D7FF69464348FFF7E7
+:10320000F5F9206820F002002060FFF704FBFFF7CB
+:1032100008FBFFF70CFB00F011F806B010BD00B57D
+:1032200087B068460FF228211C2200F0CBFD00F089
+:10323000E6F9684600F018FE07B000BDF0B585B0AD
+:1032400068461421FEF774FF0026002500240021A3
+:103250000FF2CC0000EBC102907988B11368B3F192
+:10326000904F08D0294FBB4208D0294FBB4204BF22
+:103270009088044304E09088064301E09088054369
+:10328000491C2629E4DB0020029001210320039041
+:103290000191B0B270B100900120FFF785FF0120CD
+:1032A000FFF784FF00F036F80022B1B24FF09040F3
+:1032B000FFF75AFAA8B280B100900220FFF774FF1E
+:1032C0000220FFF773FF114E69463046FFF78EF973
+:1032D0000022A9B23046FFF747FAA0B280B10090B1
+:1032E0000420FFF761FF0420FFF760FF084D6946E7
+:1032F0002846FFF77BF90022A1B22846FFF734FAEF
+:1033000005B0F0BD4C0000584C01005800040048C6
+:103310000008004869464FF09040FFF767B9000089
+:10332000000000480100000000000048010000000B
+:1033300000000048010000000000004801000000FB
+:1033400000000048010000000000004801000000EB
+:1033500000000048010000000000004801000000DB
+:1033600000000048010000000000004801000000CB
+:1033700000000048010000000000004801000000BB
+:1033800000000048010000000000004801000000AB
+:10339000000000480100000000000048010000009B
+:1033A000000000480100000000000048010000008B
+:1033B000000000480100000000000048010000007B
+:1033C000000000480100000000000048010000006B
+:1033D000000000480100000000000048010000005B
+:1033E000000000480100000000000048010000004B
+:1033F000000000480100000000000048010000003B
+:10340000000000480100000000000048010000002A
+:10341000000000480100000000000048010000001A
+:10342000000000480100000000000048010000000A
+:1034300000000048010000000000004801000000FA
+:1034400000000048010000000000004801000000EA
+:103450000000000000000000000000002033000811
+:10346000280003202C0003202604040000F077BD70
+:1034700071487249016001F12002426001F130029D
+:10348000826001F13C02026201F14402426201F1F8
+:103490004C02C26001F15402026101F1700242610A
+:1034A00001F1740282618031C16100F076BD38B5EE
+:1034B0000446634D284600F0D4F85F484068A16890
+:1034C0000160E168C16085605E49416000F081FD96
+:1034D0005D4834E080B5584842681368012119728C
+:1034E000406800F07CFD002002BD38B5564C544DBC
+:1034F00004E000F04BF8009821688847284600F067
+:10350000B3F80028F5D031BD80B54B494A68D16881
+:103510000220087200F068FD002002BD4A484168A0
+:10352000084738B50446494D284600F09AF8424805
+:10353000C068A1680160456000F05FFD44482168F3
+:10354000016061684160002032BD80B53A48C268C0
+:10355000136810211972C06800F055FD002002BDEB
+:1035600035483B4AC168C16813680868184738B5D0
+:10357000374C364D04E000F009F800986168884740
+:10358000284600F071F80028F5D031BD694628467C
+:1035900000F089B838B504462E4D284600F061F891
+:1035A0002D4800F05EF824480069A1688160E16858
+:1035B000C160056121680160616841602169416104
+:1035C0006169816131BD80B50146234800F055F83D
+:1035D000BDE802400FF2050000F01EBD38B5164CE4
+:1035E0001D4D06E0FFF7D2FF00992069006900F049
+:1035F00044F8284600F038F80028F3D031BD10B563
+:10360000164C204600F02DF80B4841690C60BDE8CF
+:10361000104000F015BD1CB5104C06E06946204670
+:1036200000F041F8009800F01BF8204600F01CF86C
+:103630000028F3D013BD000000000320B40A0320CB
+:10364000500B0320A40A032040140020580B032031
+:1036500048140020400B032038140020480B03209E
+:103660007047006040607047EFF3108172B60268E7
+:1036700082420CBF0120002012E0EFF3108272B6EC
+:10368000086043684B6041604868016019E0EFF3EF
+:10369000108172B642680368136002684368536021
+:1036A00081F31088704710B5EFF3108472B602688A
+:1036B0000A600068FFE7FFF7EAFF84F3108810BD97
+:1036C0000B6082F3108870472DE9FC47594CDFF8F6
+:1036D0006891A5692840A0614FF0FF3A21694FF039
+:1036E000010834E0521C54F832006169194001426B
+:1036F000F8D0616904EBC2060840716818400142C5
+:1037000008BFC6F804A07768384000F097F86062F8
+:1037100008FA00F087437760EFF3108172B6626AAF
+:10372000206908FA02F2D24310402061022004EB23
+:10373000C00353F8086C1640401E43F8086CF6D1DD
+:1037400081F31088606A59F8201088472169A369BD
+:1037500060690140194205D0E069216A084208BF4A
+:103760000022C0D0C4F824A000F082FCEFF310893E
+:1037700072B6216960690140A069014201BFE16937
+:10378000206A0142FFF739F989F3108800F071FCD3
+:10379000A561BDE8F38738B51446EFF3108572B61E
+:1037A00000F04CF8244941F8204085F3108831BDE1
+:1037B00010B500F00BF804431C6153F8314020436E
+:1037C00043F83100FFE782F3108810BDEFF3108259
+:1037D00072B6184B1C697047506181F310887047AE
+:1037E000EFF3108172B6134AD3691843D061F4E73E
+:1037F000F8B5104C666A256A374616F1010F0EBF00
+:103800000026012101FA06F6206202E03046FFF7A9
+:10381000F6F8216AE0690842F8D06762EFF3108198
+:1038200072B6E269206A8243E26181F31088256200
+:10383000F1BD000044100020BC1200200246002010
+:10384000110C090404BF1020120412F07F4F04BFB2
+:10385000083012020FF2180112F0704F04BF001D61
+:103860001201120FC0F11F00895C401AC0B27047EC
+:103870000403020201010101000000000000000039
+:1038800018B591B004A80FF27C31DFF85043342210
+:1038900000F098FA2068DFF848434FF6FC7101EA1F
+:1038A0008001DFF840034118DFF83C030290E1603B
+:1038B00000F5867003900FF2B9210FF2CD20019030
+:1038C00000916846FFF7F3FD01210220FFF7A2F9FE
+:1038D00001210220FFF791F90020E070A07004A8F8
+:1038E00000F0BAFA0FF2011200210820FFF753FF8F
+:1038F000BE4A00210120FFF74EFF0FF2990200217E
+:103900001020FFF748FFBA4A00210220FFF743FFCB
+:10391000B84A00210420FFF73EFF0120607000201C
+:10392000A06004F11800FFF79CFEFEF75FFD04F1B4
+:10393000100060600020207001220FF2011304F1DA
+:103940001001FDF7E1FD12B010BD80B5A44A9178D9
+:1039500031B1002090700120BDE80240FFF740BF68
+:10396000014602F1180007E110B59D4CE07830B92E
+:10397000012000F09AF90121E170002105E0012009
+:1039800000F08EF90020E0700121BDE81040022017
+:10399000FFF733B938B5EFF31084914D68780128FB
+:1039A00021D10021697005F1180005F10801FFF728
+:1039B0007AFEE878A0B9A8680FF28113017A02298B
+:1039C00072B607BFB0F80B20521D827AD21C00F1EC
+:1039D000080192B20020FDF7A0FD84F3108831BDEC
+:1039E000BDE83140AAE031BD10B5834CB4F8090000
+:1039F0004FF66052811A04D0491E06D0491E08D0E5
+:103A00000BE0204600F036FB11E0204600F06DFB95
+:103A10000DE0204600F08FFB09E0A0810120A0739B
+:103A2000E072212020720E2060720420A0722146D4
+:103A30007248FFF722FEBDE81040A1E0F8B5684DDE
+:103A400069682A78002400201AB1022A64D013D3AE
+:103A500058E00978012905D0022907D0102918BF9C
+:103A6000202907D10120287003244BE00120287071
+:103A7000042447E0012445E00E78E868022E11D0C6
+:103A8000102E02D0202E03D01CE0CC78C0681BE0A2
+:103A9000CC78594805F1100100F108070A6840F890
+:103AA000082F18E04068CA780979C36802EB01243E
+:103AB00003F10807052205F11001384600F072F9FC
+:103AC000052009E0CC784068016805F1100001F19B
+:103AD00008070168396004206F60A1B211B10221AA
+:103AE00029700FE0022E25D0102E1DD0202E1ED0C2
+:103AF00000210120FFF75CFE002005F11001287075
+:103B000001246960A2B201B069683D4BBDE8F04094
+:103B100001440020FDF7F8BC087802280AD01028DC
+:103B200002D0202803D0E3E700210220E2E70021B1
+:103B30000820DFE700210420DCE700001CB5284C4A
+:103B400001206070E0680169A0688A68904205D32E
+:103B5000C9681144884238BFFFF735FD04F11800E9
+:103B6000FFF782FD10B9BDE81C4009E013BD00005D
+:103B700080B50146DFF88400FFF77FFDBDE8044013
+:103B800000211020FFF714BE704770B51446134A89
+:103B9000134E12681D460123B3704FF6FC7303EAFF
+:103BA0008203104AD3180A46DE683668A6F8090070
+:103BB000F17206F10C00214600F0F4F8002100201B
+:103BC000FFF7C3FC0120FFF713FE314605F10800A3
+:103BD000B278BDE87040D21C00F0E4B83C40005818
+:103BE000FC1300200000032090080320D5340008B7
+:103BF0004B350008093500089010002014140020EF
+:103C00003D3A000800000000000000000000000035
+:103C100000000000000000001E0004000A05020170
+:103C200012279C00F4010000FFFFFFFF4801010084
+:103C30000020000000000000494981B00A680243EA
+:103C40000A60096808400090009801B0704778B594
+:103C500085B0044668461421FEF76AFA0220FFF791
+:103C6000EBFF00F011F800950120019000210220E7
+:103C700003900291694656F82400FEF7B7FC00F065
+:103C800009F8002006B070BD0FF2F400354E30F890
+:103C90001450704756F8240000222946FEF764BDF0
+:103CA00080B500F00AF8012203E080B500F005F8C5
+:103CB0000022FEF759FD002002BD0FF2C401294B7E
+:103CC00031F8101053F820007047F0B585B0054664
+:103CD0000C4668461421FEF72BFA2DB1012D08BFC2
+:103CE000102002D0022D02D10120FFF7A5FF0FF214
+:103CF00098001D4F30F8150000900121022003901C
+:103D000007EB8506029130682CB9002101916946C4
+:103D1000FEF76CFC20E04FF40411019107EBC504A1
+:103D20006946FEF763FC0FF26C0050F8251004F1B1
+:103D3000240000F066FAF268002104F1240000F08B
+:103D400059FA0FF24C004457B16900222046FEF7A1
+:103D50007BF92046FEF796F9002005B0F0BD000083
+:103D60004C0000586C10002008100020002000F0CB
+:103D700017B8012000F014B8022000F011B80000BC
+:103D800020000100020000000100100040000000BF
+:103D9000060A1700000000160400001606000016B0
+:103DA0007047000062B38B0708D0521E11F8013B28
+:103DB00000F8013B00F024808B07F6D1830740F028
+:103DC000208000BF103A07D330B4B1E83810103A61
+:103DD000A0E83810F9D230BC530724BFB1E808106E
+:103DE000A0E8081044BF51F8043B40F8043BD20758
+:103DF00024BF31F8022B20F8022B44BF0B7803704C
+:103E00007047121F17D35B0009D151F8043B20F80B
+:103E1000023B1B0C121F20F8023BF6D20BE051F8BC
+:103E2000043B00F8013B1B0A20F8023B1B0C121F4D
+:103E300000F8013BF3D238BF121D521E24BF11F807
+:103E4000013B00F8013BF8D870470000FFF79DFEEA
+:103E50009DF80E0005B000BDF8B500F10C026B46F0
+:103E600025214FF66640F1E7F8B500F10C026B46EC
+:103E70000F214FF66840E9E7C0680840884201D149
+:103E80000120704700207047C0690840884201D176
+:103E9000012070470020704710B56C4C022120466D
+:103EA000FFF7F2FF38B16068C043810703D5FFF721
+:103EB0005EFB022018E001212046FFF7E5FF38B144
+:103EC0006068C043C10703D5FFF70FFB01200BE07B
+:103ED00008212046FFF7D8FF38B16068C0430107CA
+:103EE00003D5FFF798FB0820A06010BD10B5574C14
+:103EF00002212046FFF7C0FF58B96068C043810324
+:103F000007D5606840F400306060BDE81040FFF7FE
+:103F100027BB08212046FFF7AFFF70B96068C04398
+:103F200001030AD560684A4940F4002060600868CF
+:103F300080474FF40020A06010BD20212046FFF7ED
+:103F40009BFF58B96068C043810207D5606840F4A0
+:103F500000106060BDE81040FFF7E0BA10BD3D48BA
+:103F600081B0016841F480110160006800F48010A4
+:103F7000009000983848016841F4007101603748AA
+:103F8000026842F40072026040BF20BF34480168FA
+:103F900041F40041016001B0704780B531480168CB
+:103FA00041F480110160006800F4801000900098D6
+:103FB0002648016841F001010160026842F4803244
+:103FC00002602C20FEF75EF8BDE802402D20FEF7CF
+:103FD00059B82548016849084900016070472349DC
+:103FE0004FF48030086070471F484FF40011416063
+:103FF000016821F40011016070471B48016821F03D
+:1040000002010160704718484FF4003141600168B7
+:1040100021F400310160704738B504460B4D08218A
+:104020002846FFF729FF30B109480460686820F48A
+:104030000020686031BDA0474FF40021A96031BD68
+:104040000948016821F0080101607047000C005820
+:104050005814002050010058D40800582008005877
+:104060000C04005850000058040C0058080C00586C
+:104070007047704770B5EFF31081027B012A02D0C0
+:10408000022A07D00DE000F028F8137800F01FF89E
+:1040900014700CE000F021F8138800F018F8148078
+:1040A00005E000F01AF8136800F011F8146081F3CD
+:1040B0001088212101720E214172042181724FF674
+:1040C00060518181002181730121C17270BD26463A
+:1040D00023EA040435402C43704772B6D0F811200F
+:1040E000D0F80D40D0F81550704781B0017B012900
+:1040F00002D0022904D008E0D0F80D10097807E0BA
+:10410000D0F80D100A88009203E0D0F80D1009686D
+:1041100000910E21417221220821817202724FF614
+:10412000615181810121C17200218173009A40F89F
+:104130000F2F01B0704738B50446284800684FF685
+:10414000FC7505EA800526484519212020720E20BD
+:1041500060724220A0724FF66250A0810120E0728E
+:104160000020A0731F480168090CA4F80F10006814
+:10417000C0F30B00A4F811001B4801781B4801F0A4
+:104180001F01E174416821754168090AC4F81510DE
+:104190000268C4F819200169C4F81D104169C4F807
+:1041A000211004F129018069C4F8250028680268FB
+:1041B0000A600C222B68191D04F12D00FFF7F2FD97
+:1041C000286800F11001102204F13900FFF7EAFD20
+:1041D00007480168C4F8491031BD00003C40005850
+:1041E00000000320002004E00075FF1F8075FF1F02
+:1041F000B84700080346002009B95A6070470120FB
+:10420000704708B901207047016000207047000026
+:1042100000EB8100474AD0F88010914201D0012084
+:1042200070470020704742F4806240F821207047B8
+:1042300080B500F0A9F800F061F83F4809218161DC
+:104240000168C908C90041F0030100F011F80160DC
+:1042500001BD704780B500F097F800F04FF8364880
+:104260000168C908C90041F0010100F001F840E00F
+:1042700001603248016841F00401704710B5304CCC
+:1042800000F064F800F02BF80028FBD14FF0B040AC
+:10429000816801F00C01042918D1016841F48031D2
+:1042A000016028490A68D208D20042F001020A607F
+:1042B00001688903FCD581688908890041F0020101
+:1042C0008160816801F00C010829FAD100220321E4
+:1042D0002046FFF7A8FFBDE8104000F05DB80321BD
+:1042E000204695E780B500F04FF81448016821F0AA
+:1042F0000401016030BF01BD00F04EB810B5104C94
+:10430000FFF7EDFF0028FBD10421FFF7E9FF40B9DB
+:104310000D480168090402D40068400503D500F087
+:1043200015F800F017F82046BDE8104000220321E0
+:1043300079E70000000400800004005810ED00E060
+:10434000001400580040005888040058002204213E
+:10435000204668E74FF0B040016841F48071016089
+:1043600001684905FCD581688908890041F001018F
+:104370008160416A890889004162816801F00C010D
+:104380000429FAD1704700000248016821F00201B7
+:104390000160704710E000E00248016841F002014E
+:1043A0000160704710E000E01349002008604FF4FE
+:1043B000E0221248016841F4700101604FF0B04101
+:1043C000086840F0010008608A600D480A680240F1
+:1043D0000C480A60036823F0050303604268520832
+:1043E0005200426000220848C860086820F480201B
+:1043F00008608A617047000008ED00E088ED00E089
+:10440000FBFEF6FA940000580010042201000000A0
+:104410000300000005000000010000000100000092
+:10442000060000000A00000020000000020000005A
+:104430000400000008000000100000004000000020
+:10444000800000000001000000020000A0860100C2
+:10445000400D0300801A060000350C0040420F009A
+:1044600080841E0000093D0000127A000024F40040
+:1044700000366E010048E801006CDC02000000001C
+:1044800000000000000000000000000000F024F820
+:10449000012810D00D4880470D480047F0B543462D
+:1044A0004C4655465E466746F8B40A4C6B46236058
+:1044B000BFF34F8F30BF074C2468A546F8BC984621
+:1044C000A146AA46B346BC46F0BD0000A943000879
+:1044D000114700086414002002490020086070475A
+:1044E0000000000068140020FEE7FEE7FEE7FEE79C
+:1044F000FEE770477047704700F01CB8FEF7EBBC52
+:104500000248FCF7F2BE0248FBF7EABE3C1300206B
+:104510009C110020FFF7C0BCFFF7E8BC00F012B808
+:104520000120FEF728B91020FEF725B94020FEF73C
+:1045300022B900000248416802788918416070473A
+:10454000781000200449C8680A6882430A604860FD
+:1045500000F004B80000000000150058704719E092
+:1045600050F8042BD30744BFA9F101039A18091F7F
+:104570000023042942F8043BF9D25FEA817C134608
+:1045800004D54FF0000CA2F800C09B1CC90744BF23
+:104590000021197050F8041B0029E1D17047000078
+:1045A00010B500F013F802000023DB43002410686C
+:1045B000984203D011000220ABBE146050689842AC
+:1045C00003D0111D0220ABBE546010BD01487047DE
+:1045D000000000008410002010B450F8041B79B1D2
+:1045E0000268436802440830DC0744BFA9F10104B3
+:1045F000E31852F8044B43F8044B091FF9D1ECE7D8
+:1046000010BC704710B5074979441831064C7C44FA
+:10461000163404E00A68081D114488470146A14287
+:10462000F8D110BD2C000000680000004EF6885143
+:10463000CEF20001086840F470000860BFF34F8FAD
+:10464000BFF36F8F4FF00070E1EE100A704700006B
+:104650000FFFFFFFDC03000090100020840A000021
+:10466000300003200000000071FFFFFF0800000081
+:10467000AC00000028000320000000005DFFFFFFE9
+:104680008800000038010000081000200000000031
+:10469000000000000000000000000000000000001A
+:1046A0000100000002000000030000000400000000
+:1046B00000F00DF8002801D0FFF7A4FFAFF3008051
+:1046C0000020AFF30080FDF712FE00F002F8012099
+:1046D000704700F001B800000746384600F002F8C5
+:1046E000FBE7000080B5FFF75BFF024A11001820CE
+:1046F000ABBEFBE726000200E5420008F9420008D5
+:10470000554200087D42000831420008534200082B
+:10471000AFF30080FFF78AFFFFF7CAFF0000000039
+:1047200000000000FFF7FEBFFFF7FEBFFFF7FEBF70
+:10473000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFAD
+:10474000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF9D
+:10475000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF8D
+:10476000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF7D
+:10477000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF6D
+:10478000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF5D
+:10479000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF4D
+:1047A000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF3D
+:1047B000FFF7FEBFFFF7FEBF00010000000000484A
+:1047C00000100048000000486D3D0008733D0008DF
+:1047D000793D00080F0000000F0000000F000000EE
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:10480000000000000000000000000000FFFFFFFFAC
+:10481000FFFFFFFF0000000000000000000000009C
+:1048200000040048000400480004004801000000A3
+:104830000000000010000000FFFFFFFFFFFFFFFF70
+:0448400000093D002E
+:040000050800471197
:00000001FF
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_conf.h
index 7b598396c..a926484f8 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -215,6 +215,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -224,11 +228,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -236,6 +244,18 @@
#define CFG_BLE_MAX_TX_POWER (0)
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+ * which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -392,8 +412,9 @@
#endif
-/** tick timer value in us */
+/** tick timer values */
#define CFG_TS_TICK_VAL DIVR( (CFG_RTCCLK_DIV * 1000000), LSE_VALUE )
+#define CFG_TS_TICK_VAL_PS DIVR( ((uint64_t)CFG_RTCCLK_DIV * 1e12), (uint64_t)LSE_VALUE )
typedef enum
{
@@ -512,9 +533,9 @@ typedef enum
CFG_TASK_HCI_ACL_DATA_ID,
CFG_TASK_SYS_LOCAL_CMD_ID,
CFG_TASK_TX_TO_HOST_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
-/* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITH_HCICMD, /**< Shall be LAST in the list */
} CFG_Task_Id_With_HCI_Cmd_t;
@@ -523,11 +544,12 @@ typedef enum
{
CFG_FIRST_TASK_ID_WITH_NO_HCICMD = CFG_LAST_TASK_ID_WITH_HCICMD - 1, /**< Shall be FIRST in the list */
CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
-/* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITHO_NO_HCICMD /**< Shall be LAST in the list */
} CFG_Task_Id_With_NO_HCI_Cmd_t;
+
#define CFG_TASK_NBR CFG_LAST_TASK_ID_WITHO_NO_HCICMD
/**
@@ -559,9 +581,9 @@ typedef enum
{
CFG_LPM_APP,
CFG_LPM_APP_BLE,
- /* USER CODE BEGIN CFG_LPM_Id_t */
+ /* USER CODE BEGIN CFG_LPM_Id_t */
- /* USER CODE END CFG_LPM_Id_t */
+ /* USER CODE END CFG_LPM_Id_t */
} CFG_LPM_Id_t;
/******************************************************************************
@@ -572,5 +594,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_entry.h
index 008724b5c..4f47130d3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -70,5 +70,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_conf.h
index 8d9ecd40f..9ab15a5c6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -215,5 +215,3 @@
#define CFG_HW_USART1_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/main.h
index 8dd24a564..20ea9d15a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,5 +75,3 @@ void MX_USART1_UART_Init(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32_lpm_if.h
index d8e67947f..45c31caa5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
-* @file stm32_lpm_if.h
-* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
-* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
-* This software component is licensed by ST under BSD 3-Clause license,
-* the "License"; You may not use this file except in compliance with the
-* License. You may obtain a copy of the License at:
-* opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +77,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_hal_conf.h
index 241a52197..4d222698e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_it.h
index 86521af11..c1e2f2a3b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -74,5 +73,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_debug.c
index 562e3a22c..852be7f8e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -43,7 +43,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -128,8 +128,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -413,5 +421,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_entry.c
index e89297858..ef7411d76 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -163,9 +163,8 @@ void Init_Smps( void )
void Init_Exti( void )
{
- /**< Disable all wakeup interrupt on CPU1 except IPCC(36), HSEM(38) */
- LL_EXTI_DisableIT_0_31(~0);
- LL_EXTI_DisableIT_32_63( (~0) & (~(LL_EXTI_LINE_36 | LL_EXTI_LINE_38)) );
+ /* Enable IPCC(36), HSEM(38) wakeup interrupts on CPU1 */
+ LL_EXTI_EnableIT_32_63( LL_EXTI_LINE_36 & LL_EXTI_LINE_38 );
return;
}
@@ -374,6 +373,8 @@ static void shci_user_evt_proc ( void )
TL_MM_EvtDone( p_evt_rx );
TM_Init( );
+
+ return;
}
/* USER CODE BEGIN FD_LOCAL_FUNCTIONS */
@@ -473,6 +474,8 @@ void UTIL_SEQ_Idle( void )
void UTIL_SEQ_EvtIdle( UTIL_SEQ_bm_t task_id_bm, UTIL_SEQ_bm_t evt_waited_bm )
{
UTIL_SEQ_Run( UTIL_SEQ_DEFAULT );
+
+ return;
}
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
@@ -490,4 +493,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_uart.c
index 6ae6ff9f9..43c681c1c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/hw_uart.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Src/hw_uart.c
- * Description : HW UART source file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file hw_uart.c
+ * @author MCD Application Team
+ * @brief HW UART source file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -316,5 +315,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/main.c
index b912f1bf3..fa5de8b57 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -72,6 +72,7 @@ DMA_HandleTypeDef hdma_usart1_tx;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -105,6 +106,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* IPCC initialisation */
MX_IPCC_Init();
@@ -143,7 +147,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Configure LSE Drive Capability
*/
@@ -179,15 +182,23 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP
- |RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART1;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
- PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP;
PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_LSE;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSE;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -374,5 +385,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/standby_stm32wb15.c
index 9a99bfd96..35763e493 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -165,4 +164,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_hal_msp.c
index ae7e237cc..5ed0b2be9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -143,6 +142,7 @@ void HAL_IPCC_MspDeInit(IPCC_HandleTypeDef* hipcc)
*/
void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hrtc->Instance==RTC)
{
/* USER CODE BEGIN RTC_MspInit 0 */
@@ -156,6 +156,15 @@ void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
__HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); /**< Select LSI as RTC Input */
/* USER CODE END RTC_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
+ PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_RTC_ENABLE();
__HAL_RCC_RTCAPB_CLK_ENABLE();
@@ -204,11 +213,21 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -289,5 +308,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_it.c
index 33d5a81b6..7dd965b4a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -321,4 +320,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/system_stm32wbxx.c
index c0af3469e..1394ae132 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/BLE_TransparentMode.ewp b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/BLE_TransparentMode.ewp
index e35cc2cd4..f70ab4773 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/BLE_TransparentMode.ewp
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/BLE_TransparentMode.ewp
@@ -1125,7 +1125,7 @@
<group>
<name>STM32WBxx_HAL_Driver</name>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc.c</name>
@@ -1143,9 +1143,6 @@
<name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma.c</name>
</file>
<file>
@@ -1167,6 +1164,9 @@
<name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</name>
</file>
<file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc.c</name>
</file>
<file>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/stm32wb15xx_flash_cm4.icf
index 56d9d33c5..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/startup_stm32wb15xx_cm4.s
index f7cdf820d..3b925699a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 72feb3a18..4e53aee02 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -45,7 +44,7 @@ _Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 110K
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_conf.h
index df9cd8ec0..10e38a30d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -91,4 +90,3 @@
#define BLE_CFG_GAP_APPEARANCE (BLE_CFG_UNKNOWN_APPEARANCE)
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_dbg_conf.h
index 7e393c676..91f670e3c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -197,5 +196,3 @@
#endif
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tl_dbg_conf.h
index bd808a41b..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.c
index 9be3fda24..2be740c36 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.c
@@ -1,22 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tm.c
- * Description : Transparent mode
- ******************************************************************************
- * * @attention
+ ******************************************************************************
+ * File Name : App/tm.c
+ * Description : Transparent mode
+ ******************************************************************************
+ * @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
-
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -523,4 +521,3 @@ void shci_send( uint16_t cmd_code, uint8_t len_cmd_payload, uint8_t * p_cmd_payl
/* USER CODE END FD_WRAP_FUNCTIONS*/
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.h
index 54ec1a975..ae3a144e8 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/App/tm.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,4 +92,3 @@ extern "C" {
#endif /*__TM_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..57294e04f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,6 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +700,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/readme.txt
index ac24ae435..159befc19 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_TransparentMode/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE_TransparentMode example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/BLE_p2pClient.ioc b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/BLE_p2pClient.ioc
index 2d4b87d8e..b5a61ca05 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/BLE_p2pClient.ioc
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/BLE_p2pClient.ioc
@@ -56,8 +56,8 @@ Mcu.PinsNb=15
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.3.0
-MxDb.Version=DB.6.0.30
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel4_IRQn=true\:15\:0\:true\:false\:true\:false\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -106,6 +106,8 @@ ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32WB15CCUx
+ProjectManager.Example=BLE_p2pClient
+ProjectManager.ExampleSource=CubeFw
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x400
@@ -207,5 +209,3 @@ VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TINY_LPM_VS_TINY_LPM.Mode=TINY_LPM_Enabled
VP_TINY_LPM_VS_TINY_LPM.Signal=TINY_LPM_VS_TINY_LPM
board=custom
-ProjectManager.Example=BLE_p2pClient
-ProjectManager.ExampleSource=CubeFw
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Binary/BLE_p2pClient_reference.hex b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Binary/BLE_p2pClient_reference.hex
index 1241e1278..9dfda2db6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Binary/BLE_p2pClient_reference.hex
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Binary/BLE_p2pClient_reference.hex
@@ -1,24 +1,24 @@
:020000040800F2
-:1000000008100020A974000805750008077500088D
-:10001000097500080B7500080D7500080000000048
-:100020000000000000000000000000000F75000844
-:100030001175000800000000137500081575000810
-:100040001F77000823770008277700084B75000802
-:100050002B7700082F7700083975000833770008E0
-:10006000377700083B7700083F7500083F770008A6
-:100070004377000847770008197500084B77000898
-:100080004F770008537700085777000800000000FA
-:10009000000000005B7700085F77000845750008E6
-:1000A00063770008677700086B7700086F770008B0
-:1000B00073770008777700087B7700087F77000860
-:1000C000000000000000000083770008000000002E
-:1000D0001F75000887770008000000008B77000874
-:1000E0008F770008937700080000000097770008DA
-:1000F0002D75000831750008357500089B770008DC
-:100100009F770008000000000000000000000000D1
-:10011000A3770008A7770008AB770008000000006D
+:1000000008100020317B00088D7B00088F7B0008E2
+:10001000917B0008937B0008957B0008000000009E
+:10002000000000000000000000000000977B0008B6
+:10003000997B0008000000009B7B00089D7B000866
+:10004000A77D0008AB7D0008AF7D0008A17B0008FC
+:10005000B37D0008B77D0008C57B0008BB7D0008A4
+:10006000BF7D0008C37D0008CB7B0008C77D00086A
+:10007000CB7D0008CF7D0008A57B0008D37D00085C
+:10008000D77D0008DB7D0008DF7D00080000000050
+:1000900000000000E37D0008E77D0008D17B000838
+:1000A000EB7D0008EF7D0008F37D0008F77D000878
+:1000B000FB7D0008FF7D0008037E0008077E000826
+:1000C00000000000000000000B7E0008000000009F
+:1000D000AB7B00080F7E000800000000137E0008C4
+:1000E000177E00081B7E0008000000001F7E00082D
+:1000F000B97B0008BD7B0008C17B0008237E000897
+:10010000277E000800000000000000000000000042
+:100110002B7E00082F7E0008337E000800000000C0
:1001200000000000000000000000000000000000CF
-:100130000000000000000000AF7700082DE9F84F34
+:100130000000000000000000377E00082DE9F84FA5
:100140000FF2D017A2B0D7E90045CDE900452C9EAB
:10015000DFF82C7C04918DF8436000210FF2BC1471
:100160000D9112944FF0FF368246904699460FE06B
@@ -482,1459 +482,1564 @@
:101E000004D80C0D661E342EB7DDEBE7801A99411D
:101E100050EA410608BF0021E4E708BF1CEB430F6E
:101E200028BF6FF00001DDE780B5AFF30080024A04
-:101E300011001820ABBEFBE7260002004FF0B040B7
-:101E4000006800F0F000B02888BFB02070472DE98E
-:101E5000F041040054D0207881064FF0B04538D5C9
-:101E6000A868E96810F00C0001F0030103D00C2809
-:101E700008BF012946D12868800702D5E0690028FB
-:101E80003ED0FFF7DBFF616A884207D2084600F0C8
-:101E9000A0FB002834D100F043FA0FE0286820F0BE
-:101EA000F000014329606968206A21F47F4141EA1A
-:101EB00000216960606A00F08CFB08BB00F062FBE7
-:101EC000DFF88C170860DFF88C07006800F0EEFB85
-:101ED000B0B92078C1070DD5A868E96800F00C00FA
-:101EE000082801F0030103D00C2808BF03292CD1D6
-:101EF0002868800340F11D816068002840F0198146
-:101F0000012006E2E06980B1296841F0010100F09A
-:101F1000F3FA06462868800700F1088100F0E8FB24
-:101F2000801B0328F6D30320F3E128684008400013
-:101F300000F0A8FB0646286800F0EEF9C9D000F0D2
-:101F4000D7FB801B0328F6D3EDE76068B0F5803F30
-:101F500004D1296841F48031296003E02A6822F421
-:101F600080322A60606860B100F0C2FB06462868D3
-:101F7000800300F1DE8000F0BBFB801B6528F6D3F8
-:101F8000D1E700F0B5FB06462868400C10F00100D0
-:101F900000F0CF8000F0ACFB801B6528F4D3C2E7D3
-:101FA00000F0A6FBC01B0328C0F0F780BBE7E06889
-:101FB00078B1296841F4807100F09EFA06462868DD
-:101FC000400500F1FD8000F093FB801B0328F6D351
-:101FD000A9E7286820F4807000F054FB06462868C2
-:101FE000800A10F0010000F0C28000F081FB801B2D
-:101FF0000328F4D397E700F07BFBC01B0328C0F055
-:10200000F18090E740F0010000F09BF9074670680E
-:10201000800700F1028100F06BFBC01B0328F6D3A0
-:1020200081E7706820F0040000F08BF907467068C3
-:10203000C00810F0010000F0FF8000F059FBC01B49
-:102040000428F4D36FE70528306806D140F0040077
-:102050003060316841F0010105E040084000306027
-:10206000316821F004013160A06841F2893768B11C
-:1020700000F03EFB80463068800700F1F28000F0FF
-:1020800037FBA0EB0800B842F5D34CE700F030FB7B
-:102090008046306800F040F900F0E38000F028FB53
-:1020A000A0EB0800B842F4D33DE700F021FB801B11
-:1020B0000328C0F0088136E700F01AFB001B032854
-:1020C000C0F022812FE7286881010CD4296841F0F3
-:1020D00080712960E86840F08050E86000F008FBFB
-:1020E00004462868810100F1138100F001FB001B08
-:1020F0000328F6D317E70C2930D0286820F0807029
-:102100002860E96889088900E960E86820F0805063
-:10211000E86000F0EDFA04462868810140F1F8809B
-:1021200000F0E6FA001B0328F6D3FCE600F0F8F80E
-:10213000CFE6207881071AD5A868E96800F00C007E
-:10214000042801F0030104D00C2808BF02297FF401
-:102150002EAF2868400503D5E06800283FF4D0AED4
-:102160006968206921F0FE4141EA006169602168E7
-:10217000DFF8E46411F0180F38D0606900283FF4EC
-:1021800050AFC90670687FF53DAF800709D470680D
-:1021900040F0010000F0D5F80746706880077FF531
-:1021A000FFAE706840F0040000F0CBF8074670689E
-:1021B00000070DD400F09CFAC01B0428F7D3B2E648
-:1021C0006868216920F0FE4040EA01606860CEE75F
-:1021D0007068A16920F4706040EA0120706000F02E
-:1021E000ADF8074600F097F87FF405AF2078410777
-:1021F00037D5DFF868743868C10529D400F07EFA55
-:1022000000F076FA80463868C10521D400F070FAF3
-:10221000A0EB08000328F6D385E6706820F00400E0
-:1022200070607068C00810F00100DFD000F060FA44
-:10223000C01B0428F5D376E600F080F8074600F0CE
-:102240006AF8D3D000F054FAC01B0328F7D36AE62B
-:10225000A06801287FF4F7AE306840F001003060DC
-:1022600002E7A06A002853D0A968EA68022801F0B2
-:102270000C017FF440AFE36A02F00300984202BF12
-:1022800002F07000236B984214D1636BC2F30620F6
-:10229000984202BF02F47810A36B98420AD1E36B14
-:1022A00002F06060984202BF02F06042206C8242FD
-:1022B0003FF409AF0C293FF423AE286820F080706A
-:1022C00000F0E0F90646296888013FF5EEAEE968BE
-:1022D000DFF88C03626B0140E06A0143206B01432D
-:1022E000A06B41EA02210143E06B0143206C0143F2
-:1022F000E960286840F080702860E96841F080510A
-:10230000E96000F0F5F90446286881017FF5D4AE54
-:102310000020BDE8F0817068400810F001007047AF
-:102320002968606A21F0F001014329606868216A28
-:1023300020F47F4040EA01206860704770684008E0
-:102340004000706000F0D4B92DE9F84304008846DD
-:1023500044D0DFF8106300F0CAF847D200F0CFF89D
-:10236000074600F0C4F841D000F0C2F9C01B0228B3
-:10237000F7D90320B9E000F0BBF9401B022843D98C
-:10238000F7E700F0B5F9A0EB090002284CD9F0E717
-:1023900000F0AEF9A0EB0900022854D9E9E700F0FB
-:1023A000A7F9401B02285DD9E3E700F0A1F9401B23
-:1023B000022867D9DDE700F09BF9401B484577D339
-:1023C000D7E7032802D13968890103E0002839687A
-:1023D00002D1890762D401E049055FD4012084E07D
-:1023E00000F086F9C01B022872D9C2E72078810765
-:1023F0004FF0B0470BD5B968A06821F0F001014358
-:10240000B96000F075F90546B868C003B3D5207807
-:10241000DFF8385281060AD52968606921F0F00199
-:10242000014300F069F8814628688003A9D5207827
-:1024300041060BD52968A0690909090141EA101173
-:1024400000F05AF881462868C003A1D520784107DA
-:102450000BD5B968E06821F4E0610143B96000F090
-:1024600047F90546B868800399D5207801070CD54F
-:10247000B868216920F4605040EAC100B86000F0FB
-:1024800037F90546B86840038FD52078C10717D5BE
-:102490006068022895D1396889039FD5B968890891
-:1024A00040EA8100B86041F2893900F021F905461F
-:1024B000B868616800F00C00B0EB810F7FF47BAF6F
-:1024C000306800F00700804505D200F018F8074694
-:1024D00000F00DF884D100F055F85D49086000F077
-:1024E00029F9BDE8F24300F0E1B8BDE8F2833068B5
-:1024F00000F0070040457047296000F0F9B83168E6
-:10250000C90848EAC101316000F0F2B838B54FF0AF
-:10251000B044564DA16811F00C0106D1FFF78EFCB6
-:10252000C0F3031055F8200032BD0429504A05D0ED
-:102530000829504804D12168C90222D5104632BD6D
-:10254000E16801F00301022904D0032904D12168C4
-:10255000C90207D5104605E0FFF770FCC0F3031071
-:1025600055F82000E168E268E368C1F306214843BA
-:10257000C2F30211491C5B0FB0FBF1F05B1CB0FB16
-:10258000F3F032BD80B5FFF7C1FF3749FFE73A4AA4
-:102590000968C1F3031152F82110B0FBF1F002BD3C
-:1025A00080B5FFF7EFFF00F010F8C1F3022106E05D
-:1025B00080B5FFF7E7FF00F008F8C1F3C22112F879
-:1025C000211001F01F01C84002BD27492B4A0968AC
-:1025D000704770B52549284AB1282EBFC86AC0F394
-:1025E000031051F820001949096801F00F0152F851
-:1025F0002110234AB0FBF1F0B0FBF2F000240021DF
-:102600000FF2880252F8213083420AD2491C032972
-:10261000F8D90AE000F06CF8801B03280DD30320E2
-:1026200070BD0FF2780050F821400E4D2868C008A8
-:1026300044EAC00000F026F80646296801F00701C8
-:10264000A142E7D1002070BD000000000801005841
-:10265000202600201C26002090000058000400586E
-:102660008C80C1110040005808000058CC6E000852
-:102670000024F4000048E8018C6E000894760008FD
-:1026800040420F00286000F033B800001200000044
-:1026900024000000360000004000000000000000A0
-:1026A00001000000020000000300000070B50F4EA2
-:1026B000044630780025A8B1FFF764FF32784FF464
-:1026C0007A71B1FBF2F1B0FBF1F000F09DF848B97E
-:1026D000102C07D2002221464FF0FF3000F05CF8AA
-:1026E000B46000E00125284670BD00BF142600201C
-:1026F00001484068704700BF142600200248016866
-:1027000041F480710160704700040058114810B511
-:10271000016841F480710160032000F030F800206E
-:10272000FFF7C4FF0024002814BF012400F0B3F811
-:10273000204610BD084880687047084805E00748F3
-:10274000016841F0020101607047016841F0010138
-:10275000016070470040005814260020042004E067
-:102760000901020081B002D43C48815405E03C4894
-:1027700002F00F02104400F8041C01B07047394AFF
-:1027800013684FF6FF0100020B4000F4E0601843AD
-:10279000354908431060704738B5324B1C68C4F3A4
-:1027A0000223C3F10704052C28BF04241D1D072D97
-:1027B00034BF0023DB1E012505FA04F4641E21400A
-:1027C000994005FA03F35B1E1A401143BDE83440FB
-:1027D000C6E70000010007D4012200F01F01234BCF
-:1027E0008A40400943F82020704701000BD40122A1
-:1027F00000F01F011E4B8A40400943F82020BFF320
-:102800004F8FBFF36F8F704710B5401EB0F1807FC0
-:1028100001D3012010BD174C60600F214FF0FF3035
-:10282000FFF79EFF0022A26007202060002010BD5D
-:10283000010007D4012200F01F010F4B8A4040091C
-:1028400043F820207047010007D4012200F01F0147
-:102850000A4B8A40400943F82020704700E400E01A
-:1028600018ED00E00CED00E00000FA0500E100E0EA
-:1028700080E100E010E000E000E200E080E200E043
-:10288000544981B00A6802430A6009680840009010
-:10289000009801B0704780B54FF40020FFF7F0FFBB
-:1028A000002200212E20FFF777FFBDE802402E20F6
-:1028B000FFF790BF00684849884200D0704780B554
-:1028C0004FF48010FFF7DCFF002200212C20FFF7DF
-:1028D00063FF2C20FFF77EFF002200212D20FFF751
-:1028E0005BFFBDE802402D20FFF774BF1CB5044616
-:1028F0003A49206888421CD1FFF700FFFFF7FEFE2F
-:102900003748816B21F4407141F480718163816BA0
-:1029100041F400418163026842F480620260006811
-:1029200000F48060009000982046BDE8164000F05A
-:102930006DB813BD38B586B0044601A8142100F067
-:102940007DF82168274A914242D12748274D4169A5
-:1029500041F4804141610222416901F480410091CA
-:102960000099016841F0010101604FF4C061006805
-:1029700000F00100009000980191012003900321D4
-:10298000072004910590029201A94FF0904000F0B9
-:1029900059F8174828600F2068601020A8600020B0
-:1029A000E8608020286100206861A861E8612862F1
-:1029B000284600F01DF908B100F00AFCA567AC62DA
-:1029C000002200212420FFF7E7FE2420FFF702FF6A
-:1029D00007B030BD50000058000C005800280040DF
-:1029E00058000058003801404C000058C82800200A
-:1029F000440002408A60FF2102685162012180F890
-:102A00002110002180F820100020704790F820103D
-:102A1000012901D102207047012280F820200221E3
-:102A200080F82110CA21026851625321036859625B
-:102A300001688A6842F02002DCE70000002200F012
-:102A4000C9BB00002DE9F84F4FF00009614A624B05
-:102A50004FF00F0805460E4633E0604FBD4214BFED
-:102A6000072704278F4027434CF82E70C1431C686A
-:102A700001EA040C7468E40348BF40EA0C0CC3F894
-:102A800000C05C6801EA040C7468A40348BF40EA13
-:102A90000C0CC3F804C0146801EA040C7468E40266
-:102AA00048BF40EA0C0CC2F800C0546801EA040CAC
-:102AB0007168890248BF40EA0C0CC2F804C009F1F1
-:102AC0000109316831FA09F072D0012404FA09F4DD
-:102AD00014EA0100F3D04FEA490C032101FA0CF18A
-:102AE0006FEA010E7168012918BF022903D011296C
-:102AF00018BF122911D1A968F7680EEA010107FA77
-:102B00000CF73943A960696821EA04047168C1F3CC
-:102B1000001101FA09F10C436C60E968B4680EEA2F
-:102B2000010104FA0CF42143E9604FEA8901746859
-:102B3000022C18BF122C12D14FEAD90405EB8404E1
-:102B400001F01C07D4F820A008FA07FB2AEA0B0AB8
-:102B5000D6F810B00BFA07F747EA0A0727622C6885
-:102B60000EEA0407347904F0030404FA0CF43C433D
-:102B70002C607468E400A2D5DFF864C04FEA990EB7
-:102B80005CF82E7001F00C0108FA01F427EA040445
-:102B9000B5F1904F08BF002709D0124FBD4208BFC2
-:102BA000012704D0104FBD427FF457AF022759E7E9
-:102BB000BDE8F18F81B0002A14BF8161816201B04C
-:102BC00070470A4A136803421CBF106000F0A4BBA0
-:102BD00070470000000800588008005800100048A6
-:102BE0000800014000040048000800480C08005894
-:102BF00038B5040001D1012032BD2168DFF840035F
-:102C00004018142204F12405B0FBF2F2DFF834037B
-:102C1000E86192002A62022068700A68A0686FF377
-:102C20000E120243E06802432069024360690243D6
-:102C3000A0690243E0690243206A02430A60204619
-:102C400000F058F9A068B0F5804F04BF0021616022
-:102C50002079696A00F03F0000F014F838B10528C7
-:102C600005D2204600F05AF900F012F803E00020E7
-:102C700028636863A8630020A861012068700020B1
-:102C8000287032BD0860A96AE86A486060687047C9
-:102C9000296B00200860696BA86B48607047F8B525
-:102CA000044604F1240600253078012801D10220D1
-:102CB000F2BD01273770707801282FD10227777075
-:102CC000B561206807687F087F000760204600F034
-:102CD000F5F82168F06820B10A6842F00E020A6037
-:102CE00008E0086820F0040008602068016841F0EE
-:102CF0000A010160706A0168CA0303D5026842F4E0
-:102D000080720260306B18B1016841F4807101601B
-:102D10002068026842F00102026001E0357002257D
-:102D20002846F2BD81B040B100F124014A78022A60
-:102D300005D00420886100200870012026E0026888
-:102D4000136823F00E0313604A6A136823F4807338
-:102D5000136000680268520852000260012091F876
-:102D60002020CB6902F01C02904058608A6AC86A31
-:102D70005060086B30B1026822F4807202604A6BC6
-:102D8000886B5060012048700020087001B07047C7
-:102D900038B500F1240200245178022903D0042020
-:102DA0009061012428E001680B6823F00E030B609A
-:102DB00001680D686D086D000D60516A0B6823F4A1
-:102DC00080730B60012192F82030D56903F01C0359
-:102DD00099406960936AD16A5960116B31B10B688F
-:102DE00023F480730B60536B916B59600121517018
-:102DF0001470516901B18847204632BDF8B500F121
-:102E000024010423CA6914680268156891F82060D7
-:102E100006F01C0603FA06F73C4210D06F070ED5E9
-:102E20001468A50603D4156825F00405156000F0A4
-:102E30003DF8C968002938D0BDE8F44008470223AE
-:102E400003FA06F73C4213D0AF0711D51468A50664
-:102E500005D4156825F00A05156001224A7000F0B6
-:102E600025F800220A708968F9B1BDE8F4400847E6
-:102E7000082303FA06F6344217D02B0715D513683A
-:102E800023F00E031360012291F82030CC6903F087
-:102E90001C039A40626001228A614A7000220A7013
-:102EA000096911B1BDE8F4400847F1BD91F820204F
-:102EB000CC6902F01C0293406360704778B5C56C22
-:102EC000046D6C60446D14B1846DC56D6560012541
-:102ED00090F84440066C04F01C04A540756004683A
-:102EE00063608068102802D1A260E16071BDA160BA
-:102EF000E26071BD426C1449920801EB8201816469
-:102F0000142201780839B1FBF2F1104AC26401F0D1
-:102F10001F01012202FA01F10165704701790C4A93
-:102F200001F03F0102EB81024265491E094A8265B8
-:102F300001F0030101228A40C265704700000000D1
-:102F4000F8FFFDBF00000240000802408008024078
-:102F5000FC080240400902408E4900E08E4981B0E1
-:102F60000A6802430A60096808400090009801B0AE
-:102F7000704780B589494FF400400860FFF7C6FBF1
-:102F8000002000F0D7F948B180798549854A0A6068
-:102F90000A6822F47C5242EA00220A6000F01DF81E
-:102FA00000F08AF88048016800220260026902F09D
-:102FB000500202610420FFF7D1FF0120FFF7CEFF8E
-:102FC00000F0D6F800F083F800F0A0F800F01CF94B
-:102FD0004FF0FF3000F0C0F9FAE718B5A5B014A81B
-:102FE0004421FFF72BFD01A81C21FFF727FD08A8AE
-:102FF0003021FFF723FDFFF781FB6C48016821F0CA
-:1030000018010160072014904FF4803101201690C0
-:1030100015914020189000214FF480741E91179450
-:1030200014A8FEF714FF08B100F0D2F86F20019049
-:1030300002210020029103900490059006900790D1
-:10304000012101A8FFF780F908B100F0C1F843F6AB
-:103050000100089000214FF4804011900991102048
-:10306000022113901291109408A800F05FFA08B1A1
-:1030700000F0AEF84E49086820F0700008604D4836
-:103080000268C2F303200090009830B90A68120960
-:10309000120142F004020A6008E000980A68801EEB
-:1030A00080F30400120940EA02100860086840F446
-:1030B0000040086026B010BD80B53F483F49016020
-:1030C00000F0F0FA10B1BDE8014081E001BD00213F
-:1030D00010B53B483B4C416004600F21816047F6CE
-:1030E000FF71C160002101618161416100F012FB4B
-:1030F00008B100F06DF8CA206062FF2153206062C1
-:10310000A068C008C000A060616210BD10B52E4C60
-:103110002E4820604FF4E13060600020A060E06045
-:1031200020610C2060610020A0614FF40040E0614C
-:10313000002020626062A062204600F08FFB08B190
-:1031400000F046F80021204600F0C7FF08B100F06B
-:103150003FF80021204600F0CBFF08B100F038F81E
-:10316000204600F09DFF10B1BDE8104030E010BDDA
-:1031700080B50420FFF7F0FE0120FFF7EDFE0022EE
-:103180000F210E20FFF708FBBDE802400E20FFF7DD
-:1031900021BB0000480000584C0000581040005867
-:1031A0009C000058FECAFECA8008005890000058D3
-:1031B0001C0400585875FF1FC8290020000C005837
-:1031C000302A00200028004024260020003801403A
-:1031D00072B6FEE700B500BF13009646944610395C
-:1031E00028BFA0E80C50FAD85FEA417C28BF0CC089
-:1031F00048BF40F8042BC90728BF20F8022B48BF5E
-:1032000000F8012B00BD000010B52148214C88B00A
-:10321000016841F40041016000F0BEFF1E480168F2
-:10322000C908C90041F00401016000F0D1FF1B4949
-:10323000002001F04AF901F094FA0121012000F088
-:10324000B0FF00F03CF800F049F801F0B9FB144A77
-:103250000021402000F0E5F804F23C500FF2450157
-:103260000090019169460FF2410001F099FC04F2CF
-:103270005470029004F5C96140F23C5005900391EE
-:10328000049402A801F024FC01F098FB08B010BDE2
-:10329000080000583000032080040058302A002025
-:1032A000E34B00087047000080B501F069FA01F0B7
-:1032B0001BFDBDE804400021012000F072BF80B575
-:1032C000002002F07EF8012002F07BF8022002F0DC
-:1032D00078F8BDE80240012002F09CB880B50121D9
-:1032E000002002F0ACF80121012002F0A8F8BDE8AE
-:1032F00004400121022002F0A2B870474FF0FF30D5
-:1033000000F02AB80021402000F098B8022000F018
-:10331000BBB8022000F0C0B8012804D0102804D0A7
-:10332000402804D0704701F002BE01F00FBE01F04A
-:103330000EBE000001460648064AC3798B4218BFFC
-:10334000904218BF0838F8D18B4218BF0020704750
-:10335000F873FF1F0070FF1F2DE9FC475B4CDFF87F
-:103360007091A5692840A0614FF0FF3A4FF0010825
-:1033700030E0491C54F831000642FAD004EBC10693
-:10338000184071681040014208BFC6F804A0776871
-:10339000384000F09FF8606208FA00F087437760D9
-:1033A000EFF3108172B6626A206908FA02F2D24322
-:1033B00010402061022004EBC00353F8086C164053
-:1033C000401E43F8086CF6D181F31088606A59F802
-:1033D0002010884763692069A2691840104207D00D
-:1033E000E069216A084203D1002103EA0206C1E72D
-:1033F000C4F824A002F08FF8EFF3108972B62169A7
-:1034000060690140A069014201BFE169206A01428F
-:10341000FFF773FF89F3108802F07EF8A561BDE81D
-:10342000F38738B51446EFF3108572B600F052F802
-:10343000274941F8204085F3108831BD10B500F0D0
-:103440000BF804431C6153F83140204343F831002A
-:10345000FFE782F3108810BDEFF3108272B61B4BAA
-:103460001C697047EFF3108172B6184A536923EA5A
-:10347000000005E0EFF3108172B6144A5369184357
-:10348000506181F310887047EFF3108172B60F4AD4
-:10349000D3691843D061F4E7F8B50C4C656A276A24
-:1034A0002E4615F1010F0EBF0025012101FA05F589
-:1034B000206202E02846FFF721FF216AE069084206
-:1034C000F8D088436662E0612762F1BDC025002024
-:1034D000C827002002460020110C090404BF102058
-:1034E000120412F07F4F04BF083012020FF21801CD
-:1034F00012F0704F04BF001D1201120FC0F11F0027
-:10350000895C401AC0B27047040302020101010144
-:103510000000000000000000DFF87C211368010CAF
-:1035200023EA014343EA0043136070472DE9F04169
-:10353000054600272868DFF864610105B8462FD5E5
-:103540003468286A04F44074844229D0FFF7D6F81E
-:10355000002C316805D1286A21F4407101433160A3
-:103560001DE0306840F48030306021F440713268F2
-:1035700022F480323260286A014331603068C0072B
-:103580000DD5FFF7B5F8044641F289383068800759
-:1035900005D4FFF7ADF8001B4045F7D30327B84625
-:1035A0002878DFF8FC40C10705D5E16F6868890815
-:1035B00040EA8101E1672878810705D5E16FA868B5
-:1035C00021F440610143E1672878C10644BF2869BE
-:1035D000FFF7A2FF2878810644BF6869FFF79CFFC8
-:1035E000287841070AD5E868E16F020902F47F22D2
-:1035F0000001914300F47F200843E06728688105BB
-:103600001ED5A869B0F1804F18BFB0F1004F00D0AF
-:1036100018B9E16F21F0404108E0E16F21F040412D
-:10362000E16720F08050E16F21F040610843E067DE
-:10363000A869B0F1C05F03D1216841F080712160B9
-:10364000286841050DD5E16FE86921F0405101433B
-:10365000E167E869B0F1005F03D1216841F480318E
-:1036600021602868C10405D57168686A21F4404169
-:1036700001437160286881040BD5A169E86A21F0D3
-:1036800030010143A161A169A86A890840EA81016A
-:10369000A1614046BDE8F0818800005890000058C4
-:1036A0000C000058F8B504460025ACB104F134060E
-:1036B000307910B92046FFF7FDF80F4F384600F07B
-:1036C00021F8386840F001103860204600F007F813
-:1036D00035600120307100E001252846F2BD10B5AB
-:1036E0000021064A064B00EB8104491C0629636051
-:1036F000E261F8D310BD0000000C0058FB11000877
-:103700007F110008002101604FF03F1141603F210F
-:103710008160704738B5040044D094F8210028B97E
-:10372000002184F820102046FFF7E0F800F049F867
-:10373000FF2510B100F03FF834E02168DFF8B00059
-:103740008A6802408A6021688A6863682069034346
-:10375000A06903431A438A602168E0680861206811
-:103760000169A26841EA024101612068C16821F053
-:103770008001C1602068C16C21F00201C164216830
-:10378000CA6CE369606903431A43CA6420688168AC
-:10379000880609D400F020F830B120684562042181
-:1037A00000F01FF8012032BD20684562012184F835
-:1037B0002110002032BD20684562042184F82110C8
-:1037C0007047022084F82100CA20216848625320F3
-:1037D00022685062204626E020460BE02068C0F8B0
-:1037E000248084F82110002084F820007047000015
-:1037F000BFFF8FFF70B5044640F2E9362068C1680C
-:1038000021F0A001C160FEF773FF05462068C16882
-:10381000880606D4FEF76CFF401BB042F6D30320A7
-:1038200070BD002070BD70B504462068C1684A06AE
-:1038300012D44FF0FF32C26040F2E936FEF758FF73
-:1038400005462068C168480606D4FEF751FF401BB4
-:10385000B042F6D3032070BD002070BD38B504001F
-:1038600009D004F18005686808B900F01EF800F07E
-:1038700021F8012801D1012032BDA06A08B100F071
-:103880002AF800F00AF821F02A01FFE7816000F031
-:103890001BF8BDE8324000F002BB2068416821F40B
-:1038A000904141602068816870470021297020465E
-:1038B000FFF740B824206860206801684908490083
-:1038C0000160204600F086B92068016841F00101DE
-:1038D000016020467047204600F07EBA70B504466D
-:1038E00004F180051346686820283CD169B31800AC
-:1038F0002BD02878012836D001222A7004F15406F2
-:103900002165338073800020E86021206860706A40
-:10391000E8B1DFF8B414C162DFF8B004716A08637B
-:10392000716ADFF8AC0448630020716A886320681C
-:10393000216D00F12802706AFFF7B1F938B110204B
-:10394000E8600020287020206860012070BD216898
-:1039500040200862002028702068816841F08001C2
-:103960008160002070BD022070BD816821F040019F
-:1039700081607047206881684A0670472068016846
-:1039800021F0100101607047F8B5044640F60F00C1
-:103990002668F1693268B368084004F15C050ED10D
-:1039A000880602D5900602D4D80040F1808069696B
-:1039B000002900F00E812046BDE8F4400847DFF8FA
-:1039C0000C06034204BFDFF808763A426FD0CF07F7
-:1039D00007D5D70505D5012737622E6B46F00106BE
-:1039E0002E638E0708D5DE0706D5276802263E62BD
-:1039F0002E6B46F004062E634E0708D5DE0706D56B
-:103A0000276804263E622E6B46F002062E630E07E0
-:103A10000AD5960601D4034206D0266808203062F3
-:103A2000286B40F008002863080509D5500107D528
-:103A300026684FF400603062286B40F02000286355
-:103A4000286B002832D0890607D5900601D4D8000B
-:103A500003D5696909B120468847286B21688A68BF
-:103A6000510602D410F0280F1BD0204600F093FA24
-:103A7000FFF780FF10D5FFF778FF286A60B10FF2DB
-:103A8000DD518163286AFFF783F900280ED0286A88
-:103A9000816BBDE8F44008472046BDE8F24001F0E4
-:103AA0003CBD204601F039FD00202863F1BD2869A6
-:103AB000012853D1CF0651D5D0064FD51020306202
-:103AC00022689068410626D5296A0868406880B255
-:103AD0000028EBD02B8898427BDA68800868016860
-:103AE0008B0614D4106820F4807010602068816800
-:103AF0004908490081602068FFF737FF2020E8620D
-:103B000000202861FFF73AFF286AFFF70BF92988A0
-:103B10006888091A1CE028886988411A6888002882
-:103B20001CBF88B2002854D01368DFF8400523F486
-:103B30009073136022689368034093602020E862CA
-:103B40000020286168612068026822F0100202608B
-:103B50002046BDE8F44089B201F0E0BCC80209D5B6
-:103B6000580207D54FF4801030622046BDE8F2407D
-:103B700000F010BB080609D5100601D4180205D5BF
-:103B8000A96931B32046BDE8F440084748060ED580
-:103B900050060CD5306820F0400030602021A9622A
-:103BA0000020A8612046BDE8F24001F0D0BC080228
-:103BB00006D5500004D52046BDE8F24001F0D8BC3F
-:103BC000C80148BF002A04D52046BDE8F24001F0F4
-:103BD000D0BCF1BDF8B50446DFF894042168DFF8E5
-:103BE00094C40A68DFF890740240A0680243206918
-:103BF000024360690243E06902430A6000254A68A3
-:103C0000E06822F4405202434A60A369714A91423B
-:103C10001CBF206A03438E68DFF86004064033430C
-:103C20008B600FF26446CB6A606A1B0940EA03139B
-:103C3000CB626145DFF848044FF4004339D13F6857
-:103C400007F00307032F4DD8DFE807F0024643498A
-:103C50004FF0010CE169B1F5004F4FF6F07740F0FD
-:103C60008080BCF1010F09D0BCF1020F0AD0BCF179
-:103C7000040F71D0BCF1080F71D099E0FEF798FCE9
-:103C8000002815D0626A616836F81230B0FBF3F094
-:103C90004A0802EB4002B2FBF1F080B2A0F1100141
-:103CA000B942EAD20740C0F3420007432068C76028
-:103CB0007FE0914216D13F6817F4406723D0B7F5F3
-:103CC000806F09D0B7F5006F03D0B7F5406F06D00D
-:103CD00008E04FF0020C07E04FF0040C04E04FF056
-:103CE000080C01E04FF0100C9142B3D1BCF1000F71
-:103CF00009D0BCF1020F0AD0BCF1040F15D0BCF101
-:103D0000080F15D054E0FEF74BFC002851D0616A33
-:103D100036F81120B0FBF2F6626802EB42018E42E7
-:103D200046D31103B14205D242E0FEF7EFFBECE7C8
-:103D30001846ECE75008002110EB062051EB166105
-:103D40000023FDF7E1FAA0F54071DFF83823914236
-:103D50002ED22268D0602CE0FEF7D8FB90E7184600
-:103D600090E7BCF1010F09D0BCF1020F09D0BCF102
-:103D7000040F18D0BCF1080F18D019E0FEF718FC9A
-:103D8000B8B1626A36F812306168B0FBF3F000EB4C
-:103D90005100B0FBF1F080B2A0F11001B94207D29E
-:103DA0002168C86005E0FEF7B1FBE9E71846E8E7DF
-:103DB000012504F16800012141800180002181601A
-:103DC000C1602846F2BD0000D53F0008034000084E
-:103DD0000D4000080080004090F82810CA0706D562
-:103DE00002685368C16A23F400330B43536090F8B0
-:103DF00028108A0706D502685368016B23F48033C4
-:103E00000B43536090F828104A0706D502685368A0
-:103E1000416B23F480230B43536090F828100A076A
-:103E200006D502685368816B23F400430B4353604B
-:103E300090F82810CA0606D502689368C16B23F46F
-:103E400080530B43936090F828108A0606D50268C9
-:103E50009368016C23F400530B43936090F828108F
-:103E60004A0610D502685368416C23F480130B4353
-:103E70005360416CB1F5801F05D15368816C23F408
-:103E8000C0030B43536090F828100A0606D501685A
-:103E90004A68C06C22F4002202434A607047F8B5B9
-:103EA000044604F180050020E8606FF07E47FEF7CD
-:103EB0001FFC0646206801680A0708D500973346AC
-:103EC00000224FF40011204600F017F860B9206876
-:103ED00001684A070AD50097334600224FF4800153
-:103EE000204600F00AF808B10320F2BD20206860E7
-:103EF000A8600020E0662870F2BD2DE9F041069C24
-:103F000005460E4690461F462868C1693140B142B9
-:103F10000CBF0120002040451CD114F1010FF3D04B
-:103F2000FEF7E6FBC01B844200D314B900F015F87D
-:103F30000CE0286801684A07E6D5C1690A05E3D59F
-:103F40004FF40062026200F008F8C16000210170C5
-:103F5000032000E00020BDE8F0812868016821F41A
-:103F6000D07101602868816849084900816005F1C5
-:103F70008000202141608160704701680A6822F05A
-:103F8000C0020A6001688A6822F400028A60202167
-:103F9000C0F88410704701680A6822F490720A60C1
-:103FA000DFF8C810026893680B409360C16E012966
-:103FB00004D101680A6822F010020A602021C0F8CA
-:103FC00088100021C16601677047000001000010E1
-:103FD00020010004816A00680268930644BF084615
-:103FE00001F0B5BA0020A1F856000868826822F0F6
-:103FF000800282600868FFE7016841F040010160CB
-:104000007047806A01F0B6BA00000000F8B5846A13
-:1040100004F1840504F1560728686E6821688A68EF
-:10402000110606D5212804D1002038802046FFF74C
-:10403000A4FF20688168480606D5222E04D10020FE
-:1040400038812046FFF7A7FFA86840F01000A8605D
-:104050002046BDE8F24001F060BA0000806A00F13D
-:10406000560100220A810A8001F057BAFEFFFFEFD5
-:10407000F369FFCF0038014088000058FFF4FF11BA
-:104080000024F40000FD0F000100020004000600FF
-:1040900008000A000C001000200040008000000111
-:1040A00010B500F180010A78012A01D1022010BD6B
-:1040B00001230B7024224A600268136814686408A4
-:1040C000640014600022426623F00053006803601D
-:1040D000202048600020087010BD70B500F01EF868
-:1040E00001D1022070BD00F01FF822F0604209E00B
-:1040F00070B500F013F801D1022070BD00F014F883
-:1041000022F0606211438160204600F01AF82068B6
-:104110000660202068600020287070BD044604F10D
-:10412000800528780128704701222A7024206860C1
-:10413000206806680268520852000260206882689F
-:10414000704730B5416E11B90121012214E00168B8
-:104150000FF230048A6889680FF23003520E02F0C1
-:104160000702490F655CA45C595C9A5CED00E400B1
-:1041700095FBF1F194FBF2F268304180028030BD92
-:10418000000000000101010307010000080402040F
-:1041900008010101704700000C48002101604160E6
-:1041A000704710B500F00CF85C6819B1012904D112
-:1041B000204301E024EA0000586082F3108810BD1B
-:1041C000EFF3108272B6014B70470000FC2A00200A
-:1041D0000248016841F4007101607047080400580A
-:1041E000DFF83C150A6892B200E00246086880B227
-:1041F0008242FAD170472DE9FC4104461825DFF8C8
-:104200002485DFF82465684308EB0007307806282A
-:1042100008D131787170347078754FF0FF3070606C
-:10422000002039E000F077F8B9680918B96008F1A2
-:104230000803B96832786A439A589142327813D3A6
-:1042400008F1150315FB02FC13F80C30062B25D0E2
-:1042500008F108066B43F358994222BF08F1150391
-:104260006A439A5CEED219E01146337869439A4268
-:104270000BD008F1140308F1150C5B5C15FB03F57A
-:104280000CF805407A753B7500E07A7508F1140268
-:104290005454317871703470BDE8F6811146694329
-:1042A00008F115035B5C062B04D008F1140615FB1E
-:1042B00003F574557B753A7508F115025454EBE714
-:1042C000F8B5DFF86434DFF85C541E781824024631
-:1042D0006243B0422A4404D118785870507D187057
-:1042E0000FE0167D507D92F815C005F11507664365
-:1042F000062807F806C004D0167D143514FB00F418
-:104300002E55012010731878062802BF00294FF09F
-:10431000FF315960F1BD10B5DFF80C44606810F151
-:10432000010F0FD0FFF75CFF6168DFF800248142C6
-:1043300061683CBF5388C918081A517848431178FE
-:10434000C84000E0002080B210BD2DE9F84FDFF832
-:10435000DC53DFF8DCB3D5F80880D8F80000DBF8D0
-:1043600000104A0500F090F9DFF8BC63DFF8B4A351
-:1043700021F4806181604FF0180934780AF1080057
-:1043800019FB04F14758FFF7C6FF874217D20027F1
-:104390000121B170062C3DD019FB04F40AF108018B
-:1043A0000AF108020959814223BF0AF1080109599B
-:1043B000091A002111510AEB04014C7DEAE7A98892
-:1043C0004118B94202D2AF880021E2E73F1ADFE785
-:1043D000022802DA2878012800D07F1ED8F80000D1
-:1043E000C1684A07FAD500F055F9DBF80C00000C5B
-:1043F000BFB247EA0047CBF80C70FFF7F1FE7060E0
-:10440000A8680068816841F480618160AFF3008032
-:10441000BDE8F18FB8B20028DAD1FFF7E1FE706095
-:104420000320BDE8F24FFEF703BA2DE9F843EFF39E
-:10443000108872B6BD4DBB4BA8680168CA224A629B
-:1044400053204862B84A886820F480608860182049
-:104450001678374647431F44387B022826D13C68EC
-:10446000D7F810909078F0B17A7B012A0AD1012117
-:104470003046FFF725FF88F310887968304600F052
-:1044800016F904E088F31088304600F0C1F8A868F7
-:104490000068CA21416222465321416248463146A2
-:1044A00000F050F90BE0FFF750FF06E0C868420744
-:1044B000FCD500F07EF89F49086088F31088FF2142
-:1044C000A86802685162BDE8F183F8B5974CA16015
-:1044D000CA2209684A6253224A62954A136843F025
-:1044E00020031360136803F00703C3F10403237070
-:1044F00095682D0C05F07F056D1C6570EDB2926816
-:10450000C2F30E02521C628092B2521E6A43A2F59E
-:10451000A072DA404FF6FF739A422CBFA380A280AC
-:10452000854A136843F400231360844B1D6845F4E7
-:1045300000251D6048BB7C487A4E012383701825F6
-:104540004FF0FF33436000235FFA83FC06F10C0752
-:1045500015FB0CFC4FF0000E07F80CE05B1CDFB203
-:10456000062FF1DB06230370886820F480608860E2
-:1045700000F01FF8D0600320FEF765F9A168086815
-:10458000826842F48042826005E0C868410544BF09
-:104590000320FEF74DF9A1680A68FF20506200224F
-:1045A00003210320FEF7F8F8BDE8F2400320FEF7F0
-:1045B00011B9C86800F0800060F49060C8604FF4E2
-:1045C00000207047F0B504460025EFF3108672B660
-:1045D0001827DFF850C10CF10C0007FB05FE10F89E
-:1045E0000E0010B16D1C062DF5DB062D0CD06F43AF
-:1045F0000CEB07000127077386F3108804614273F0
-:1046000003600D700020F0BD86F310880120F0BD1E
-:10461000F8B50746EFF3108472B60320FEF7E5F80D
-:10462000424DAE683068CA2141623A465321416228
-:10463000182043494243895C02291BD10021384696
-:10464000FFF73EFE3848017806290ED13068384918
-:104650000A68530500F018F821F480618160C16890
-:104660004A07FCD500F016F804E04078884218BFED
-:10467000FFF76BFEA9680A68FF2050620320FEF76F
-:10468000A9F884F31088F1BD02D5C1684A07FCD4AB
-:1046900081687047C16801F0800161F49061C16078
-:1046A0004FF40020234908600320FEF7CCB82DE921
-:1046B000F04180460F46424618201A4942438C1862
-:1046C000207B022804BF4046FFF7A2FFEFF31085CE
-:1046D00072B60320FEF789F8144EB0680068CA214C
-:1046E00041625321416202202073A7606760404607
-:1046F000FFF781FD0C490A784978914202D0FFF713
-:1047000024FE02E0A168081AA060FF20B1680A68D0
-:1047100050620320FEF75EF885F31088BDE8F08153
-:1047200028280040B42600202C2B0020E82A002056
-:10473000082800400C08005800080058800800585D
-:10474000C026002010470000484900E0484981B0D9
-:104750000A6802430A60096808400090009801B0A6
-:10476000704780B5FDF7E9FFFDF7E9FF41480168B3
-:1047700041F48031016000F01AFFBDE801400EE015
-:1047800000B587B068460FF218211C22FCF778FDAF
-:1047900000F0D3F9684600F057FF07B000BDF0B550
-:1047A00085B068461421FEF749F90026002500244B
-:1047B00000210FF2DC0000EBC102907988B1136890
-:1047C000B3F1904F08D02C4FBB4208D02B4FBB42C7
-:1047D00004BF9088044304E09088064301E0908879
-:1047E0000543491C2229E4DB00200290012103201B
-:1047F00003900191B0B288B100900120FFF7A4FFAF
-:104800000120FFF7A3FF69464FF09040FEF71AF929
-:104810000022B1B24FF09040FEF7CCF9A8B280B1BF
-:1048200000900220FFF790FF0220FFF78FFF124E4B
-:1048300069463046FEF706F90022A9B23046FEF777
-:10484000B9F9A0B280B100900420FFF77DFF0420E9
-:10485000FFF77CFF094D69462846FEF7F3F8002272
-:10486000A1B22846FEF7A6F905B0F0BD4C000058ED
-:104870004C01005890080058000400480008004807
-:10488000FEF744BC13460A460146002000F048BE2D
-:104890000000004801000000000000480100000086
-:1048A0000000004801000000000000480100000076
-:1048B0000000004801000000000000480100000066
-:1048C0000000004801000000000000480100000056
-:1048D0000000004801000000000000480100000046
-:1048E0000000004801000000000000480100000036
-:1048F0000000004801000000000000480100000026
-:104900000000004801000000000000480100000015
-:104910000000004801000000000000480100000005
-:1049200000000048010000000000004801000000F5
-:1049300000000048010000000000004801000000E5
-:1049400000000048010000000000004801000000D5
-:1049500000000048010000000000004801000000C5
-:1049600000000048010000000000004801000000B5
-:1049700000000048010000000000004801000000A5
-:104980000000004801000000000000480100000095
-:104990000000004801000000000000480100000085
-:1049A0000000000000000000000000009048000827
-:1049B000280003202C0003202204040000F0C0BEC5
-:1049C0006C486D49016001F12002426001F1300242
-:1049D000826001F13C02026201F14402426201F193
-:1049E0004C02C26001F15402026101F170024261A5
-:1049F00001F1740282618031C16100F0BFBE38B53F
-:104A000004465E4D284600F023FF5A484068A168DE
-:104A10000160E168C16085605949416000F0CAFEEB
-:104A200058482AE080B5534842681368012119723A
-:104A3000406800F0C5FE002002BD38B5514C4F4D16
-:104A400004E000F041F8009821688847284600F00B
-:104A500002FF0028F5D031BD4A484168084738B503
-:104A60000446494D284600F0F3FE4248C068A1685C
-:104A70000160456000F0A9FE44482168016061685A
-:104A80004160002032BD80B53A48C26813681021E9
-:104A90001972C06800F09FFE002002BD35483B4AF5
-:104AA000C168C16813680868184738B5374C364D77
-:104AB00004E000F009F8009861688847284600F093
-:104AC000CAFE0028F5D031BD6946284600F0ECBE8C
-:104AD00038B504462E4D284600F0BAFE2D4800F0A9
-:104AE000B7FE24480069A1688160E168C160056182
-:104AF000216801606168416021694161616981618A
-:104B000031BD80B50146234800F0B8FEBDE8024043
-:104B10000FF2050000F06FBE38B5164C1D4D06E0D3
-:104B2000FFF7D2FF00992069006900F0A7FE284630
-:104B300000F091FE0028F3D031BD10B5164C204690
-:104B400000F086FE0B4841690C60BDE8104000F0A3
-:104B500066BE1CB5104C06E06946204600F0A4FE77
-:104B6000009800F01BF8204600F075FE0028F3D0F6
-:104B700013BD000000000320AC090320480A0320F5
-:104B8000900803200C2B0020500A0320142B002037
-:104B9000380A0320042B0020400A0320704700003D
-:104BA0007FB50C464D4D61684D4EE861296228463F
-:104BB00000F08CFE2468746006F1080000F048FEE6
-:104BC000012000F068F801203070296841B10FF22F
-:104BD000E9000FF2ED0200900192029468468847C6
-:104BE0007FBD1FB53E4C04F1080000F034FE00BB51
-:104BF0002178F1B1694604F1080000F055FE37480C
-:104C0000C16949B10098029001228DF8042001A8E1
-:104C100088479DF8040000E001202070207818B13A
-:104C20000098FFF76EFF04E0009904F1080000F01F
-:104C30001BFE04F1080000F00EFE28B9207818B120
-:104C400004F10800FEF75EFB1FBD2DE9F0410546AB
-:104C50000E4690461C46002000F01DF8204F786854
-:104C6000A0F80950C672324641460C30FCF7F8FAFB
-:104C70001A4A136900210020984748F2E800FEF71D
-:104C800048FB79688A78D21C04F10800FCF7E8FA3E
-:104C9000BDE8F04101201CB51049124C096A20B949
-:104CA00001B188470020207013BD0120207011B190
-:104CB000BDE81C40084713BD0020FEF727BB0000DD
-:104CC00010B50146064C04F1080000F0D7FD04F1D0
-:104CD0000800BDE81040FEF715BB0000542A002074
-:104CE000D82A00204C2B002010B58EB002A80FF25D
-:104CF0008C61DFF800443022FCF7C2FA0FF2454025
-:104D00000190009469460FF2254000F0E9FD012171
-:104D10000220FFF746FADFF8E02300212020FEF70B
-:104D200080FB02A800F088FC08B1FEF751FA00F001
-:104D30000FF900F0B9FE0FF2293200210120FEF731
-:104D400070FB0FF2593200210220FEF76AFBDFF8F8
-:104D5000AC43002084F88000202000F04BFF00F0DE
-:104D60007DFF0FF2AD33002204F181010020FFF737
-:104D700029FC0EB010BD2DE9F043074685B07878C8
-:104D8000DFF87843DFF8786305284FF0000804F176
-:104D9000800554D03E2863D0FF280DD10120307209
-:104DA000B7F80300042842D040F20741884204D0FB
-:104DB00040F60201884218D0A6E07879022804BFA4
-:104DC000B9790029F8D1002000F029FB0FF28830D2
-:104DD00001F088FAA878012806D12978062903D09D
-:104DE00000210220FEF72AFB8EE0002000F002FFE7
-:104DF000F879307301253889F08179893182BA894F
-:104E00007282FB89B382388A04950090F082357BE8
-:104E1000E08A039510260296019601F077FA10B108
-:104E2000022000F0F7FA202000F0E4FE6CE0012000
-:104E300000F0F0FA68780A21FFF739FC64E0B888DE
-:104E4000E18A884260D1A4F8168085F800800FF2CC
-:104E5000383001F047FA0120307200F059F853E081
-:104E6000F878012802D002281DD04DE0B7F80500DF
-:104E7000E082062028700FF2383001F033FA86F80D
-:104E8000088000F045F8E08A01F0CFFA30B90FF25F
-:104E9000483001F027FA0FF2743001E00FF29C3035
-:104EA00001F020FA30E097F80D90787960BB29E0A6
-:104EB00007EB0800847BC07BFF2821D1072C1FDB78
-:104EC00007EB0800007C01281AD10FF2B03001F086
-:104ED00009FA07EB0800407C832811D10FF2BC309F
-:104EE00001F000FA0120A870F8793070387A7070FB
-:104EF000787AB070B87AF070F87A3071387B707167
-:104F0000641CA044C845D3DB012005B0BDE8F08394
-:104F1000E08A708106F1080000F0C1BE7749CA8AB4
-:104F2000824202D191F8800070470020704780B51E
-:104F300000F0D5FF062805D0BDE80440002101207F
-:104F4000FEF77CBABDE8014000F0BBBE7047704779
-:104F500018B589B00020ADF81A0001F024FB694CA7
-:104F6000216811F1010F0DD0674862680170120AC3
-:104F7000090A417061688170C270110A120C0171D6
-:104F8000427105E00020FEF7D5F908B90FF2C430F0
-:104F900002460621002000F0F8FD4EF66E50089003
-:104FA00007AA2068554C079006212E2000F0EDFD41
-:104FB0000FF2A8321021182000F0E7FD0FF2AC32FA
-:104FC0001021082000F0E1FD1821012000F004FE6E
-:104FD00001F0E4F90DF1160006A90190009105AB6E
-:104FE00007220021042001F04EFB0FF2D420BDF86F
-:104FF000181000900623BDF81400002201F0E5F916
-:105000000DF11A0000900223BDF81610BDF814002F
-:10501000002201F0DAF90120207001F0E8FA012005
-:105020006070012108202071A170102060710021A2
-:105030000120E070049110213448A0600390082200
-:10504000012001910092029000230122012101F030
-:10505000E7FAA07808B101F04EFB0AB010BD0000DD
-:10506000264890F88010062900D1704780B50020AE
-:1050700000F0D0F94FF4487101230022084601F0F6
-:1050800055FB10B90FF2402004E0022000F0C2F9F5
-:105090000FF26420BDE8024001F024B918B587B0D2
-:1050A0000FF28420154C01F01DF994F880000628B9
-:1050B0001DD01021069105914FF4FA7004905021F3
-:1050C00000230291282200200393019200904FF4C4
-:1050D00048710B4B0022084601F04DFB08B9042033
-:1050E00003E0022000F096F9002084F8800008B068
-:1050F00010BD0000A00803201F590008442700200D
-:10510000982A00208075FF1FF42A002007B20100B2
-:10511000012000F084B900212020FEF78FB9012082
-:10512000FEF7B2B90120FEF7B7B9000010B504468A
-:10513000616801F1080000F0C7FC00B10120207097
-:1051400010BD000010B1012803D070473F20FEF7CA
-:1051500089B93F20FEF78EB92D2D204741502047B9
-:10516000454E4552414C20444953434F56455259B0
-:105170002050524F4345445552455F434F4D504C8C
-:10518000455445440A0000000D0A0D2A2A204449CE
-:1051900053434F4E4E454354494F4E204556454E7E
-:1051A00054205749544820534552564552200A002E
-:1051B0000D0A0D2A2A20434F4E4E454354494F4E67
-:1051C000204556454E542057495448205345525681
-:1051D0004552200A000000000D0A0D2A2A204741EE
-:1051E00054542053455256494345532026204348A2
-:1051F0004152414354455249535449435320444931
-:1052000053434F5645525920200A00002A20474157
-:105210005454203A20205374617274205365617293
-:105220006368696E67205072696D61727920536599
-:10523000727669636573200D0A0D0000424C455F6C
-:105240004354524C5F4170705F4E6F74696669637E
-:105250006174696F6E28292C20416C6C2073657213
-:10526000766963657320646973636F76657279200C
-:105270004661696C6564200D0A0D00002D2D2D20FE
-:105280005354204D414E55464143545552455220AA
-:105290004944202D2D2D200A000000002D2D2053E3
-:1052A0004552564552204445544543544544202DCB
-:1052B0002D20564941204D414E2049440A0000000E
-:1052C000503250434C490000200D0A0D2A2A205329
-:1052D000544152542047454E4552414C2044495375
-:1052E000434F5645525920285343414E29202A2ADC
-:1052F00020200D0A0D0000002D2D20424C455F415D
-:1053000070705F53746172745F4C696D6974656429
-:105310005F446973635F5265712C204661696C65F7
-:1053200064200D0A0D0000000D0A0D2A2A204352A8
-:105330004541544520434F4E4E454354494F4E201E
-:10534000544F20534552564552202A2A20200D0AF8
-:105350000D0000000000000000000000123456782C
-:105360009ABCDEF0123456789ABCDEF0FEDCBA0944
-:1053700087654321FEDCBA098765432100000000F0
-:10538000000000000000000000000000000000001D
-:105390001E0004000A05020112279C00F40100000F
-:1053A000FFFF00004801010000200000484981B0D3
-:1053B0000A6802430A60096808400090009801B03A
-:1053C000704778B585B0044668461421FDF736FB72
-:1053D0000220FFF7EBFF00F011F80095012001908B
-:1053E0000021022003900291694656F82400FDF73F
-:1053F00029FB00F009F8002006B070BD0FF2F400A0
-:10540000344E30F81450704756F8240000222946D4
-:10541000FDF7D0BB80B500F00AF8012203E080B5AB
-:1054200000F005F80022FDF7C5FB002002BD0FF2D9
-:10543000C401284B31F8101053F820007047F0B524
-:1054400085B005460C4668461421FDF7F7FA2DB1E4
-:10545000012D08BF102002D0022D02D10120FFF73C
-:10546000A5FF0FF298001C4F30F8150000900121A5
-:105470000220039007EB8506029130682CB90021C9
-:1054800001916946FDF7DEFA1FE01449019107EB2F
-:10549000C5046946FDF7D6FA0FF26C0050F82510E6
-:1054A00004F1240001F0E5F9F268002104F1240080
-:1054B00001F0D8F90FF24C004457B16900222046A0
-:1054C000FDF76AF92046FDF785F9002005B0F0BD2B
-:1054D0004C000058082600204C2500200000211018
-:1054E000002000F017B8012000F014B8022000F0EE
-:1054F00011B80000200001000200000001001000AF
-:1055000040000000060A1700000000160400001604
-:1055100006000016704770477047704770470000DC
-:1055200010B5002488B9114803600E480E4B036083
-:10553000FEF7D4F9012805D007D3032804D038BFDB
-:10554000022402E0012400E00324204610BD00688C
-:105550000549884204D105490868002818BF00475A
-:10556000704700002426002000380140382B00201E
-:10557000704770477047000038B5EFF3108472B67B
-:10558000284D6946281D01F093FA6946281D01F04F
-:10559000ECFA38B184F31088BDF80010224AFFF706
-:1055A00071F931BD0120287084F3108831BD80B5B8
-:1055B000FFF766F90221009100231A4800F1240147
-:1055C0004FF48052001D01F05AF901BD00BFF8B53B
-:1055D00014460026EFF3108510F1010F1ED00128AC
-:1055E0001CBF02284FF0FF3618D1BCB1264672B658
-:1055F0000C4F012392B2381D01F055F900281CBF51
-:105600003978002908D000223A7085F31088A1B2B9
-:10561000054AFFF737F901E085F310883046F2BDFF
-:10562000000000000814002079550008FFF70DFB6A
-:105630009DF80E0005B000BDF8B500F10C026B46F8
-:1056400024214FF66640F1E7F8B500F10C026B46F5
-:105650000F214FF66840E9E7C0680840884201D151
-:105660000120704700207047C0690840884201D17E
-:10567000012070470020704710B56C4C0221204675
-:10568000FFF7F2FF38B16068C043810703D5FFF729
-:105690000CFA022018E001212046FFF7E5FF38B19F
-:1056A0006068C043C10703D5FFF7C7F901200BE0CD
-:1056B00008212046FFF7D8FF38B16068C0430107D2
-:1056C00003D5FFF746FA0820A06010BD10B5574C6F
-:1056D00000F033F818B96068C043810306D400F0C5
-:1056E0002CF830B96068C043810302D5BDE8104092
-:1056F0007AE0082100F022F870B96068C043010325
-:105700000AD560684A4940F4002060600868804714
-:105710004FF40020A06010BD202100F00FF858B910
-:105720006068C043810207D5606840F40010606083
-:10573000BDE81040FFF790B910BD022120468BE76D
-:105740003C4881B0016841F480110160006800F4B8
-:105750008010009000983848016841F400710160A1
-:105760003648026842F40072026040BF20BF3448ED
-:10577000016841F40041016001B0704780B53148D3
-:10578000016841F480110160006800F4801000900D
-:1057900000982648016841F001010160026842F466
-:1057A000803202602C20FDF715F8BDE802402D2064
-:1057B000FDF710B8244801684908490001607047A6
-:1057C00022494FF48030086070471F48016821F07B
-:1057D0000201016070471C484FF4003141600168CC
-:1057E00021F40031016070471748016841F400312D
-:1057F0000160FFF753B938B504460C4D082128461F
-:10580000FFF72AFF30B10A480460686820F40020DE
-:10581000686031BDA0474FF40021A96031BD0A483E
-:10582000016821F00801016070470000000C005879
-:10583000342B002050010058D4080058200800588C
-:105840000C04005850000058040C0058080C005874
-:10585000006040607047EFF3108172B602688242C8
-:105860000CBF012000201CE0EFF3108272B6036829
-:105870000B60486001600868416023E0EFF310822C
-:1058800072B6086043684B6041604868016019E087
-:10589000EFF3108172B642680368136002684368D0
-:1058A000536081F31088704710B5EFF3108472B61F
-:1058B00002680A600068FFE7FFF7EAFF84F31088D8
-:1058C00010BD0B6082F31088704700000249016030
-:1058D00002490161704700BF5F4A0008874A00081B
-:1058E0007FB50C466D4D61686D4EE86129622846B2
-:1058F00001F084F9246805F12400FFF7A9FF746022
-:1059000006F10800FFF7A4FF01203070296829B1D3
-:105910000FF2551000900294684688477FBD1FB56E
-:105920005F4C04F10800FFF796FF00BB2178F1B14E
-:10593000694604F10800FFF7B7FF5848C16949B14B
-:105940000098029001228DF8042001A888479DF854
-:10595000040000E001202070207818B10098FFF7C3
-:10596000D0F804E0009904F10800FFF77DFF04F18E
-:105970000800FFF770FF28B9207818B104F108007B
-:10598000FFF7C9FB1FBD2DE9F8430646002000F0D4
-:105990005FF874883088B268DFF80081C4F30904C6
-:1059A00044EA8024F068A4B2C1B2204600F03CF87A
-:1059B000002748F2E8094846FFF7B4FB08E068888A
-:1059C000A04202D1316928780870687800B10127B7
-:1059D00008F12400FFF73FFFF0B9694608F1240001
-:1059E000FFF762FF009800F10B05407A0F28E6D020
-:1059F000B5F80110A1420DD10098817AC81E7169D5
-:105A0000C0B28842C8BF0846706102463069E91CCE
-:105A1000FBF726FC2878D9E73800CCD0012000F02D
-:105A200017F80020BDE8F28310B513461C4A5468ED
-:105A3000A4F80900E1720A46194604F10C00FBF7CC
-:105A40000FFC164A1369BDE81040002100201847DA
-:105A50001249096A82B008B921B101E011B10120EF
-:105A600002B0084702B0704710B50146487A0F28C7
-:105A700018BF0E2807D10B48FFF700FFBDE8104004
-:105A80000020FFF74CBB064C04F10800FFF7F6FEC0
-:105A900004F10800BDE81040FFF73DBB042A0020D8
-:105AA000C82A0020282A0020234900200877002245
-:105AB0002248027100F044B820490A7941F82200D6
-:105AC0000879401C0871704770B504466078FF285B
-:105AD00002BFB4F8031001F47F41B1F5406F1FD14C
-:105AE0000025154E317FE8B2884222D2E9B256F83D
-:105AF000211020468847002808BF6D1CF2D018E00E
-:105B0000761C2979F0B288420AD2F1B255F82110F8
-:105B1000204688470100F3D002D0022805D006E0D5
-:105B20002046BDE87040FFF726B9002070BD012077
-:105B300070BD0026014DE4E7782A0020242B0020C8
-:105B400080B501F065F801F064F801F063F801F048
-:105B500062F801F061F801F060F801F05FF801F01F
-:105B60005EF801F05DF801F05CF801F05BF801F01F
-:105B70005AF801F059F801F058F801F057F801F01F
-:105B800056F8BDE8014001F053B818B50C46C7B04F
-:105B9000114600228DF800208DF81C008DF81D4064
-:105BA00022460DF11E0001F044F800F03BF83F20C2
-:105BB0000C21ADF80400ADF8061007A801210390F0
-:105BC0000691A41C049400F043F800284CBFFF2069
-:105BD0009DF8000048B010BD00B5C7B000F01BF83C
-:105BE0000F2000F02AF800284CBFFF209DF800008D
-:105BF00047B000BD00B5C7B00021ADF81C0000F0F3
-:105C000016F8182000F019F800284CBFFF209DF866
-:105C1000000047B000BD00228DF800208DF81C0068
-:105C20008DF81D101822002101A801F008B88DF888
-:105C30000010182201A801F002B8ADF8060007A96B
-:105C4000022004903F22012003910690ADF8042029
-:105C5000CDF814D0002101A8FFF795BE80B50FF252
-:105C6000B92200210420FDF7DCFB0FF2792200218C
-:105C70000820FDF7D6FBD34800210180C180817048
-:105C80000121C1700021017101720FF24100FFF783
-:105C900013FFBDE802400FF2303000F023BB027862
-:105CA000C84912B1012A03D070474088C8807047A4
-:105CB0000020C880087A08B100220A720020FFF78D
-:105CC000AEBB00210820FDF7B9BB00002DE9F84F5D
-:105CD00005466878FF2812D1BA4CB5F803006189EF
-:105CE00040F60442801A00F08B80801E4DD0001FC9
-:105CF00006D0401F00F0B780401E00F0DD80EBE0D2
-:105D0000B5F80560207A58B10846FFF707F9217AFF
-:105D1000062908BF0028F2D120724FF6FF7060817B
-:105D20006681E879297A91FBF0F914285FFA89F9FC
-:105D3000E5D14FF0100A00270FF2A8284FF6406671
-:105D4000F8B24845DBDA05EB0A0B9BF809009BF833
-:105D50000A1040EA0120B04211D16189404600F0AA
-:105D6000C1FAABF107000178427841EA0221A18132
-:105D70008178C07841EA0021E181082121720AF18D
-:105D800006005FFA80FA7F1CDAE7B5F80500814269
-:105D900002BF1126E87915283CD1297A0FF2B829DB
-:105DA0000FF27C2B481E28724FF6426A4FF641686C
-:105DB000287A0028A3D0A91905F10A02487A11F817
-:105DC000057D925D497840EA022047EA0127618912
-:105DD000404508D050450CD1484600F083FA0A20CF
-:105DE0002072A78205E0584600F07CFA0920207254
-:105DF00027821536287AA0F115012972F6B2D7E765
-:105E0000B5F80500814201BF95F808B04FF00008D1
-:105E1000E879012860D100270FF2802942F6021AA2
-:105E2000F8B2B0EB9B0F57DA05EB080005F10A0159
-:105E3000C27A467A007B11F8081042EA00225245E5
-:105E400046EA012609D16189484600F04BFA207ADA
-:105E50000A2802D1E6820B21217208F104005FFAC0
-:105E600080F87F1CDCE7B5F80500814202BFB5F879
-:105E70000700A18A88422FD1687A022802BFA87A37
-:105E80006070012828D1E87AA0704CA448B9FFF7C7
-:105E9000C6FA0FF2802000F025FA204600F022FA20
-:105EA0001AE00FF2B02000F01DFA204600F01AFAB6
-:105EB0000020FFF7AFFA0FE00FF2282000F012FAEF
-:105EC0003FA000F00FFA6089B5F80510884203D1B1
-:105ED00000210420FDF7B2FA0020BDE8F28F394816
-:105EE000007A704710B50FF2AC20364C00F0FAF98A
-:105EF00032A000F0F7F92079401E8041C00F2071D8
-:105F0000207A38B1218A6089E31CBDE81040022262
-:105F100000F0F9BA10BD00001CB50120ADF8020078
-:105F20000021284C207AADF80010002844D0C01F72
-:105F3000052841D8DFE800F00308121823340FF2D7
-:105F4000942000F0CFF913BD0FF2A02000F0CAF9A1
-:105F5000E289A189608900F082FA13BD0FF2B420B2
-:105F600000F0C0F9218A04E00FF2E42000F0BAF951
-:105F7000A18A60898A1C92B200F082FA13BD0FF2E6
-:105F8000143000F0AFF9E18A60890DF102030222BA
-:105F900000F08CFA062020720220FFF740FA13BDB1
-:105FA0000FF2183000F09EF9E18A60896B460222F8
-:105FB00000F07CFA0620207213BD0000200A0D00BC
-:105FC0000A000000B02A00202D2D2050325020431E
-:105FD0004C49454E5420494E495449414C495A4533
-:105FE00044200A002D2D2047415454203A2050329D
-:105FF000505F534552564943455F555549442046E5
-:106000004F554E44202D20636F6E6E656374696F2B
-:106010006E2068616E646C652030782578200A00F7
-:106020002D2D2047415454203A2057524954455F62
-:106030005555494420464F554E44202D20636F6EE0
-:106040006E656374696F6E2068616E646C65203084
-:106050007825780A000000002D2D20474154542057
-:106060003A204E4F54494649434154494F4E5F43AD
-:106070004841525F5555494420464F554E442020D3
-:106080002D20636F6E6E656374696F6E2068616E3C
-:10609000646C6520307825780A0000002D2D20479B
-:1060A000415454203A20434C49454E545F434841A3
-:1060B000525F434F4E4649475F4445534352495010
-:1060C000544F525F555549442D20636F6E6E656382
-:1060D00074696F6E2068616E646C65203078257815
-:1060E0000A0000002D2D2047415454203A204143FE
-:1060F000495F474154545F50524F435F434F4D50A7
-:106100004C4554455F56534556545F434F444520D4
-:106110000A000000202D2D20503250204150504CBC
-:1061200049434154494F4E20434C49454E54203A2F
-:10613000204E4F54494649434154494F4E20524501
-:10614000434549564544202D204C4544204F464662
-:10615000200A0D00202D2D20503250204150504C4F
-:1061600049434154494F4E20434C49454E54203AEF
-:10617000204E4F54494649434154494F4E205245C1
-:10618000434549564544202D204C4544204F4E0A56
-:106190000D0000002D2D20503250204150504C4910
-:1061A000434154494F4E20434C49454E5420203AD8
-:1061B00020425554544F4E20505553484544202DAD
-:1061C00020575249544520544F205345525645526A
-:1061D000200A20005032505F444953434F564552E5
-:1061E0005F53455256494345530A00002A20474110
-:1061F0005454203A20446973636F7665722050329C
-:106200005020436861726163746572697374696375
-:10621000730A00002A2047415454203A20446973ED
-:10622000636F7665722044657363726970746F7210
-:10623000206F66205458202D2057726974652043C2
-:106240006861726163746572697469630A00000051
-:106250002A2047415454203A20446973636F76657D
-:10626000722044657363726970746F72206F662068
-:106270005278202D204E6F74696669636174696F6E
-:106280006E20436861726163746572697469630A40
-:10629000000000002A2047415454203A20456E61F6
-:1062A000626C6520536572766572204E6F74696604
-:1062B00069636174696F6E0A000000002A2047411B
-:1062C0005454203A2044697361626C6520536572AE
-:1062D000766572204E6F74696669636174696F6E6A
-:1062E0000A0000000EB4C0B5024603A800210190C8
-:1062F000009101AB0121044878440C30F9F71EFFEE
-:1063000006BC5DF810FB00BFE31300002DE9F84167
-:10631000C7B04FF00008ADF81C00DDF838C14F9E43
-:10632000509F519D529C8DF8008007A800F01AF8EC
-:10633000A0F808C0ADF8266087818DF82A508DF846
-:106340002B4000F015F84FF4C17000F016F8102043
-:1063500000F017F800284CBFFF209DF8000048B05F
-:10636000BDE8F0814180ADF82020ADF822307047C3
-:106370001822002101A800F062BCADF8060007A9B0
-:10638000704704903F22012003910690ADF804204D
-:10639000CDF814D0002101A8FFF7F5BA00B587B0F9
-:1063A00000208DF8000000F07CF840F20110ADF8FC
-:1063B00006003F220120069000F0EDF800284CBFB7
-:1063C000FF209DF8000007B000BD30B5C7B01C46E7
-:1063D0004A9B00F0C7F800258DF800508DF8214049
-:1063E000224619460DF1220000F023FC00F059F876
-:1063F0003F204FF4837100F0BCF8A41D049400F01A
-:10640000CCF800284CBFFF209DF8000047B030BDFD
-:106410000023ADF81C008DF8003007A84180828071
-:106420000021182201A800F00ABC00B5C7B000F096
-:1064300010F8FFF7F6FF0F2102914FF48970022147
-:1064400000F0A1F800284CBFFF209DF8000047B0E5
-:1064500000BD0021ADF81C008DF80010704700B59C
-:10646000C7B0FFF7D5FF0F21029140F2151000F0E1
-:1064700089F800284CBFFF209DF8000047B000BD00
-:1064800000B5C7B0FFF7C4FF0F21029140F217100B
-:1064900000F078F800284CBFFF209DF8000047B0BE
-:1064A00000BD1822002101A800F0C9BB18B5C7B073
-:1064B00000F011F800F045F8FFF7F3FF40F221116A
-:1064C00000F013F800F069F800284CBFFF209DF899
-:1064D000000048B010BD1446ADF81C00002207A80B
-:1064E0008DF80020418004717047ADF806103F2000
-:1064F00007A9ADF8040003910F2001210290069135
-:10650000641D0494704718B5C7B000F010F8FFF789
-:10651000C8FF3F2040F2231100F019F800F03DF8C9
-:1065200000284CBFFF209DF8000048B010BD144665
-:1065300000228DF80020ADF81C00ADF81E108DF87B
-:106540002040224619460DF1210000F072BBADF843
-:106550000400ADF8061007A8012103900691641D00
-:1065600004947047ADF81C00ADF81E108DF8202083
-:106570007047ADF80400ADF8061007A8012103909C
-:10658000069170470621ADF80600049107A8012185
-:106590003F2203900691ADF80420CDF814D00021DD
-:1065A00001A8FFF7F0B900B587B000F010F801209E
-:1065B00003220690ADF80420ADF8062000F011F893
-:1065C00000284CBFFF209DF8000007B000BD002050
-:1065D0008DF800001822002101A800F030BB0390C4
-:1065E0000691CDF814D0002101A8FFF7CCB900B571
-:1065F000C7B000F00CF8852000F075F800F014F931
-:1066000000284CBFFF209DF8000047B000BD0021CE
-:106610008DF81C008DF80010182201A800F00FBBA7
-:106620002DE9F841C7B04FF0000800F026F80DF151
-:106630002300DDF844E14E9F4F9E509D529C8DF803
-:106640001F30C0F800E08DF800808DF820708DF8C4
-:1066500021608DF822508DF8274000F087F88620C1
-:10666000ADF8060007A90C2000F0DAF800284CBFAE
-:10667000FF209DF8000000F0F2B88DF81C0007A87C
-:10668000417082707047F8B5C8B005460E4617468F
-:106690001C4600F023F808A8467087708DF820503B
-:1066A00000F0D8F88A21ADF80A103F20032100F04D
-:1066B000C4F8002848BFFF200ED49DF8000058B948
-:1066C0004F994E98BDF801202280BDF8032002802A
-:1066D000BDF805000880002049B0F0BD0722002168
-:1066E000684600F0ACBAADF8060007A901203F22C9
-:1066F00003910490704700B587B000F013F800F0E4
-:1067000035F8922000F009F800F08EF800284CBF10
-:10671000FF209DF8000007B000BDADF806003F2245
-:106720000120704700208DF80000704718B5C7B0F1
-:1067300000F011F800F01AF80F21029197200621BD
-:1067400000F065F800F071F800284CBFFF209DF8BC
-:10675000000048B010BD0024ADF81C008DF82130B9
-:1067600007A8418002718DF800407047182200216F
-:1067700001A800F064BA2DE9F04F0646C7B000F05A
-:1067800020F800F012F8FFF7F1FF3F20ADF8040009
-:106790009C2100F030F800F04AF800284CBFFF20A0
-:1067A0009DF8000047B0BDE8F08F8DF82790B581C7
-:1067B000ADF82AB03782ADF82E80B482ADF832A0A1
-:1067C000704708461946559CDDF84091519DDDF80B
-:1067D00048B1539FDDF85081DDF858A1ADF81C6039
-:1067E000002307AE8DF80030708032710DF121006A
-:1067F000062200F01EBA0F200290ADF806101820F5
-:10680000049007A901200391069070470321ADF879
-:106810000600049107A801213F22039006917047CA
-:1068200004903F22012003910690ADF80420CDF89A
-:1068300014D0002101A8FFF7A6B8ADF80800059113
-:1068400008A8072104900791CDF818D0002102A8CC
-:10685000FFF799B81822002102A800F0F0B948B05B
-:10686000BDE8F0810346002009B95A607047012055
-:10687000704708B90120704701600020704710B5CB
-:10688000029C016042600021C1600161416181613F
-:106890000381A107047704D5008910B14FF0FF30C0
-:1068A00010BD002010BD2DE9F04F064685B030899F
-:1068B0000C460027BB4600287169DC460CBF4FF030
-:1068C0000208D84681B168B930697768451CBD4275
-:1068D00028BFED1B3768385C7D5D00EB0527BF1CCA
-:1068E000BFB203E0074600E000B102463069F56838
-:1068F000A84223BF7568281AC01B0020154608EB64
-:10690000050903FB09FE864532BF0020B0FBF9FAFA
-:1069100009FB1A00C0B2804509DA96F81C905FEABC
-:10692000C97A48BF84465FEA897048BFC4461000F0
-:1069300000F0B4807068714461448842C0F0AE8059
-:1069400008EB020080B20390D946100AADF80200AD
-:106950000294ADF80020049359E0800740D53089B7
-:10696000002840F09B803268D018A34600F8024C03
-:10697000200A32681A4402F8010C22463068184492
-:10698000FAF76EFC706920187061B069019C401CB8
-:10699000B061200A31680C70316848701CE08CB31B
-:1069A000307FC207D9D5308940B931681944FF20FA
-:1069B00001F8020C3168194401F8010C4FF0000B8A
-:1069C0007069241874612C463089002340B93168FD
-:1069D0000C70210A3068417002237069801C70615C
-:1069E00008EB04070021BFB231615CB1DA440298C0
-:1069F00000EB0A01306822461844FAF731FC70694E
-:106A00002418746109F10109B069401CB061049A4D
-:106A100070683169914545D2791881422CBF081AB6
-:106A20000846306103463089A0B93068BDF80010CF
-:106A3000C1545B1C70683168834228BF1B1ABDF8C3
-:106A40000200C8545B1C7068834228BF1B1A70691F
-:106A5000801C706105FB09FA7468BDF80000E41A37
-:106A6000844288BF0446029800EB0A01281BAC420E
-:106A7000019003D093D2307F002890D1376822460E
-:106A8000F818FAF7EDFB706920187061A346019CB5
-:106A9000039F0023A9E73068404400E0002005B0D0
-:106AA000BDE8F08F88448045F5D3A8EB0008F2E7F5
-:106AB00078B5028900230B80002A44690CBF0225A7
-:106AC0000025002C4FD0028952B9C2684668531C79
-:106AD000B34228BF9B1B0668B25CF35C02EB032247
-:106AE0000A80027F02F00302012A25D10B884FF6AB
-:106AF000FF72934204BF0289002A09D0C368026969
-:106B00009A4219D20289BAB14668F31A934213D253
-:106B10004368C268E41A14190022C2604461028901
-:106B20004AB902681478012B94BFC3F10103012311
-:106B3000D25C04EB02220A80C468426806682B1902
-:106B4000934228BF9B1A33440E884169891B491B15
-:106B5000416105D034192D19954228BFAD1AC56081
-:106B60008169491E8161184672BDF8B5028900230A
-:106B70000B80002A42690CBF02240024002A3BD06B
-:106B8000C56802892B464AB946686A1CB24228BFCA
-:106B9000921B0668775DB25C07EB02220A80067FD3
-:106BA00006F00306012E20D10F884FF6FF729742A0
-:106BB00004BF0289002A07D142680023012A94BF3A
-:106BC000C2F1010201220AE00269AA420DD2028941
-:106BD0005AB14668751B954207D2002304E0056848
-:106BE0002E78AA5C06EB02220A8041680068E4184D
-:106BF0008C4228BF641A03191846F2BD024901608D
-:106C000002490161704700BFFF490008254A00089A
-:106C100070477047704770477047704770477047BC
-:106C200070477047704770477047704770477047AC
-:106C3000704710B50446FAF713FB204610BD10B597
-:106C4000044610460A460146204600F003F8204656
-:106C500010BD000062F30F2262F31F42401810F0D3
-:106C6000030308D0C91A1FD3DB0748BF00F8012D62
-:106C700028BF20F8022D130030B4144615461039F1
-:106C800028BF20E93C00FAD8490728BF20E90C00BA
-:106C900048BF40F8042D890028BF20F8022D48BFC6
-:106CA00000F8012D30BC7047C91818BF00F8012D3D
-:106CB000CB0728BF00F8012D7047000010B504462F
-:106CC000AFF30080204600F005F80446AFF30080E3
-:106CD000204610BD7CB500F10F06F608F600B04264
-:106CE00040D2082E04D2082602E0083000F047F80F
-:106CF000DFF804512C68210005D1002007E002686C
-:106D0000B24221D2011D08680028F8D12068291D4F
-:106D10000A68824222D01368B34238BF111DF7D3EC
-:106D200012E093190B60801B54685C600B6818605C
-:106D30001660096800291DBF48680028081D00204A
-:106D4000286002F1080076BD61B10A681068A0F100
-:106D50000803B342E5D250680860EAE700F04EF855
-:106D60000028C2D1002076BD10B5040006D0AFF3D4
-:106D70000080204600F003F8AFF3008010BD00282B
-:106D800000D1704750B4A0F108021368072B2BD92B
-:106D900013F0070F28D1184C616809B18A4202D25A
-:106DA0005160626013E0486800B3904238BF01460A
-:106DB000F9D31BE0964203D11B180B600A4606E08C
-:106DC000486810B1134498420ED350604A6050682E
-:106DD00050B11368D118814206D1002121600168A9
-:106DE000CB1813604068506050BC704708680E189C
-:106DF000B242DFD250BC70471C2B00200749086804
-:106E000008B1002070470648C008C0000860054966
-:106E1000C908C900091A0160704700BF482B00204B
-:106E20000F100020081400201349002008604FF4C0
-:106E3000E0221248016841F4700101604FF0B04156
-:106E4000086840F0010008608A600D480A68024046
-:106E50000C480A60036823F0050303604268520887
-:106E60005200426000220848C860086820F4802070
-:106E700008608A617047000008ED00E088ED00E0DE
-:106E8000FBFEF6FA940000580010042201000000F6
-:106E900003000000050000000100000001000000E8
-:106EA000060000000A0000002000000002000000B0
-:106EB0000400000008000000100000004000000076
-:106EC000800000000001000000020000A086010018
-:106ED000400D0300801A060000350C0040420F00F0
-:106EE00080841E0000093D0000127A000024F40096
-:106EF00000366E010048E801006CDC020000000072
-:106F00000000000000000000000000002DE9F0413A
-:106F100007468846387810F0030F16461D4633D0D2
-:106F2000384600F099F878BBB8F1000F1CBFD8E9DB
-:106F300000018619012D2ED13888C10415D5396A72
-:106F400007F14402384600F0A3F83A6B044602B950
-:106F50003A69F968384600F09BF8361B341A7A69AA
-:106F6000F968384600F094F8261A1EB94DB916F1A2
-:106F7000010F09D097F903002A46314600F08EF838
-:106F8000064616F1010F09D12320AFF300804FF020
-:106F9000FF30BDE8F081022DE8D1EBE7388810F42E
-:106FA000405F0ED07868F86038617861B8617868C1
-:106FB000F86107F14400386207F130007862002080
-:106FC0003863B8F1000F05D0D8E9020107F13402A7
-:106FD000C2E9000139884CF6FF6001403980002089
-:106FE000BDE8F08170B50546AFF3008028888104C4
-:106FF00015D56E680024EA6895F903003146914280
-:1070000012D2521AFEF7E2FA10F1010F1CBF00284B
-:107010003618F0D10FE04DF6FF7001402980284668
-:10702000AFF30080002070BD00220021FEF7CEFAF1
-:1070300010F1010F00D101246868E860A861E861DF
-:10704000002C2988E7D041F4007129802846AFF34D
-:1070500000804FF0FF3070BDF8B5A0B9AFF30080ED
-:1070600000250A4E08244FF0FF37306820B1FFF7A3
-:10707000B9FF002848BF3D46361D641EF5D1AFF369
-:1070800000802846F2BDBDE8F240ABE7E8250020CD
-:10709000914234BF511A0021084670473EB50400A2
-:1070A0000D00012A02D100F063F807E0022A07D19F
-:1070B00000940020019069460C20ABBE2D1801E021
-:1070C000002A0CD10094019569460A20ABBE002825
-:1070D00005D100222100280000F027F801E000205F
-:1070E000C04303B030BD000010B4314A0021134644
-:1070F0001C6884421EBF491C9C6884421EBF491CF8
-:107100001C69844209D09C69491C844205D0491CF1
-:1071100020331029ECD310BC7047002342F83130E3
-:1071200002EBC1014B6010BC704778B4204C0023C7
-:1071300025462E688E421EBF5B1CAE688E421EBF67
-:107140005B1C2E698E4209D0AE695B1C8E4205D055
-:107150005B1C2035102BECD372BC7047054604EB4A
-:10716000C303012A04BF59684D195D6072BC7047A2
-:1071700010B40F4A002113461C6884421EBF491CEC
-:107180009C6884421EBF491C1C6984420AD09C69C9
-:10719000491C844206D0491C20331029ECD310BC72
-:1071A0000020704702EBC100406810BC704700002F
-:1071B0004828002010B50446E068A169884251D3F0
-:1071C000218849F202030B40022B08D008044CBF6F
-:1071D0004FF400704FF48440014321803BE001F400
-:1071E000C042B2F5C04F06D1A168884203D3204601
-:1071F000FFF732FF78BB208810F4406F02BF606851
-:1072000004F14401884217D14FF40070FFF756FD96
-:10721000606030B904F144006060E060401CA06030
-:107220000AE0218841F040012180E060606100F5C2
-:1072300000726068A260E06160682061A068A0617F
-:10724000207841070AD502220021204600F00CF8E0
-:1072500010F1010F02D14FF0FF3010BD208840F433
-:10726000C0402080002010BD70B504460D46164673
-:10727000AFF3008033462A4600212046FFF746FE42
-:1072800005462046AFF30080284670BD2DE9FC4D31
-:10729000016800F10805490805EBC102019200F1FF
-:1072A0000802406800F0010A02EBC108400808EB40
-:1072B000C00B00200021019A95422FD02A68AE18F9
-:1072C0006A68324400920835009A9642F3D016F963
-:1072D000014B009A964205D12A68AE186A6832447A
-:1072E0000092083516F8017B884210D1D84508BFB6
-:1072F000FAF7E1FCD8F80000D8F80410BAF1000F52
-:1073000018BF48440144884208F10808EED0002C18
-:1073100000F8017B05D5641CE6D1D5E75846BDE8E9
-:10732000F68D641ED5D5CFE738B504000ED0207891
-:1073300010F0030F03D094F90300002809D5AFF330
-:107340000080204600F030F8AFF300804FF0FF30AF
-:1073500032BD2046FFF780FE0546AFF3008020785F
-:10736000410644BF606800F05DF80020606094F959
-:107370000300022804D900F057F808B14FF0FF3598
-:10738000E06B48B100F05CF808B14FF0FF35E06BFE
-:1073900000F048F80020E063204600F005F8AFF365
-:1073A0000080284632BD000001780A0626D51C4A16
-:1073B00013680021834203D1002342F821301BE0EF
-:1073C0005368012183421EBF022193688342F3D098
-:1073D000D368032183421EBF042113698342EBD08B
-:1073E0005369052183421EBF0621936983421EBF54
-:1073F0000721D3698342DFD000F014B80021018057
-:107400004FF0FF31C17000F144014160C160016182
-:1074100041618161C161016200F1300141627047E7
-:10742000E8250020FFF7A0BC1CB5020000926946C9
-:107430000220ABBE04001000FFF756FE200016BD70
-:10744000E0B50090F9F7BEFE019069460E20ABBE94
-:1074500003B000BD38B50C46C5B22046AFF300807E
-:10746000E068A169884204D32046FFF7A3FE002804
-:107470000FD4E068401CE06000F8015D2088010541
-:1074800003D440050BD50A2D09D12046FFF7E4FDB2
-:1074900028B12046AFF300804FF0FF3032BD2046C8
-:1074A000AFF30080284632BD00F024F8012810D048
-:1074B0000D4880470D480047F0B543464C465546B9
-:1074C0005E466746F8B40A4C6B462360BFF34F8FA5
-:1074D00030BF074C2468A546F8BC9846A146AA468A
-:1074E000B346BC46F0BD0000296E00080D770008C9
-:1074F0003C2B00200249002008607047000000007B
-:10750000402B0020FEE7FEE7FEE7FEE7FEE77047C0
-:107510007047704700F01CB80248FBF76FBC024888
-:10752000FCF732BAC828002024260020FEF7A4B8B1
-:10753000FEF7CCB800F014B80120FBF742BB1020D6
-:10754000FBF73FBB4020FBF73CBBFCF76EBF0000E6
-:10755000024841680278891841607047142600206B
-:107560000449C8680A6882430A60486000F004B8A9
-:107570000000000000150058704719E050F8042B77
-:10758000D30744BFA9F101039A18091F0023042956
-:1075900042F8043BF9D25FEA817C134604D54FF0F0
-:1075A000000CA2F800C09B1CC90744BF0021197041
-:1075B00050F8041B0029E1D17047000038B50D4D8B
-:1075C0000824286800281CBF017811F0030F05D09B
-:1075D00090F90310002958BFFFF7A6FE2D1D641E69
-:1075E000EFD1BDE83840002200214FF0FF30FDF719
-:1075F000EDBF00BFE825002010B5074979441831D8
-:10760000064C7C44163404E00A68081D114488477F
-:107610000146A142F8D110BD2C0000007800000006
-:107620004EF68851CEF20001086840F47000086000
-:10763000BFF34F8FBFF36F8F4FF00070E1EE100A72
-:107640007047000037FFFFFF2C05000024260020B4
-:1076500070080000300003200000000031FCFFFF34
-:1076600002000000020000004C01000002000000C7
-:10767000280003200800000015FCFFFF02000000A6
-:107680000200000032010000570100000814002031
-:107690001C120000000000000000000000000000BC
-:1076A00000000000010000000200000003000000D4
-:1076B0000400000000F00DF8002801D0FFF79CFF47
-:1076C000AFF300800020AFF30080FBF752FC00F026
-:1076D00002F80120704700F001B800000746FFF7EC
-:1076E0006DFF3846FAF7A0FBFBE738B504460D46B8
-:1076F000284600F005F8A84218BF0024204632BDF5
-:107700000149FFF7A7BE00BFBC240020AFF30080F3
-:10771000FFF786FFFFF7CEFF00002E004300FFF7C4
-:10772000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF78D
-:10773000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF77D
-:10774000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF76D
-:10775000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF75D
-:10776000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF74D
-:10777000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF73D
-:10778000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF72D
-:10779000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF71D
-:1077A000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF70D
-:1077B000FEBF0000F800000181008100810081000F
-:1077C00081008100810081008100810081008100B1
-:1077D00081008100810081008100810081008100A1
-:1077E0008100810081008100810081008100810091
-:1077F0008100810081008100BD00041C7700080128
-:10780000FD000388250020D80003E5100008FC00D7
-:1078100004D310000801F9001301040000B824008B
-:1078200020B9240020B8240020B8240020FC000344
-:10783000B8240020FC0007B8240020A4240020E085
-:1078400000130204010178290020C82900207829AA
-:10785000002078290020FC000378290020FB000686
-:10786000250020EC240020E0001302080202282951
-:107870000020782900202829002028290020FC0049
-:107880000328290020FC000748250020342500207B
-:10789000DD00044800100048FD000D48E1540008D8
-:1078A000E7540008ED5400080FFD00000FFD000034
-:1078B0000FE5001B187700081877000818770008F4
-:1078C000187700081877000818770008187700085C
-:1078D000F8FF0B1A7700081877000818770008FAE5
-:1078E000FFEA00F8FFF4000B74240020BC24002001
-:1078F00004250020EB000B040048000400480004AD
-:0D790000004801F9000010FC0002093D00E4
-:040000050800770D6B
+:101E300011001820ABBEFBE72600020038B50400F5
+:101E400009D004F18005686808B900F01EF800F0B8
+:101E500021F8012801D1012032BDA06A08B100F0AB
+:101E60002AF800F00AF821F02A01FFE7816000F06B
+:101E70001BF8BDE8324000F03EBB2068416821F409
+:101E80009041416020688168704700212970204698
+:101E900000F0E8BC24206860206801684908490017
+:101EA0000160204600F0BCB92068016841F00101E2
+:101EB000016020467047204600F0BABA70B504466B
+:101EC00004F180051346686820283DD169B31800E5
+:101ED0002BD02878012837D001222A7004F154062B
+:101EE0002165338073800020E86021206860706A7B
+:101EF000E8B1DFF82013C162DFF81C03716A0863E0
+:101F0000716ADFF8180348630020716A88632068EB
+:101F1000216D00F12802706A00F069FD38B11020CF
+:101F2000E8600020287020206860012070BD2168D2
+:101F3000402008620020287000F008F841F080017D
+:101F400000F061FBF8D170BD022070BD206800F187
+:101F5000080151E8001F00F108027047216851E8AC
+:101F6000002F7047206800F1080151E8001F00F1C0
+:101F7000080221F0400142E8001000287047F8B53F
+:101F8000044640F60F002668F1693268B3680840DD
+:101F900004F15C050ED1880602D5900602D4D80063
+:101FA00040F181806969002900F029812046BDE85F
+:101FB000F4400847DFF8E006034204BFDFF8DC76B0
+:101FC0003A4270D0CF0707D5D70505D5012737622C
+:101FD0002E6B46F001062E638E0708D5DE0706D568
+:101FE000276802263E622E6B46F004062E634E07DB
+:101FF00008D5DE0706D5276804263E622E6B46F01C
+:1020000002062E630E070AD5960601D4034206D0B7
+:10201000266808203062286B40F008002863080515
+:1020200009D5500107D526684FF400603062286B4F
+:1020300040F020002863286B002833D0890607D59C
+:10204000900601D4D80003D5696909B120468847B4
+:10205000286B21688A68510602D410F0280F1CD022
+:10206000204600F0EFFA00F0D1F811D5FFF77AFF23
+:10207000FCD1286A60B10FF2B1618163286A00F077
+:102080002FFD00280ED0286A816BBDE8F440084778
+:102090002046BDE8F24000F007BE204600F004FEF6
+:1020A00000202863F1BD286901286AD1CF0668D5D0
+:1020B000D00666D51020306200F0A8F82DD5296A28
+:1020C0000868406880B20028ECD02A889042E9DA9B
+:1020D0006880086801688A061BD4FFF73FFF22F476
+:1020E000807200F08FF8F8D1206800F07DFAFBD103
+:1020F000FFF738FFFCD12020E86200202861FFF7BD
+:102100002DFF22F0100200F07DF8F8D1286A00F0CF
+:10211000B1FC29886888091A2DE028886988411A45
+:10212000688800281CBF88B2002868D0226852E85E
+:10213000003F23F4907342E800300028F6D1206875
+:1021400000F1080200F1080352E8002FDFF8C40292
+:10215000024043E800200028F1D12020E86200205E
+:1021600028616861226852E8003F23F0100342E8CA
+:1021700000300028F6D12046BDE8F44089B200F0D6
+:1021800094BDC80209D5580207D54FF480103062BB
+:102190002046BDE8F24000F003BE080609D510064F
+:1021A00001D4180205D5A96949B32046BDE8F44019
+:1021B0000847480611D550060FD5FFF7CFFE22F08D
+:1021C000400200F01FF8F8D12020A8620020A8618A
+:1021D0002046BDE8F24000F0FCBD080206D55000E4
+:1021E00004D52046BDE8F24000F004BEC80148BF57
+:1021F000002A04D52046BDE8F24000F0FCBDF1BD48
+:1022000022F4F07241E800200028704720688168BD
+:1022100048067047A5260008D7260008DD260008D6
+:10222000F8B50446DFF838052168DFF838C50A68D4
+:10223000DFF834750240A0680243206902436069F8
+:102240000243E06902430A6000254A68E06822F41C
+:10225000405202434A60A369DFF8102591421CBF37
+:10226000206A03438E68DFF80805064033438B601D
+:102270000FF2A416CB6A606A1B0940EA0313CB6213
+:102280006145DFF8F0044FF4004339D13F6807F0AF
+:102290000307032F4DD8DFE807F0024643494FF00C
+:1022A000010CE169B1F5004F4FF6F07740F0808006
+:1022B000BCF1010F09D0BCF1020F0AD0BCF1040F30
+:1022C00071D0BCF1080F71D099E001F04FF90028EE
+:1022D00015D0626A616836F81230B0FBF3F04A0834
+:1022E00002EB4002B2FBF1F080B2A0F11001B94262
+:1022F000EAD20740C0F3420007432068C7607FE08E
+:10230000914216D13F6817F4406723D0B7F5806F2C
+:1023100009D0B7F5006F03D0B7F5406F06D008E0DD
+:102320004FF0020C07E04FF0040C04E04FF0080CF3
+:1023300001E04FF0100C9142B3D1BCF1000F09D075
+:10234000BCF1020F0AD0BCF1040F15D0BCF1080F8C
+:1023500015D054E001F002F9002851D0616A36F836
+:102360001120B0FBF2F6626802EB42018E4246D3C6
+:102370001103B14205D242E001F0A6F8ECE718469D
+:10238000ECE75008002110EB062051EB166100230A
+:10239000FEF7BAFFA0F54071DFF8DC2391422ED2A0
+:1023A0002268D0602CE001F08FF890E7184690E7A3
+:1023B000BCF1010F09D0BCF1020F09D0BCF1040F30
+:1023C00018D0BCF1080F18D019E001F0CFF8B8B15F
+:1023D000626A36F812306168B0FBF3F000EB51002E
+:1023E000B0FBF1F080B2A0F11001B94207D2216830
+:1023F000C86005E001F068F8E9E71846E8E701255C
+:1024000004F1680001214180018000218160C160E8
+:102410002846F2BDFEFFFFEF0100020004000600A7
+:1024200008000A000C00100020004000800000019D
+:1024300090F82810CA0706D502685368C16A23F4C9
+:1024400000330B43536090F828108A0706D50268C2
+:102450005368016B23F480330B43536090F82810CA
+:102460004A0706D502685368416B23F480230B4367
+:10247000536090F828100A0706D502685368816BEC
+:1024800023F400430B43536090F82810CA0606D586
+:1024900002689368C16B23F480530B43936090F8F8
+:1024A00028108A0606D502689368016C23F400534D
+:1024B0000B43936090F828104A0610D502685368C1
+:1024C000416C23F480130B435360416CB1F5801FC2
+:1024D00005D15368816C23F4C0030B43536090F81B
+:1024E00028100A0606D501684A68C06C22F400224A
+:1024F00002434A607047F8B5044604F180050020A5
+:10250000E8606FF07E4701F0ADF80646206801688C
+:102510000A0708D50097334600224FF400112046E1
+:1025200000F017F860B9206801684A070AD50097DB
+:10253000334600224FF48001204600F00AF808B12B
+:102540000320F2BD20206860A8600020E0662870AB
+:10255000F2BD2DE9F041069C05460E4690461F4609
+:102560002868C1693140B1420CBF012000204045BC
+:1025700026D114F1010FF3D001F074F8C01B84428E
+:1025800000D33CB900F025F800F02DF8FCD100F0A4
+:102590001AF811E0286801684A07E1D5C1690A05FF
+:1025A000DED54FF40062026200F013F800F01BF871
+:1025B000FCD100F008F8C16000210170032000E0A8
+:1025C0000020BDE8F08105F180002021416081609C
+:1025D0007047296851E8002F22F4D07241E80020AA
+:1025E0000028F6D17047286800F1080151E8001F63
+:1025F000490800F10802490042E80010002870472D
+:10260000DFF87801014042E8001000287047000020
+:10261000026852E8003F23F0C00342E8003100297D
+:10262000F6D1016801F1080252E8002F01F1080318
+:1026300022F4000243E800210029F2D12021C0F851
+:1026400084107047026852E8003F23F4907342E818
+:1026500000310029F6D1016801F1080201F10803F7
+:1026600052E8002F0E490A4043E800210029F2D128
+:10267000C16E012908D1026852E8003F23F010031F
+:1026800042E800310029F6D12021C0F8881000214D
+:10269000C1660167704700000100001020010004BE
+:1026A000FEFFFFEF0146886A09680A68930610D4A6
+:1026B0000021A0F85610016801F1080252E8002F2D
+:1026C00001F1080322F0800243E800210029F2D141
+:1026D0003BE000F07EBB806A00F0CABFF8B5846AB8
+:1026E00004F1840504F1560728686E6821688A6839
+:1026F000110606D5212804D1002038802046FFF796
+:1027000087FFFFF783FD06D5222E04D100203881F4
+:102710002046FFF797FFA86840F01000A860204609
+:10272000BDE8F24000F0C0BA806A00F15601002214
+:102730000A810A8000F0B8BA026852E8003F23F02C
+:10274000800342E800310029F6D1026852E8003FD8
+:1027500043F0400342E800310029F6D17047000001
+:10276000F369FFCF00380140880000580080004026
+:10277000FFF4FF110024F40000FD0F00FEFF7FEFC7
+:10278000674981B00A6802430A60096808400090FE
+:10279000009801B0704780B54FF40020FFF7F0FFBC
+:1027A000002200212E2000F081FFBDE802402E20F3
+:1027B00000F09ABF00685B49884200D0704780B53E
+:1027C0004FF48010FFF7DCFF002200212C2000F0E6
+:1027D0006DFF2C2000F088FF002200212D2000F04A
+:1027E00065FFBDE802402D2000F07EBF30B58DB002
+:1027F000044601A8302100F0CDFF21684A4A9142E9
+:102800002ED100F0CBFF00F0C9FF484DA86B20F49B
+:10281000407040F48070A8634FF480714FF4006002
+:102820000190099101A800F0CBFF08B101F05BF91C
+:10283000A86B40F40040A8630022296841F480613D
+:1028400029600021286800F480600090009803202F
+:1028500000F02CFF032000F047FF204601F0E0F9D4
+:102860000DB030BD38B592B0044601A8142100F077
+:1028700091FF06A8302100F08DFF20682C49884286
+:102880004CD1002001210790069106A800F098FF86
+:1028900008B101F028F92748274D416941F48041EA
+:1028A00041610222416901F480410091009901686F
+:1028B00041F0010101604FF4C061006800F00100C7
+:1028C00000900098019101200390032107200491BA
+:1028D0000590029201A94FF0904001F0B9F9174814
+:1028E00028600F2068601020A8600020E860802029
+:1028F000286100206861A861E8612862284600F02C
+:102900001FF808B101F0EFF8A567AC6200220021C2
+:10291000242000F0CBFE242000F0E6FE13B030BDF2
+:1029200050000058000C0058002800405800005883
+:10293000003801404C000058C828002044000240E4
+:1029400038B5040001D1012032BD2168DFF8400311
+:102950004018142204F12405B0FBF2F2DFF834032E
+:10296000E86192002A62022068700A68A0686FF32A
+:102970000E120243E0680243206902436069024389
+:10298000A0690243E0690243206A02430A602046CC
+:1029900000F058F9A068B0F5804F04BF00216160D5
+:1029A0002079696A00F03F0000F014F838B105287A
+:1029B00005D2204600F05AF900F012F803E000209A
+:1029C00028636863A8630020A86101206870002064
+:1029D000287032BD0860A96AE86A4860606870477C
+:1029E000296B00200860696BA86B48607047F8B5D8
+:1029F000044604F1240600253078012801D1022084
+:102A0000F2BD01273770707801282FD10227777027
+:102A1000B561206807687F087F000760204600F0E6
+:102A2000F5F82168F06820B10A6842F00E020A60E9
+:102A300008E0086820F0040008602068016841F0A0
+:102A40000A010160706A0168CA0303D5026842F492
+:102A500080720260306B18B1016841F480710160CE
+:102A60002068026842F00102026001E03570022530
+:102A70002846F2BD81B040B100F124014A78022A13
+:102A800005D00420886100200870012026E002683B
+:102A9000136823F00E0313604A6A136823F48073EB
+:102AA000136000680268520852000260012091F829
+:102AB0002020CB6902F01C02904058608A6AC86AE4
+:102AC0005060086B30B1026822F4807202604A6B79
+:102AD000886B5060012048700020087001B070477A
+:102AE00038B500F1240200245178022903D00420D3
+:102AF0009061012428E001680B6823F00E030B604D
+:102B000001680D686D086D000D60516A0B6823F453
+:102B100080730B60012192F82030D56903F01C030B
+:102B200099406960936AD16A5960116B31B10B6841
+:102B300023F480730B60536B916B596001215170CA
+:102B40001470516901B18847204632BDF8B500F1D3
+:102B500024010423CA6914680268156891F820608A
+:102B600006F01C0603FA06F73C4210D06F070ED59C
+:102B70001468A50603D4156825F00405156000F057
+:102B80003DF8C968002938D0BDE8F4400847022361
+:102B900003FA06F73C4213D0AF0711D51468A50617
+:102BA00005D4156825F00A05156001224A7000F069
+:102BB00025F800220A708968F9B1BDE8F440084799
+:102BC000082303FA06F6344217D02B0715D51368ED
+:102BD00023F00E031360012291F82030CC6903F03A
+:102BE0001C039A40626001228A614A7000220A70C6
+:102BF000096911B1BDE8F4400847F1BD91F8202002
+:102C0000CC6902F01C0293406360704778B5C56CD4
+:102C1000046D6C60446D14B1846DC56D65600125F3
+:102C200090F84440066C04F01C04A54075600468EC
+:102C300063608068102802D1A260E16071BDA1606C
+:102C4000E26071BD426C1449920801EB820181641B
+:102C5000142201780839B1FBF2F1104AC26401F084
+:102C60001F01012202FA01F10165704701790C4A46
+:102C700001F03F0102EB81024265491E094A82656B
+:102C800001F0030101228A40C26570470000000084
+:102C9000F8FFFDBF0000024000080240800802402B
+:102CA000FC080240400902407047704710B500F12F
+:102CB00080010A78012A01D1022010BD01230B7086
+:102CC00024224A600268136814686408640014606F
+:102CD0000022426623F00053006803602020486011
+:102CE0000020087010BD70B500F01EF801D1022060
+:102CF00070BD00F01FF822F0604209E070B500F0EE
+:102D000013F801D1022070BD00F014F822F06062C7
+:102D100011438160204600F01AF8206806602020E8
+:102D200068600020287070BD044604F18005287892
+:102D30000128704701222A702420686020680668F4
+:102D4000026852085200026020688268704730B5FD
+:102D5000416E11B90121012214E001680FF2300423
+:102D60008A6889680FF23003520E02F00702490F99
+:102D7000655CA45C595C9A5CED00E40095FBF1F1A4
+:102D800094FBF2F268304180028030BD0000000008
+:102D90000101010307010000080402040801010108
+:102DA0007047000010B5002488B9114803600E4830
+:102DB0000E4B0360FFF782F8012805D007D30328E4
+:102DC00004D038BF022402E0012400E0032420469E
+:102DD00010BD00680549884204D1054908680028EB
+:102DE00018BF00477047000024260020003801402B
+:102DF000382B0020704770474FF0B040006800F05B
+:102E0000F000B02888BFB02070472DE9F0410400E1
+:102E100054D0207881064FF0B04538D5A868E968CD
+:102E200010F00C0001F0030103D00C2808BF0129A9
+:102E300046D12868800702D5E06900283ED0FFF718
+:102E4000DBFF616A884207D2084600F0A0FB002839
+:102E500034D100F043FA0FE0286820F0F00001437D
+:102E600029606968206A21F47F4141EA0021696094
+:102E7000606A00F08CFB08BB00F062FBDFF888178B
+:102E80000860DFF88807006800F0BEFFB0B920785E
+:102E9000C1070DD5A868E96800F00C00082801F00A
+:102EA000030103D00C2808BF03292CD12868800314
+:102EB00040F11D816068002840F01981012006E280
+:102EC000E06980B1296841F0010100F0F3FA06469B
+:102ED0002868800700F1088100F0C4FB801B0328EC
+:102EE000F6D30320F3E128684008400000F0A6FB79
+:102EF0000646286800F0EEF9C9D000F0B3FB801B4D
+:102F00000328F6D3EDE76068B0F5803F04D1296867
+:102F100041F48031296003E02A6822F480322A607B
+:102F2000606860B100F09EFB06462868800300F1EF
+:102F3000DE8000F097FB801B6528F6D3D1E700F018
+:102F400091FB06462868400C10F0010000F0CF808D
+:102F500000F088FB801B6528F4D3C2E700F082FBF9
+:102F6000C01B0328C0F0F780BBE7E06878B1296890
+:102F700041F4807100F09EFA06462868400500F191
+:102F8000FD8000F06FFB801B0328F6D3A9E72868BB
+:102F900020F4807000F052FB06462868800A10F08A
+:102FA000010000F0C28000F05DFB801B0328F4D319
+:102FB00097E700F057FBC01B0328C0F0F18090E7B3
+:102FC00040F0010000F09BF907467068800700F1AF
+:102FD000028100F047FBC01B0328F6D381E770682D
+:102FE00020F0040000F08BF907467068C00810F06C
+:102FF000010000F0FF8000F035FBC01B0428F4D373
+:103000006FE70528306806D140F004003060316871
+:1030100041F0010105E0400840003060316821F0D6
+:1030200004013160A06841F2893768B100F01AFBF1
+:1030300080463068800700F1F28000F013FBA0EBBF
+:103040000800B842F5D34CE700F00CFB804630682E
+:1030500000F040F900F0E38000F004FBA0EB080072
+:10306000B842F4D33DE700F0FDFA801B0328C0F01E
+:10307000088136E700F0F6FA001B0328C0F0228131
+:103080002FE7286881010CD4296841F080712960FC
+:10309000E86840F08050E86000F0E4FA04462868F0
+:1030A000810100F1138100F0DDFA001B0328F6D343
+:1030B00017E70C2930D0286820F080702860E96874
+:1030C00089088900E960E86820F08050E86000F035
+:1030D000C9FA04462868810140F1F88000F0C2FA7C
+:1030E000001B0328F6D3FCE600F0F8F8CFE62078C2
+:1030F00081071AD5A868E96800F00C00042801F0DF
+:10310000030104D00C2808BF02297FF42EAF2868E1
+:10311000400503D5E06800283FF4D0AE6968206917
+:1031200021F0FE4141EA006169602168DFF8E06456
+:1031300011F0180F38D0606900283FF450AFC9066D
+:1031400070687FF53DAF800709D4706840F00100DA
+:1031500000F0D5F80746706880077FF5FFAE70680D
+:1031600040F0040000F0CBF80746706800070DD46B
+:1031700000F078FAC01B0428F7D3B2E6686821692A
+:1031800020F0FE4040EA01606860CEE77068A16907
+:1031900020F4706040EA0120706000F0ADF807464E
+:1031A00000F097F87FF405AF2078410737D5DFF8B6
+:1031B00064743868C10529D400F0F0FA00F052FABE
+:1031C00080463868C10521D400F04CFAA0EB080015
+:1031D0000328F6D385E6706820F0040070607068FC
+:1031E000C00810F00100DFD000F03CFAC01B04283A
+:1031F000F5D376E600F080F8074600F06AF8D3D001
+:1032000000F030FAC01B0328F7D36AE6A068012853
+:103210007FF4F7AE306840F00100306002E7A06A4A
+:10322000002853D0A968EA68022801F00C017FF455
+:1032300040AFE36A02F00300984202BF02F0700060
+:10324000236B984214D1636BC2F30620984202BFED
+:1032500002F47810A36B98420AD1E36B02F060602D
+:10326000984202BF02F06042206C82423FF409AFF4
+:103270000C293FF423AE286820F0807000F0DEF9BE
+:103280000646296888013FF5EEAEE968DFF8880355
+:10329000626B0140E06A0143206B0143A06B41EA8D
+:1032A00002210143E06B0143206C0143E96028687F
+:1032B00040F080702860E96841F08051E96000F0DA
+:1032C000D1F90446286881017FF5D4AE0020BDE81D
+:1032D000F0817068400810F0010070472968606A4A
+:1032E00021F0F001014329606868216A20F47F40E1
+:1032F00040EA0120686070477068400840007060D4
+:1033000000F0B0B92DE9F8430400884644D0DFF856
+:103310000C6300F0CAF847D200F0CFF8074600F07F
+:10332000C4F841D000F09EF9C01B0228F7D9032051
+:10333000B9E000F097F9401B022843D9F7E700F005
+:1033400091F9A0EB090002284CD9F0E700F08AF9C6
+:10335000A0EB0900022854D9E9E700F083F9401BEB
+:1033600002285DD9E3E700F07DF9401B022867D908
+:10337000DDE700F077F9401B484577D3D7E703280E
+:1033800002D13968890103E00028396802D1890730
+:1033900062D401E049055FD4012084E000F062F9C5
+:1033A000C01B022872D9C2E7207881074FF0B047CE
+:1033B0000BD5B968A06821F0F0010143B96000F0B5
+:1033C00051F90546B868C003B3D52078DFF8345208
+:1033D00081060AD52968606921F0F001014300F0F7
+:1033E00069F8814628688003A9D5207841060BD565
+:1033F0002968A0690909090141EA101100F05AF889
+:1034000081462868C003A1D5207841070BD5B9684B
+:10341000E06821F4E0610143B96000F023F905465A
+:10342000B868800399D5207801070CD5B868216960
+:1034300020F4605040EAC100B86000F013F905467E
+:10344000B86840038FD52078C10717D56068022877
+:1034500095D1396889039FD5B968890840EA810008
+:10346000B86041F2893900F0FDF80546B868616836
+:1034700000F00C00B0EB810F7FF47BAF306800F000
+:103480000700804505D200F018F8074600F00DF857
+:1034900084D100F055F85C49086000F0EBFCBDE811
+:1034A000F24300F0B1BCBDE8F283306800F00700E1
+:1034B00040457047296000F0D5B83168C90848EA2E
+:1034C000C101316000F0CEB838B54FF0B044554D71
+:1034D000A16811F00C0106D1FFF78EFCC0F30310B8
+:1034E00055F8200032BD04294F4A05D008294F481D
+:1034F00004D12168C90222D5104632BDE16801F02D
+:103500000301022904D0032904D12168C90207D587
+:10351000104605E0FFF770FCC0F3031055F82000DB
+:10352000E168E268E368C1F306214843C2F302118F
+:10353000491C5B0FB0FBF1F05B1CB0FBF3F032BD3C
+:1035400080B5FFF7C1FF3649FFE7394A0968C1F383
+:10355000031152F82110B0FBF1F002BD80B5FFF766
+:10356000EFFF00F010F8C1F3022106E080B5FFF78D
+:10357000E7FF00F008F8C1F3C22112F8211001F0B2
+:103580001F01C84002BD26492A4A0968704770B524
+:103590002449274AB1282EBFC86AC0F3031051F846
+:1035A00020001849096801F00F0152F82110224A41
+:1035B000B0FBF1F0B0FBF2F0002400210FF2840226
+:1035C00052F8213083420AD2491C0329F8D90AE073
+:1035D00000F048F8801B03280DD3032070BD0FF2C4
+:1035E000740050F821400D4D2868C00844EAC0001E
+:1035F00000F024F80646296801F00701A142E7D14E
+:10360000002070BD08010058202600201C26002044
+:1036100090000058000400588C80C11100400058F0
+:1036200008000058547500080024F4000048E80120
+:10363000147500081C7D000840420F00286000F04F
+:1036400011B8000012000000240000003600000045
+:103650004000000000000000010000000200000027
+:103660000300000001484068704700BF1426002096
+:10367000704700000901020081B002D43C48815427
+:1036800005E03C4802F00F02104400F8041C01B0B1
+:103690007047394A13684FF6FF0100020B4000F4EF
+:1036A000E0601843354908431060704738B5324B25
+:1036B0001C68C4F30223C3F10704052C28BF0424AB
+:1036C0001D1D072D34BF0023DB1E012505FA04F460
+:1036D000641E2140994005FA03F35B1E1A40114312
+:1036E000BDE83440C6E70000010007D4012200F025
+:1036F0001F01234B8A40400943F8202070470100F6
+:103700000BD4012200F01F011E4B8A40400943F8F0
+:103710002020BFF34F8FBFF36F8F704710B5401E4F
+:10372000B0F1807F01D3012010BD174C60600F21E4
+:103730004FF0FF30FFF79EFF0022A26007202060BD
+:10374000002010BD010007D4012200F01F010F4B23
+:103750008A40400943F820207047010007D4012225
+:1037600000F01F010A4B8A40400943F820207047AF
+:1037700000E400E018ED00E00CED00E00000FA05C8
+:1037800000E100E080E100E010E000E000E200E0A5
+:1037900080E200E0002200F083BB000002480168E4
+:1037A00041F480710160704700040058DFF87C210B
+:1037B0001368010C23EA014343EA00431360704796
+:1037C0002DE9F041054600272868DFF8646101050E
+:1037D000B8462FD53468286A04F44074844229D04E
+:1037E000FFF7DCFF002C316805D1286A21F4407115
+:1037F000014331601DE0306840F48030306021F4D6
+:103800004071326822F480323260286A01433160AC
+:103810003068C0070DD5FFF725FF044641F289380F
+:103820003068800705D4FFF71DFF001B4045F7D324
+:103830000327B8462878DFF8FC40C10705D5E16FBB
+:103840006868890840EA8101E1672878810705D521
+:10385000E16FA86821F440610143E1672878C1065F
+:1038600044BF2869FFF7A2FF2878810644BF686932
+:10387000FFF79CFF287841070AD5E868E16F020945
+:1038800002F47F220001914300F47F200843E067A7
+:10389000286881051ED5A869B0F1804F18BFB0F126
+:1038A000004F00D018B9E16F21F0404108E0E16F0E
+:1038B00021F04041E16720F08050E16F21F040614C
+:1038C0000843E067A869B0F1C05F03D1216841F007
+:1038D00080712160286841050DD5E16FE86921F00C
+:1038E00040510143E167E869B0F1005F03D121680D
+:1038F00041F4803121602868C10405D57168686A87
+:1039000021F4404101437160286881040BD5A1690D
+:10391000E86A21F030010143A161A169A86A890820
+:1039200040EA8101A1614046BDE8F081880000586D
+:10393000900000580C000058594900E0594981B0E6
+:103940000A6802430A60096808400090009801B0C4
+:10395000704780B500F07AFA00F0BCFA00F018F871
+:1039600000F048F850485149016000F063FD042020
+:10397000FFF7E4FF0120FFF7E1FF00F0A3F800F0FC
+:103980004EF800F065F800F0B9FA00F0DDFBFCE756
+:1039900080B598B007A84421FFF7FCFE68461C21BB
+:1039A000FFF7F8FEFFF7FAFE4148016821F0180121
+:1039B0000160072007904FF48031089101200990A1
+:1039C0004FF480710A9140200B900021119107A8BB
+:1039D000FFF71BFA6F200090022100200191029056
+:1039E000039004900590069001216846FFF78AFC39
+:1039F00019B000BD10B58CB068463021FFF7CAFE83
+:103A00004FF480400990022110200B904FF4405455
+:103A10000A9100946846FFF7D3FE0CB010BD10B5B4
+:103A2000244C25482060002060600F20A06047F6ED
+:103A3000FF70E06000202061A0616061204600F01E
+:103A400031FD2046BDE810400022002100F058B8AA
+:103A500010B51A4C1A4820604FF4E1306060002025
+:103A6000A060E06020610C2060610020A0614FF444
+:103A70000040E061002020626062A0622046FEF704
+:103A8000DDF900212046FFF72EF900212046FFF73F
+:103A900035F92046BDE81040FFF708B900000000E6
+:103AA000480000584C000058C8290020000C00585D
+:103AB00090000058302A00200028004024260020D2
+:103AC0000038014080B50420FFF736FF0120FFF7E2
+:103AD00033FF00220F210E20FFF7E8FDBDE8024072
+:103AE0000E20FFF701BE70478A60FF210268516215
+:103AF000012180F82110002180F82010002070475B
+:103B00002DE9F84300F065F808BF022038D000F036
+:103B100067F814D5FFF7A6FD07462068C168480777
+:103B20000DD5FFF79FFDC01B4845F6D300F039F8CF
+:103B300026E0FFF797FDC01B484507D3F6E700F0E6
+:103B40002AF800F065F8FFF78DFD07462068C16888
+:103B50004A07EED5C0F81480206800F013F82A4810
+:103B6000016841F4002101602848026842F4002203
+:103B700002602068816841F48041816000F01BF898
+:103B8000BDE8F2838168C908C90081602068816846
+:103B90000D43856070472068816821F480618160F1
+:103BA000704720684662032184F82110002084F8C1
+:103BB0002000032070472068816841F480618160A3
+:103BC00001212068466284F82110002084F820003A
+:103BD00070470446884694F820000128154670472F
+:103BE000012184F82010022084F82100CA202168D5
+:103BF0004862532022685062FF2620688168480589
+:103C000040F2E93970470000800800580008005869
+:103C10002068C16801F0800161F49061C160704763
+:103C200090F82010012901D102207047012280F86C
+:103C30002020022180F82110CA21026851625321FC
+:103C40000368596201688A6842F020024CE700006C
+:103C50002DE9F84F4FF00009644A654B4FF00F080B
+:103C600005460E4633E0634FBD4214BF07270427C5
+:103C70008F4027434CF82E70C1431C6801EA040CA6
+:103C80007468E40248BF40EA0C0CC3F800C05C68EA
+:103C900001EA040C7468A40248BF40EA0C0CC3F8A3
+:103CA00004C0146801EA040C7468E40348BF40EAE5
+:103CB0000C0CC2F800C0546801EA040C7168890356
+:103CC00048BF40EA0C0CC2F804C009F10109316890
+:103CD00031FA09F078D0012404FA09F414EA010059
+:103CE000F3D04FEA490C032101FA0CF16FEA010EFF
+:103CF000716801F00307012F1CBF01F003010229C5
+:103D000011D1A968F7680EEA010107FA0CF73943E7
+:103D1000A960696821EA04047168C1F3001101FA1D
+:103D200009F10C436C604FEA8901347904F0030413
+:103D3000032C1FD0EC68B7680EEA040407FA0CF7EE
+:103D40003C43EC60347904F00304022C12D14FEAB6
+:103D5000D90705EB870401F01C07D4F820A008FA66
+:103D600007FB2AEA0B0AD6F810B00BFA07F747EA66
+:103D70000A0727622C680EEA0407347904F003046A
+:103D800004FA0CF43C432C60746814F4403F9CD05B
+:103D9000DFF864C04FEA990E5CF82E7001F00C0158
+:103DA00008FA01F427EA0404B5F1904F08BF002790
+:103DB00009D0124FBD4208BF012704D0104FBD42A9
+:103DC0007FF451AF022753E7BDE8F18F81B0002A9D
+:103DD00014BF8161816201B070470A4A13680342CF
+:103DE0001CBF106000F0C2B9704700008008005886
+:103DF0000008005800100048080001400004004876
+:103E0000000800480C08005870B50F4E0446307882
+:103E10000025A8B1FFF794FB32784FF47A71B1FB1B
+:103E2000F2F1B0FBF1F0FFF779FC48B9102C07D2A2
+:103E3000002221464FF0FF30FFF738FCB46000E06D
+:103E40000125284670BD00BF14260020114810B57A
+:103E5000016841F4807101600320FFF71AFC002023
+:103E6000FFF7D2FF0024002814BF0124FEF793FCC3
+:103E7000204610BD084880687047084805E007489C
+:103E8000016841F0020101607047016841F00101E1
+:103E9000016070470040005814260020042004E010
+:103EA00000B500BF130096469446103928BFA0E81D
+:103EB0000C50FAD85FEA417C28BF0CC048BF40F8DC
+:103EC000042BC90728BF20F8022B48BF00F8012B9C
+:103ED00000BD000080B591484FF400410160002012
+:103EE00000F084FB48B180798D498E4A0A600A68E7
+:103EF00022F47C5242EA00220A6001BD10B58A48D1
+:103F00008A4C88B001680160CA218948C161532187
+:103F1000C161FF220168C908C9000160C26185480A
+:103F2000016841F40041016000F072FB82480168C1
+:103F3000C908C90041F00401016000F085FB7F4918
+:103F4000002000F0FEFC00F048FE0121012000F0FE
+:103F500064FB00F0C4F800F0D1F800F07DFF784A6F
+:103F600000214FF4807001F0CEF804F23C500FF2C3
+:103F700035010090019169460FF22D0001F046F9DC
+:103F800004F25470029004F5C96140F23C5005906F
+:103F90000391049402A800F0E7FF00F05BFF08B073
+:103FA00010BD00007047000038B5044688B0616855
+:103FB00001F10B05684601F0EAF99DF802309DF821
+:103FC00001209DF800100FF2C01001F01FFA9DF8BB
+:103FD00004100FF2D81001F019FA9DF80C309DF87A
+:103FE0000B209DF80A100FF2E01001F00FFA28885C
+:103FF0004FF41241401A0CD0401E3ED0401E4CD00F
+:10400000801E57D0401E5AD0401E5BD0401E60D04C
+:1040100063E004A81021FFF7BDFB60680D30007855
+:10402000F8B90FF2683001F0F1F900F0E5FD0D206C
+:104030008DF810007F2143488DF8121004680FF2AC
+:104040007C30240C214601F0E1F9ADF81C4004A8B5
+:1040500001F096F901F0EEF90021012000F0DDFAFF
+:104060003BE0012806D10FF2743001F0CFF90020B7
+:10407000207032E00FF290302DE0606800F10D0406
+:104080000FF27020217801F0C1F92078002814BFC8
+:104090000FF2C4200FF288201DE00FF2441001F04F
+:1040A000B5F9D5F80620D5F802100FF2601001F02E
+:1040B000ADF912E0D5F802100FF2941006E00FF2FD
+:1040C000C41008E0D5F802100FF2D41001F09EF9E8
+:1040D00003E00FF2042001F099F909B030BD80B57A
+:1040E000002001F016FD012001F013FD022001F077
+:1040F00010FDBDE80240012001F034BD80B5012172
+:10410000002001F044FD0121012001F040FDBDE847
+:1041100004400121022001F03ABD00001040005887
+:104120009C000058FECAFECA9008005830000320C8
+:10413000082800400800005880040058302A002059
+:104140004F520008002004E001E0704700BF4FF02C
+:10415000FF3000F071BF00214FF4807000F0E0BF2D
+:10416000022001F003B8022001F008B8012804D0B1
+:10417000102804D0402804D0704701F07EBA01F026
+:104180008BBA01F08ABA0000576972656C65737367
+:10419000204669726D776172652076657273696F0A
+:1041A0006E2025642E25642E25640A0057697265E9
+:1041B0006C657373204669726D77617265206275F4
+:1041C000696C642025640A00465553207665727335
+:1041D000696F6E2025642E25642E25640A0A00006E
+:1041E0002D2D20424C45204E564D2052414D204809
+:1041F0004153204245454E205550444154454420AA
+:10420000425920434D4F2B200A0000005348434998
+:104210005F5355425F4556545F424C455F4E564D85
+:104220005F52414D5F555044415445203A205374EC
+:1042300061727441646472657373203D20256C78EB
+:10424000202C2053697A65203D20256C640A0000EB
+:10425000534843495F5355425F4556545F4E564D50
+:104260005F53544152545F5752495445203A204EAF
+:10427000756D6265724F66576F726473203D2025BD
+:104280006C640A00534843495F5355425F45565496
+:104290005F4E564D5F454E445F57524954450A00A4
+:1042A000534843495F5355425F4556545F4E564D00
+:1042B0005F53544152545F4552415345203A204E7A
+:1042C000756D6265724F66536563746F7273203DDE
+:1042D00020256C640A000000534843495F5355424F
+:1042E0005F4556545F4E564D5F454E445F455241C3
+:1042F00053450A00534843495F5355425F4556545E
+:104300005F4552524F525F4E4F54494620574954D1
+:104310004820524541534F4E202578200A00000086
+:10432000534843495F5355425F4556545F45525287
+:104330004F525F4E4F5449462057495448205245EA
+:1043400041534F4E202D204552525F424C455F490C
+:104350004E4954200A000000534843495F535542D8
+:104360005F4556545F4552524F525F4E4F54494637
+:10437000205749544820524541534F4E202D20424A
+:104380004C45204552524F52200A000053484349A1
+:104390005F5355425F4556545F434F44455F524516
+:1043A000414459202D20574952454C4553535F46AF
+:1043B000575F52554E4E494E47200A004442474DE2
+:1043C00043555F4765745265766973696F6E4944FA
+:1043D0003D20256C78200A0A00000000534843491C
+:1043E0005F5355425F4556545F434F44455F5245C6
+:1043F000414459202D204655535F46575F52554E34
+:104400004E494E47200A0000534843495F535542E6
+:104410005F4556545F434F44455F524541445920E0
+:104420002D20554E45585045435445442043415353
+:1044300045200A00F8B504460025ACB104F1340665
+:10444000307910B92046FEF7B5F90F4F384600F025
+:1044500021F8386840F001103860204600F007F875
+:1044600035600120307100E001252846F2BD10B50D
+:104470000021064A064B00EB8104491C06296360B3
+:10448000E261F8D310BD0000000C0058FB110008D9
+:104490007F110008002101604FF03F1141603F2172
+:1044A0008160704738B5040044D094F8210028B9E1
+:1044B000002184F820102046FEF798F900F049F812
+:1044C000FF2510B100F03FF834E02168DFF8B000BC
+:1044D0008A6802408A6021688A68636820690343A9
+:1044E000A06903431A438A602168E0680861206874
+:1044F0000169A26841EA024101612068C16821F0B6
+:104500008001C1602068C16C21F00201C164216892
+:10451000CA6CE369606903431A43CA64206881680E
+:10452000880609D400F020F830B1206845620421E3
+:1045300000F01FF8012032BD20684562012184F897
+:104540002110002032BD20684562042184F821102A
+:104550007047022084F82100CA2021684862532055
+:1045600022685062204626E020460BE02068C0F812
+:10457000248084F82110002084F820007047000077
+:10458000BFFF8FFF70B5044640F2E9362068C1686E
+:1045900021F0A001C160FFF765F805462068C168F9
+:1045A000880606D4FFF75EF8401BB042F6D303201E
+:1045B00070BD002070BD70B504462068C1684A0611
+:1045C00012D44FF0FF32C26040F2E936FFF74AF8EA
+:1045D00005462068C168480606D4FFF743F8401B2B
+:1045E000B042F6D3032070BD002070BD01460648DE
+:1045F000064AC3798B4218BF904218BF0838F8D1D9
+:104600008B4218BF00207047F873FF1F0070FF1F18
+:104610000C48002101604160704710B500F00CF8B3
+:104620005C6819B1012904D1204301E024EA0000AB
+:10463000586082F3108810BDEFF3108272B6014B00
+:1046400070470000FC2A00200248016841F4007114
+:104650000160704708040058DFF83C150A6892B200
+:1046600000E00246086880B28242FAD170472DE924
+:10467000FC4104461825DFF82485DFF824656843EB
+:1046800008EB00073078062808D131787170347053
+:1046900078754FF0FF307060002039E000F077F857
+:1046A000B9680918B96008F10803B96832786A4333
+:1046B0009A589142327813D308F1150315FB02FC86
+:1046C00013F80C30062B25D008F108066B43F3587D
+:1046D000994222BF08F115036A439A5CEED219E0B1
+:1046E0001146337869439A420BD008F1140308F15C
+:1046F000150C5B5C15FB03F50CF805407A753B75F2
+:1047000000E07A7508F114025454317871703470F5
+:10471000BDE8F6811146694308F115035B5C062B81
+:1047200004D008F1140615FB03F574557B753A7532
+:1047300008F115025454EBE7F8B5DFF86434DFF8FC
+:104740005C541E78182402466243B0422A4404D1C5
+:1047500018785870507D18700FE0167D507D92F8D3
+:1047600015C005F115076643062807F806C004D0F2
+:10477000167D143514FB00F42E55012010731878A3
+:10478000062802BF00294FF0FF315960F1BD10B576
+:10479000DFF80C44606810F1010F0FD0FFF75CFFE9
+:1047A0006168DFF80024814261683CBF5388C91802
+:1047B000081A517848431178C84000E0002080B2C0
+:1047C00010BD2DE9F84FDFF8DC53DFF8DCB3D5F886
+:1047D0000880D8F80000DBF800104A0500F090F9D6
+:1047E000DFF8BC63DFF8B4A321F4806181604FF08F
+:1047F000180934780AF1080019FB04F14758FFF74B
+:10480000C6FF874217D200270121B170062C3DD088
+:1048100019FB04F40AF108010AF10802095981425E
+:1048200023BF0AF108010959091A002111510AEBA5
+:1048300004014C7DEAE7A9884118B94202D2AF8849
+:104840000021E2E73F1ADFE7022802DA2878012890
+:1048500000D07F1ED8F80000C1684A07FAD500F0E2
+:1048600055F9DBF80C00000CBFB247EA0047CBF863
+:104870000C70FFF7F1FE7060A8680068816841F471
+:1048800080618160AFF30080BDE8F18FB8B200288D
+:10489000DAD1FFF7E1FE70600320BDE8F24FFEF7CA
+:1048A00051BF2DE9F843EFF3108872B6BD4DBB4BF5
+:1048B000A8680168CA224A6253204862B84A8868D8
+:1048C00020F48060886018201678374647431F44DC
+:1048D000387B022826D13C68D7F810909078F0B148
+:1048E0007A7B012A0AD101213046FFF725FF88F3A0
+:1048F00010887968304600F016F904E088F31088D3
+:10490000304600F0C1F8A8680068CA21416222461A
+:10491000532141624846314600F050F90BE0FFF761
+:1049200050FF06E0C8684207FCD500F07EF89F49BA
+:10493000086088F31088FF21A86802685162BDE80A
+:10494000F183F8B5974CA160CA2209684A625322E4
+:104950004A62954A136843F020031360136803F01A
+:104960000703C3F10403237095682D0C05F07F0540
+:104970006D1C6570EDB29268C2F30E02521C62802B
+:1049800092B2521E6A43A2F5A072DA404FF6FF734C
+:104990009A422CBFA380A280854A136843F4002367
+:1049A0001360844B1D6845F400251D6048BB7C489E
+:1049B0007A4E0123837018254FF0FF3343600023A4
+:1049C0005FFA83FC06F10C0715FB0CFC4FF0000EA0
+:1049D00007F80CE05B1CDFB2062FF1DB0623037047
+:1049E000886820F48060886000F01FF8D0600320A1
+:1049F000FEF7B3FEA1680868826842F480428260D4
+:104A000005E0C868410544BF0320FEF79BFEA1688E
+:104A10000A68FF205062002203210320FEF746FEB1
+:104A2000BDE8F2400320FEF75FBEC86800F08000DA
+:104A300060F49060C8604FF400207047F0B5044601
+:104A40000025EFF3108672B61827DFF850C10CF17D
+:104A50000C0007FB05FE10F80E0010B16D1C062DB2
+:104A6000F5DB062D0CD06F430CEB07000127077315
+:104A700086F310880461427303600D700020F0BD5E
+:104A800086F310880120F0BDF8B50746EFF31084D7
+:104A900072B60320FEF733FE424DAE683068CA217D
+:104AA00041623A4653214162182043494243895C9E
+:104AB00002291BD100213846FFF73EFE3848017815
+:104AC00006290ED1306838490A68530500F018F8F5
+:104AD00021F480618160C1684A07FCD500F016F8B6
+:104AE00004E04078884218BFFFF76BFEA9680A68A7
+:104AF000FF2050620320FEF7F7FD84F31088F1BD1C
+:104B000002D5C1684A07FCD481687047C16801F0CA
+:104B1000800161F49061C1604FF400202349086076
+:104B20000320FEF71ABE2DE9F04180460F464246AB
+:104B300018201A4942438C18207B022804BF4046A3
+:104B4000FFF7A2FFEFF3108572B60320FEF7D7FD43
+:104B5000144EB0680068CA214162532141620220AC
+:104B60002073A76067604046FFF781FD0C490A7813
+:104B70004978914202D0FFF724FE02E0A168081AAA
+:104B8000A060FF20B1680A6850620320FEF7ACFD08
+:104B900085F31088BDE8F08128280040B426002065
+:104BA0002C2B0020E82A0020082800400C08005880
+:104BB0000008005880080058C02600201047000058
+:104BC000484900E0484981B00A6802430A60096820
+:104BD00008400090009801B0704780B5FFF74DF98C
+:104BE000FFF74DF94148016841F48031016001F05F
+:104BF00056F8BDE801400EE000B587B068460FF2F8
+:104C000038211C22FCF73CFB00F0E3F9684600F079
+:104C1000AFFB07B000BDF0B585B068461421FEF7C4
+:104C2000B9FD00260025002400210FF2DC0000EB76
+:104C3000C102907988B11368B3F1904F08D02C4F1E
+:104C4000BB4208D02B4FBB4204BF9088044304E012
+:104C50009088064301E090880543491C2629E4DB3F
+:104C6000002002900121032003900191B0B288B18D
+:104C700000900120FFF7A4FF0120FFF7A3FF694682
+:104C80004FF09040FEF7E4FF0022B1B24FF09040A9
+:104C9000FFF79CF8A8B280B100900220FFF790FFC8
+:104CA0000220FFF78FFF124E69463046FEF7D0FF15
+:104CB0000022A9B23046FFF789F8A0B280B1009077
+:104CC0000420FFF77DFF0420FFF77CFF094D6946B4
+:104CD0002846FEF7BDFF0022A1B22846FFF776F86E
+:104CE00005B0F0BD4C0000584C0100589008005829
+:104CF0000004004800080048FEF7AABE13460A4612
+:104D000001460020FEF74EB80000004801000000F8
+:104D10000000004801000000000000480100000001
+:104D200000000048010000000000004801000000F1
+:104D300000000048010000000000004801000000E1
+:104D400000000048010000000000004801000000D1
+:104D500000000048010000000000004801000000C1
+:104D600000000048010000000000004801000000B1
+:104D700000000048010000000000004801000000A1
+:104D80000000004801000000000000480100000091
+:104D90000000004801000000000000480100000081
+:104DA0000000004801000000000000480100000071
+:104DB0000000004801000000000000480100000061
+:104DC0000000004801000000000000480100000051
+:104DD0000000004801000000000000480100000041
+:104DE0000000004801000000000000480100000031
+:104DF0000000004801000000000000480100000021
+:104E00000000004801000000000000480100000010
+:104E10000000004801000000000000480100000000
+:104E200000000048010000000000004801000000F0
+:104E30000000004801000000000000000000000029
+:104E400000000000084D0008280003202C0003206B
+:104E50002604040000F0D5BF6C486D49016001F1E3
+:104E60002002426001F13002826001F13C020262E4
+:104E700001F14402426201F14C02C26001F15402AC
+:104E8000026101F17002426101F1740282618031BC
+:104E9000C16100F0D4BF38B504465E4D284601F02C
+:104EA00031F85A484068A1680160E168C1608560D6
+:104EB0005949416000F0DFFF58482AE080B5534867
+:104EC0004268136801211972406800F0DAFF00207F
+:104ED00002BD38B5514C4F4D04E000F041F8009848
+:104EE00021688847284601F010F80028F5D031BD28
+:104EF0004A484168084738B50446494D284601F0FC
+:104F000001F84248C068A1680160456000F0BEFF3A
+:104F100044482168016061684160002032BD80B56D
+:104F20003A48C268136810211972C06800F0B4FFD3
+:104F3000002002BD35483B4AC168C1681368086853
+:104F4000184738B5374C364D04E000F009F80098A2
+:104F500061688847284600F0D8FF0028F5D031BDA9
+:104F60006946284600F0FABF38B504462E4D28465B
+:104F700000F0C8FF2D4800F0C5FF24480069A16873
+:104F80008160E168C160056121680160616841601C
+:104F9000216941616169816131BD80B50146234864
+:104FA00000F0C6FFBDE802400FF2050000F07DBF33
+:104FB00038B5164C1D4D06E0FFF7D2FF0099206969
+:104FC000006900F0B5FF284600F09FFF0028F3D0ED
+:104FD00031BD10B5164C204600F094FF0B484169D6
+:104FE0000C60BDE8104000F074BF1CB5104C06E02A
+:104FF0006946204600F0B2FF009800F01BF82046FA
+:1050000000F083FF0028F3D013BD00000000032050
+:10501000AC090320480A0320900803200C2B002031
+:10502000500A0320142B0020380A0320042B0020F0
+:10503000400A0320704700002DE9FC47604CDFF870
+:105040008491A5692840A0614FF0FF3A21694FF093
+:10505000010834E0521C54F83200616919400142E1
+:10506000F8D0616904EBC20608407168184001423B
+:1050700008BFC6F804A07768384000F0A5F8606261
+:1050800008FA00F087437760EFF3108172B6626A26
+:10509000206908FA02F2D24310402061022004EB9A
+:1050A000C00353F8086C1640401E43F8086CF6D154
+:1050B00081F31088606A59F8201088472169A36934
+:1050C00060690140194205D0E069216A084208BFC1
+:1050D0000022C0D0C4F824A000F051FFEFF31089E3
+:1050E00072B6216960690140A069014201BFE169AE
+:1050F000206A0142FFF729F889F3108800F040FF89
+:10510000A561BDE8F38738B51446EFF3108572B694
+:1051100000F05AF82B4941F8204085F3108831BD42
+:1051200010B500F00BF804431C6153F831402043E4
+:1051300043F83100FFE782F3108810BDEFF31082CF
+:1051400072B61F4B1C697047EFF3108172B61C4A90
+:10515000536923EA000005E0EFF3108172B6184AA4
+:1051600053691843506181F310887047EFF3108141
+:1051700072B6134AD3691843D061F4E7F8B5104CFE
+:10518000666A256A374616F1010F0EBF0026012117
+:1051900001FA06F6206202E03046FEF7D7FF216AE8
+:1051A000E0690842F8D06762EFF3108172B6E269F5
+:1051B000206A8243E26181F310882562F1BD00001C
+:1051C000C0250020C827002002460020110C090439
+:1051D00004BF1020120412F07F4F04BF08301202E7
+:1051E0000FF2180112F0704F04BF001D1201120FD0
+:1051F000C0F11F00895C401AC0B27047040302026C
+:105200000101010100000000000000007FB50C4614
+:105210004D4D61684D4EE8612962284600F0B2FEAE
+:105220002468746006F1080000F06CFE012000F0B4
+:1052300068F801203070296841B10FF2E9000FF2DF
+:10524000ED02009001920294684688477FBD1FB529
+:105250003E4C04F1080000F058FE00BB2178F1B18B
+:10526000694604F1080000F079FE3748C16949B188
+:105270000098029001228DF8042001A888479DF82B
+:10528000040000E001202070207818B10098FFF79A
+:1052900084FE04E0009904F1080000F03FFE04F1F0
+:1052A000080000F032FE28B9207818B104F1080097
+:1052B000FEF751FF1FBD2DE9F04105460E46904611
+:1052C0001C46002000F01DF8204F7868A0F8095017
+:1052D000C672324641460C30FBF7C2FF1A4A1369C8
+:1052E00000210020984748F2E800FEF73CFF79686B
+:1052F0008A78D21C04F10800FBF7B2FFBDE8F04148
+:1053000001201CB51049124C096A20B901B1884727
+:105310000020207013BD0120207011B1BDE81C4099
+:10532000084713BD0020FEF71BBF000010B5014663
+:10533000064C04F1080000F0FBFD04F10800BDE894
+:105340001040FEF708BF0000542A0020D82A002091
+:105350004C2B0020FFF7AFFF9DF80E0005B000BDFD
+:10536000F8B500F10C026B4625214FF66640F1E7D7
+:10537000F8B500F10C026B460F214FF66840E9E7E3
+:10538000F8B502466B460E214FF67540E2E770B560
+:105390001B491C4B0A681C49C2F30D0201EB820138
+:1053A0000C6822689A4205D16569A169E269E368DF
+:1053B000246904E025696169A2696368A4682E0E06
+:1053C000067001722E0C467042722E0A8670C473EB
+:1053D000C5F3031605F00F050571C6700D0E457176
+:1053E0000D0C85710D0A190E8172C571190CC172EF
+:1053F0001B0A210E41730373210C8173002070BDC1
+:105400003C400058B95646A9000003200EB4C0B570
+:10541000024603A800210190009101AB012104483C
+:1054200078440C30FAF78AFE06BC5DF810FB00BF2A
+:105430004329000018B58FB002A80FF28C61DFF885
+:1054400000443422FBF71CFF0FF24540019000940A
+:1054500069460FF2254000F09FFD01210220FFF771
+:10546000DCF8DFF8E02300211020FFF74CFE02A853
+:10547000FFF776FF08B1FEF736FB00F00FF900F0FA
+:105480006FFE0FF2293200210120FFF73CFE0FF2E0
+:10549000593200210220FFF736FEDFF8AC4300202E
+:1054A00084F88000202000F003FF00F033FF0FF2AB
+:1054B000AD33002204F181010020FFF7BFFA10B0E4
+:1054C00010BD2DE9F043074685B07878DFF87843C2
+:1054D000DFF8786305284FF0000804F1800554D008
+:1054E0003E2863D0FF280DD101203072B7F80300A9
+:1054F000042842D040F20741884204D040F602011D
+:10550000884218D0A6E07879022804BFB97900292A
+:10551000F8D1002000F02BFB0FF28830FFF776FF68
+:10552000A878012806D12978062903D00021022075
+:10553000FFF7F6FD8EE0002000F0BAFEF879307338
+:1055400001253889F08179893182BA897282FB8993
+:10555000B382388A04950090F082357BE08A039507
+:1055600010260296019601F019FA10B1022000F0FF
+:10557000F9FA202000F09CFE6CE0012000F0F2FA25
+:1055800068780A21FFF7CFFA64E0B888E18A884298
+:1055900060D1A4F8168085F800800FF23830FFF74C
+:1055A00035FF0120307200F059F853E0F8780128F7
+:1055B00002D002281DD04DE0B7F80500E082062099
+:1055C00028700FF23830FFF721FF86F8088000F0CE
+:1055D00045F8E08A01F071FA30B90FF24830FFF770
+:1055E00015FF0FF2743001E00FF29C30FFF70EFF51
+:1055F00030E097F80D90787960BB29E007EB080060
+:10560000847BC07BFF2821D1072C1FDB07EB080020
+:10561000007C01281AD10FF2B030FFF7F7FE07EB3C
+:105620000800407C832811D10FF2BC30FFF7EEFE5A
+:105630000120A870F8793070387A7070787AB0707C
+:10564000B87AF070F87A3071387B7071641CA044BD
+:10565000C845D3DB012005B0BDE8F083E08A708146
+:1056600006F1080000F077BE7749CA8A824202D16B
+:1056700091F8800070470020704780B500F08BFFE4
+:10568000062805D0BDE8044000210120FFF748BDF1
+:10569000BDE8014000F071BE7047704718B589B091
+:1056A0000020ADF81A0001F0C6FA694C216811F12A
+:1056B000010F0DD0674862680170120A090A417033
+:1056C00061688170C270110A120C0171427105E0AB
+:1056D0000020FEF78BFF08B90FF2C4300246062106
+:1056E000002000F0B0FD4EF66E50089007AA20682A
+:1056F000554C079006212E2000F0A5FD0FF2A83290
+:105700001021182000F09FFD0FF2AC32102108206C
+:1057100000F099FD1821012000F0BCFD01F086F990
+:105720000DF1160006A90190009105AB072200219A
+:10573000042001F0F0FA0FF2D420BDF81810009008
+:105740000623BDF81400002201F087F90DF11A00BC
+:1057500000900223BDF81610BDF81400002201F0DD
+:105760007CF90120207001F08AFA0120607001218B
+:1057700008202071A1701020607100210120E070CC
+:10578000049110213448A060039008220120019167
+:105790000092029000230122012101F089FAA078F1
+:1057A00008B101F0E8FA0AB010BD0000264890F8F0
+:1057B0008010062900D1704780B5002000F0D2F992
+:1057C0004FF4487101230022084601F0EBFA10B9AA
+:1057D0000FF2402004E0022000F0C4F90FF2642030
+:1057E000BDE80240FFF712BE18B587B00FF2842063
+:1057F000154CFFF70BFE94F8800006281DD01021F1
+:10580000069105914FF4FA70049050210023029103
+:10581000282200200393019200904FF448710B4B13
+:105820000022084601F0EBFA08B9042003E0022048
+:1058300000F098F9002084F8800008B010BD000046
+:10584000A0080320D75F000844270020982A0020E2
+:105850008075FF1FF42A002007B20100012000F02C
+:1058600086B900211020FFF75BBC0120FFF77EBC4A
+:105870000120FFF783BC000010B50446616801F108
+:10588000080000F07DFC00B10120207010BD000078
+:1058900010B1012803D07047FF20FFF755BCFF204F
+:1058A000FFF75ABC2D2D204741502047454E455209
+:1058B000414C20444953434F564552592050524F72
+:1058C0004345445552455F434F4D504C4554454424
+:1058D0000A0000000D0A0D2A2A20444953434F4E66
+:1058E0004E454354494F4E204556454E5420574946
+:1058F000544820534552564552200A000D0A0D2A9D
+:105900002A20434F4E4E454354494F4E204556455D
+:105910004E54205749544820534552564552200A68
+:10592000000000000D0A0D2A2A204741545420533C
+:10593000455256494345532026204348415241434E
+:1059400054455249535449435320444953434F56B5
+:1059500045525920200A00002A2047415454203A39
+:105960002020537461727420536561726368696E9C
+:1059700067205072696D6172792053657276696330
+:105980006573200D0A0D0000424C455F4354524C94
+:105990005F4170705F4E6F74696669636174696FAF
+:1059A0006E28292C20416C6C2073657276696365C2
+:1059B0007320646973636F76657279204661696CE0
+:1059C0006564200D0A0D00002D2D2D205354204D0F
+:1059D000414E554641435455524552204944202D8D
+:1059E0002D2D200A000000002D2D20534552564534
+:1059F00052204445544543544544202D2D205649BA
+:105A000041204D414E2049440A000000503250438D
+:105A10004C490000200D0A0D2A2A205354415254AB
+:105A20002047454E4552414C20444953434F56452B
+:105A3000525920285343414E29202A2A20200D0A5A
+:105A40000D0000002D2D20424C455F4170705F53CA
+:105A5000746172745F4C696D697465645F446973E5
+:105A6000635F5265712C204661696C6564200D0A84
+:105A70000D0000000D0A0D2A2A20435245415445CD
+:105A800020434F4E4E454354494F4E20544F2053D0
+:105A90004552564552202A2A20200D0A0D000000AA
+:105AA0006C7AD8AC57720000123456789ABCDEF08B
+:105AB000123456789ABCDEF0FEDCBA0987654321C1
+:105AC000FEDCBA09876543210000000000000000E9
+:105AD0000000000000000000000000001E000400A4
+:105AE0000A05020112279C00F4010000FFFFFFFFDE
+:105AF000480101000020000000000000494981B079
+:105B00000A6802430A60096808400090009801B0E2
+:105B1000704778B585B0044668461421FDF73AFE13
+:105B20000220FFF7EBFF00F011F800950120019033
+:105B30000021022003900291694656F82400FEF7E6
+:105B400087F800F009F8002006B070BD0FF2F400ED
+:105B5000354E30F81450704756F82400002229467C
+:105B6000FEF734B980B500F00AF8012203E080B5F1
+:105B700000F005F80022FEF729F9002002BD0FF21F
+:105B8000C401294B31F8101053F820007047F0B5CC
+:105B900085B005460C4668461421FDF7FBFD2DB186
+:105BA000012D08BF102002D0022D02D10120FFF7E5
+:105BB000A5FF0FF298001D4F30F81500009001214D
+:105BC0000220039007EB8506029130682CB9002172
+:105BD00001916946FEF73CF820E04FF40411019171
+:105BE00007EBC5046946FEF733F80FF26C0050F876
+:105BF000251004F1240001F07CF9F268002104F181
+:105C0000240001F06FF90FF24C004457B1690022F3
+:105C10002046FDF74BFD2046FDF766FD002005B050
+:105C2000F0BD00004C000058082600204C25002044
+:105C3000002000F017B8012000F014B8022000F096
+:105C400011B8000020000100020000000100100057
+:105C500040000000060A17000000001604000016AD
+:105C6000060000167047000038B5EFF3108472B6D6
+:105C7000284D6946281D01F05BFA6946281D01F090
+:105C8000B5FA38B184F31088BDF80010224AFFF746
+:105C900035F831BD0120287084F3108831BD80B5FE
+:105CA000FFF72AF80221009100231A4800F124018D
+:105CB0004FF48052001D01F022F901BD00BFF8B57C
+:105CC00014460026EFF3108510F1010F1ED00128B5
+:105CD0001CBF02284FF0FF3618D1BCB1264672B661
+:105CE0000C4F012392B2381D01F01DF900281CBF92
+:105CF0003978002908D000223A7085F31088A1B2C3
+:105D0000054AFEF7FBFF01E085F310883046F2BD3F
+:105D10000000000008140020695C0008C06808400A
+:105D2000884201D10120704700207047C0690840B7
+:105D3000884201D1012070470020704710B5684C9F
+:105D400002212046FFF7F2FF38B16068C0438107A7
+:105D500003D5FFF7F6F8022018E001212046FFF7EF
+:105D6000E5FF38B16068C043C10703D5FFF7B1F85C
+:105D700001200BE008212046FFF7D8FF38B160680A
+:105D8000C043010703D5FFF730F90820A06010BD1C
+:105D900010B5534C02212046FFF7C0FF58B9606888
+:105DA000C043810307D5606840F400306060BDE8FF
+:105DB0001040FFF7BFB808212046FFF7AFFF70B9CA
+:105DC0006068C04301030AD56068464940F400207A
+:105DD0006060086880474FF40020A06010BD20215B
+:105DE0002046FFF79BFF58B96068C043810207D582
+:105DF000606840F400106060BDE81040FFF778B8BC
+:105E000010BD394881B0016841F48011016000681B
+:105E100000F48010009000983448016841F400714B
+:105E200001603348026842F40072026040BF20BF44
+:105E30003048016841F40041016001B0704780B50D
+:105E40002D48016841F480110160006800F4801061
+:105E5000009000982248016841F001010160026849
+:105E600042F4803202602C20FDF73EFCBDE8024087
+:105E70002D20FDF739BC214801684908490001601F
+:105E800070471F494FF48030086070471B48016815
+:105E900021F002010160704718484FF40031416061
+:105EA000016821F400310160704738B504460C4D9B
+:105EB00008212846FFF732FF30B10A4804606868BD
+:105EC00020F40020686031BDA0474FF40021A96094
+:105ED00031BD0A48016821F00801016070470000E7
+:105EE000000C0058342B002050010058D4080058F2
+:105EF000200800580C04005850000058040C0058AA
+:105F0000080C0058006040607047EFF3108172B6D3
+:105F1000026882420CBF012000201CE0EFF31082D7
+:105F200072B603680B60486001600868416023E056
+:105F3000EFF3108272B6086043684B6041604868B6
+:105F4000016019E0EFF3108172B6426803681360D4
+:105F500002684368536081F31088704710B5EFF30F
+:105F6000108472B602680A600068FFE7FFF7EAFF74
+:105F700084F3108810BD0B6082F31088704770475F
+:105F8000704700000249016002490161704700BF8B
+:105F9000F74E00081F4F00087FB50C466D4D616835
+:105FA0006D4EE8612962284601F06CF9246805F11C
+:105FB0002400FFF7A7FF746006F10800FFF7A2FFB7
+:105FC00001203070296829B10FF255100090029419
+:105FD000684688477FBD1FB55F4C04F10800FFF796
+:105FE00094FF00BB2178F1B1694604F10800FFF786
+:105FF000B5FF5848C16949B10098029001228DF857
+:10600000042001A888479DF8040000E001202070CA
+:10601000207818B10098FEF7C0FF04E0009904F161
+:106020000800FFF77BFF04F10800FFF76EFF28B9B7
+:10603000207818B104F10800FFF713FC1FBD2DE90B
+:10604000F8430646002000F05FF874883088B26894
+:10605000DFF80081C4F3090444EA8024F068A4B2A4
+:10606000C1B2204600F03CF8002748F2E809484653
+:10607000FFF7FEFB08E06888A04202D1316928786A
+:106080000870687800B1012708F12400FFF73DFF90
+:10609000F0B9694608F12400FFF760FF009800F1AD
+:1060A0000B05407A0F28E6D0B5F80110A1420DD1BA
+:1060B0000098817AC81E7169C0B28842C8BF08467C
+:1060C000706102463069E91CFBF7CAF82878D9E705
+:1060D0003800CCD0012000F017F80020BDE8F28392
+:1060E00010B513461C4A5468A4F80900E1720A4628
+:1060F000194604F10C00FBF7B3F8164A1369BDE822
+:1061000010400021002018471249096A82B008B9DE
+:1061100021B101E011B1012002B0084702B070477F
+:1061200010B50146487A0F2818BF0E2807D10B4832
+:10613000FFF7FEFEBDE810400020FFF796BB064CBF
+:1061400004F10800FFF7F4FE04F10800BDE8104078
+:10615000FFF787BB042A0020C82A0020282A002035
+:1061600023490020087700222248027100F044B839
+:1061700020490A7941F822000879401C08717047CB
+:1061800070B504466078FF2802BFB4F8031001F42C
+:106190007F41B1F5406F1FD10025154E317FE8B228
+:1061A000884222D2E9B256F82110204688470028BA
+:1061B00008BF6D1CF2D018E0761C2979F0B2884235
+:1061C0000AD2F1B255F82110204688470100F3D0D9
+:1061D00002D0022805D006E02046BDE87040FFF757
+:1061E00070B9002070BD012070BD0026014DE4E7AC
+:1061F000782A0020242B002080B501F04DF801F012
+:106200004CF801F04BF801F04AF801F049F801F0C0
+:1062100048F801F047F801F046F801F045F801F0C0
+:1062200044F801F043F801F042F801F041F801F0C0
+:1062300040F801F03FF801F03EF801F03DF8BDE80C
+:10624000014001F03AB818B50C46C7B0114600221B
+:106250008DF800208DF81C008DF81D4022460DF1B0
+:106260001E0001F02BF800F03FF83F200C21ADF8A4
+:106270000400ADF8061007A8012103900691A41CA4
+:10628000049400F041F800284CBFFF209DF8000066
+:1062900048B010BD00B5C7B000F01FF80F2000F0E7
+:1062A00028F800284CBFFF209DF8000047B000BD33
+:1062B00000B5C7B00021ADF81C008DF80010182201
+:1062C00001A801F001F8182000F013F800284CBFD5
+:1062D000FF209DF8000047B000BD00228DF800208F
+:1062E0008DF81C008DF81D101822002101A800F067
+:1062F000EBBFADF8060007A9022004903F22012061
+:1063000003910690ADF80420CDF814D0002101A827
+:10631000FFF795BE80B50FF2B92200210420FEF7E9
+:10632000F2FE0FF2792200212020FEF7ECFED34886
+:1063300000210180C18081700121C17000210171A3
+:1063400001720FF24100FFF713FFBDE802400FF2A8
+:106350003030FFF75BB80278C84912B1012A03D088
+:1063600070474088C88070470020C880087A08B10C
+:1063700000220A720020FFF7FABB00212020FEF75E
+:10638000CFBE00002DE9F84F05466878FF2812D1EE
+:10639000BA4CB5F80300618940F60442801A00F057
+:1063A0008B80801E4DD0001F06D0401F00F0B780AC
+:1063B000401E00F0DD80EBE0B5F80560207A58B1B2
+:1063C0000846FFF751F9217A062908BF0028F2D1C3
+:1063D00020724FF6FF7060816681E879297A91FB1F
+:1063E000F0F914285FFA89F9E5D14FF0100A002777
+:1063F0000FF2A8284FF64066F8B24845DBDA05EB05
+:106400000A0B9BF809009BF80A1040EA0120B042F1
+:1064100011D161894046FEF7F9FFABF10700017821
+:10642000427841EA0221A1818178C07841EA0021C5
+:10643000E181082121720AF106005FFA80FA7F1CCF
+:10644000DAE7B5F80500814202BF1126E879152880
+:106450003CD1297A0FF2B8290FF27C2B481E287202
+:106460004FF6426A4FF64168287A0028A3D0A9194E
+:1064700005F10A02487A11F8057D925D497840EAF3
+:10648000022047EA01276189404508D050450CD1D8
+:106490004846FEF7BBFF0A202072A78205E0584657
+:1064A000FEF7B4FF0920207227821536287AA0F162
+:1064B00015012972F6B2D7E7B5F80500814201BF90
+:1064C00095F808B04FF00008E879012860D100275E
+:1064D0000FF2802942F6021AF8B2B0EB9B0F57DA9E
+:1064E00005EB080005F10A01C27A467A007B11F833
+:1064F000081042EA0022524546EA012609D1618984
+:106500004846FEF783FF207A0A2802D1E6820B2153
+:10651000217208F104005FFA80F87F1CDCE7B5F80F
+:106520000500814202BFB5F80700A18A88422FD139
+:10653000687A022802BFA87A6070012828D1E87A18
+:10654000A0704CA448B9FFF712FB0FF28020FEF7B1
+:106550005DFF2046FEF75AFF1AE00FF2B020FEF76B
+:1065600055FF2046FEF752FF0020FFF7FBFA0FE031
+:106570000FF22820FEF74AFF3FA0FEF747FF608991
+:10658000B5F80510884203D100210420FEF7C8FDAC
+:106590000020BDE8F28F3948007A704710B50FF23D
+:1065A000AC20364CFEF732FF32A0FEF72FFF2079E9
+:1065B000401E8041C00F2071207A38B1218A608945
+:1065C000E31CBDE81040022200F0E5BA10BD000057
+:1065D0001CB50120ADF802000021284C207AADF84E
+:1065E0000010002844D0C01F052841D8DFE800F083
+:1065F0000308121823340FF29420FEF707FF13BD8F
+:106600000FF2A020FEF702FFE289A189608900F065
+:106610006EFA13BD0FF2B420FEF7F8FE218A04E0F3
+:106620000FF2E420FEF7F2FEA18A60898A1C92B282
+:1066300000F06EFA13BD0FF21430FEF7E7FEE18AA8
+:1066400060890DF10203022200F078FA0620207220
+:106650000220FFF78CFA13BD0FF21830FEF7D6FEBA
+:10666000E18A60896B46022200F068FA06202072F7
+:1066700013BD0000200A0D000A000000B02A00200F
+:106680002D2D2050325020434C49454E5420494E28
+:10669000495449414C495A4544200A002D2D204770
+:1066A000415454203A205032505F5345525649438A
+:1066B000455F5555494420464F554E44202D206393
+:1066C0006F6E6E656374696F6E2068616E646C6571
+:1066D0002030782578200A002D2D20474154542061
+:1066E0003A2057524954455F5555494420464F5525
+:1066F0004E44202D20636F6E6E656374696F6E204B
+:1067000068616E646C6520307825780A00000000AE
+:106710002D2D2047415454203A204E4F544946498C
+:10672000434154494F4E5F434841525F5555494498
+:1067300020464F554E4420202D20636F6E6E6563BA
+:1067400074696F6E2068616E646C6520307825789E
+:106750000A0000002D2D2047415454203A20434C7C
+:1067600049454E545F434841525F434F4E46494767
+:106770005F44455343524950544F525F5555494425
+:106780002D20636F6E6E656374696F6E2068616E35
+:10679000646C6520307825780A0000002D2D204794
+:1067A000415454203A204143495F474154545F507B
+:1067B000524F435F434F4D504C4554455F565345F0
+:1067C00056545F434F4445200A000000202D2D20E1
+:1067D000503250204150504C49434154494F4E2073
+:1067E000434C49454E54203A204E4F544946494364
+:1067F0004154494F4E205245434549564544202D6A
+:10680000204C4544204F4646200A0D00202D2D20C7
+:10681000503250204150504C49434154494F4E2032
+:10682000434C49454E54203A204E4F544946494323
+:106830004154494F4E205245434549564544202D29
+:10684000204C4544204F4E0A0D0000002D2D2050B5
+:106850003250204150504C49434154494F4E2043FF
+:106860004C49454E5420203A20425554544F4E2016
+:10687000505553484544202D2057524954452054E3
+:106880004F20534552564552200A20005032505F47
+:10689000444953434F5645525F5345525649434529
+:1068A000530A00002A2047415454203A2044697377
+:1068B000636F766572205032502043686172616365
+:1068C0007465726973746963730A00002A20474112
+:1068D0005454203A20446973636F7665722044658E
+:1068E0007363726970746F72206F66205458202D24
+:1068F00020577269746520436861726163746572C0
+:10690000697469630A0000002A2047415454203A00
+:1069100020446973636F766572204465736372699E
+:1069200070746F72206F66205278202D204E6F7425
+:10693000696669636174696F6E204368617261633F
+:10694000746572697469630A000000002A20474177
+:106950005454203A20456E61626C6520536572760E
+:106960006572204E6F74696669636174696F6E0A3F
+:10697000000000002A2047415454203A2044697303
+:1069800061626C6520536572766572204E6F746922
+:106990006669636174696F6E0A0000002DE9F84151
+:1069A000C7B04FF00008ADF81C00DDF838C14F9EAD
+:1069B000509F519D529C8DF8008007A800F01AF856
+:1069C000A0F808C0ADF8266087818DF82A508DF8B0
+:1069D0002B4000F015F84FF4C17000F016F81020AD
+:1069E00000F017F800284CBFFF209DF8000048B0C9
+:1069F000BDE8F0814180ADF82020ADF8223070472D
+:106A00001822002101A800F05FBCADF8060007A91C
+:106A1000704704903F22012003910690ADF80420B6
+:106A2000CDF814D0002101A8FFF709BB00B587B04D
+:106A300000208DF8000000F07CF840F20110ADF865
+:106A400006003F220120069000F0EDF800284CBF20
+:106A5000FF209DF8000007B000BD30B5C7B01C4650
+:106A60004A9B00F0C7F800258DF800508DF82140B2
+:106A7000224619460DF1220000F020FC00F059F8E2
+:106A80003F204FF4837100F0BCF8A41D049400F083
+:106A9000CCF800284CBFFF209DF8000047B030BD67
+:106AA0000023ADF81C008DF8003007A841808280DB
+:106AB0000021182201A800F007BC00B5C7B000F003
+:106AC00010F8FFF7F6FF0F2102914FF489700221B1
+:106AD00000F0A1F800284CBFFF209DF8000047B04F
+:106AE00000BD0021ADF81C008DF80010704700B506
+:106AF000C7B0FFF7D5FF0F21029140F2151000F04B
+:106B000089F800284CBFFF209DF8000047B000BD69
+:106B100000B5C7B0FFF7C4FF0F21029140F2171074
+:106B200000F078F800284CBFFF209DF8000047B027
+:106B300000BD1822002101A800F0C6BB18B5C7B0DF
+:106B400000F011F800F045F8FFF7F3FF40F22111D3
+:106B500000F013F800F069F800284CBFFF209DF802
+:106B6000000048B010BD1446ADF81C00002207A874
+:106B70008DF80020418004717047ADF806103F2069
+:106B800007A9ADF8040003910F200121029006919E
+:106B9000641D0494704718B5C7B000F010F8FFF7F3
+:106BA000C8FF3F2040F2231100F019F800F03DF833
+:106BB00000284CBFFF209DF8000048B010BD1446CF
+:106BC00000228DF80020ADF81C00ADF81E108DF8E5
+:106BD0002040224619460DF1210000F06FBBADF8B0
+:106BE0000400ADF8061007A8012103900691641D6A
+:106BF00004947047ADF81C00ADF81E108DF82020ED
+:106C00007047ADF80400ADF8061007A80121039005
+:106C1000069170470621ADF80600049107A80121EE
+:106C20003F2203900691ADF80420CDF814D0002146
+:106C300001A8FFF704BA00B587B000F010F80120F2
+:106C400003220690ADF80420ADF8062000F011F8FC
+:106C500000284CBFFF209DF8000007B000BD0020B9
+:106C60008DF800001822002101A800F02DBB039030
+:106C70000691CDF814D0002101A8FFF7E0B900B5C6
+:106C8000C7B000F00CF8852000F0FCF800F0AEF87A
+:106C900000284CBFFF209DF8000047B000BD002138
+:106CA0008DF81C008DF80010182201A800F00CBB14
+:106CB0002DE9F841C7B04FF0000800F026F80DF1BB
+:106CC0002300DDF844E14E9F4F9E509D529C8DF86D
+:106CD0001F30C0F800E08DF800808DF820708DF82E
+:106CE00021608DF822508DF8274000F0EFF88620C3
+:106CF000ADF8060007A90C2000F074F800284CBF7E
+:106D0000FF209DF8000000F0E6B88DF81C0007A8F1
+:106D1000417082707047F8B5C8B005460E461746F8
+:106D20001C4600F023F808A8467087708DF82050A4
+:106D300000F0C7F88A21ADF80A103F20032100F0C7
+:106D4000B3F8002848BFFF200ED49DF8000058B9C2
+:106D50004F994E98BDF801202280BDF80320028093
+:106D6000BDF805000880002049B0F0BD07220021D1
+:106D7000684600F0A9BA00B587B000F0AFF800F09F
+:106D8000A5F8922000F009F800F030F800284CBF78
+:106D9000FF209DF8000007B000BDADF806003F22BF
+:106DA0000120704718B5C7B000F011F800F08EF858
+:106DB0000F2102919720062100F06DF800F017F8DE
+:106DC00000284CBFFF209DF8000048B010BD0024F3
+:106DD000ADF81C008DF8213007A8418002718DF8B4
+:106DE0000040704704903F22012003910690ADF8C7
+:106DF0000420CDF814D0002101A8FFF720B92DE917
+:106E0000F04F0646C7B008461946559CDDF840913C
+:106E1000519DDDF848B1539FDDF85081DDF858A150
+:106E2000ADF81C60002307AE8DF800307080327121
+:106E30000DF12100062200F041FA8DF82790B5816E
+:106E4000ADF82AB03782ADF82E80B482ADF832A00A
+:106E500000F03CF83F20ADF804009C210F20029088
+:106E6000ADF806101820049007A9012003910690A0
+:106E7000FFF7BFFF00284CBFFF209DF8000047B080
+:106E8000BDE8F08FADF8060007A901203F2203916D
+:106E9000049070470321ADF80600049107A8012172
+:106EA0003F22039006917047ADF80800059108A8AD
+:106EB000072104900791CDF818D0002102A8FFF710
+:106EC000BEB81822002102A800F0FEB91822002145
+:106ED00001A800F0F9B948B0BDE8F08100208DF8B4
+:106EE000000070470346002009B95A60704701202E
+:106EF000704708B90120704701600020704710B545
+:106F0000029C016042600021C160016141618161B8
+:106F10000381A107047704D5008910B14FF0FF3039
+:106F200010BD002010BD2DE9F04F064685B0308918
+:106F30000C460027BB4600287169DC460CBF4FF0A9
+:106F40000208D84681B168B930697768451CBD42EE
+:106F500028BFED1B3768385C7D5D00EB0527BF1C43
+:106F6000BFB203E0074600E000B102463069F568B1
+:106F7000A84223BF7568281AC01B0020154608EBDD
+:106F8000050903FB09FE864532BF0020B0FBF9FA74
+:106F900009FB1A00C0B2804509DA96F81C905FEA36
+:106FA000C97A48BF84465FEA897048BFC44610006A
+:106FB00000F0B4807068714461448842C0F0AE80D3
+:106FC00008EB020080B20390D946100AADF8020027
+:106FD0000294ADF80020049359E0800740D5308931
+:106FE000002840F09B803268D018A34600F8024C7D
+:106FF000200A32681A4402F8010C2246306818440C
+:10700000FAF72EF9706920187061B069019C401C74
+:10701000B061200A31680C70316848701CE08CB394
+:10702000307FC207D9D5308940B931681944FF2073
+:1070300001F8020C3168194401F8010C4FF0000B03
+:107040007069241874612C463089002340B9316876
+:107050000C70210A3068417002237069801C7061D5
+:1070600008EB04070021BFB231615CB1DA44029839
+:1070700000EB0A01306822461844FAF7F1F870690B
+:107080002418746109F10109B069401CB061049AC7
+:1070900070683169914545D2791881422CBF081A30
+:1070A0000846306103463089A0B93068BDF8001049
+:1070B000C1545B1C70683168834228BF1B1ABDF83D
+:1070C0000200C8545B1C7068834228BF1B1A706999
+:1070D000801C706105FB09FA7468BDF80000E41AB1
+:1070E000844288BF0446029800EB0A01281BAC4288
+:1070F000019003D093D2307F002890D13768224688
+:10710000F818FAF7ADF8706920187061A346019C71
+:10711000039F0023A9E73068404400E0002005B049
+:10712000BDE8F08F88448045F5D3A8EB0008F2E76E
+:10713000F8B5024600231089546900280CBF0225C7
+:1071400000250026002C4DD060B9D36857685E1C1E
+:10715000BE4228BFF61B1768FB5CBE5D03EB06262C
+:10716000B6B200E00646137F03F00303012B23D1E0
+:107170004FF6FF77BE4208BF002808D0D3681769D2
+:107180009F4219D2C0B15768FB1A834214D2566885
+:10719000D368A41B1C1900235461D36058B910682C
+:1071A0000378012E94BFC6F101060126805D03EB32
+:1071B0000026B6B200E00646D76854681368E8199E
+:1071C000A04228BF001B03445069801B401B506134
+:1071D00005D0F719ED19A54228BF2D1BD560906980
+:1071E000401E906101B10E801846F2BDF8B502460E
+:1071F00000241089536900280CBF022500250026B1
+:10720000002B3AD0D468234658B95768661CBE4252
+:1072100028BFF61B176817F804C0BE5D0CEB0626E6
+:1072200000E00646177F07F00307012F1ED1B7B213
+:107230004FF6FF7C674508BF002807D15068002340
+:10724000012894BFC0F1010001200AE01769A7429C
+:107250000CD258B157683C1B844207D20023064623
+:1072600004E014682678205C06EB00265068ED18D0
+:10727000854228BF2D1A1068441901B10E8020469E
+:10728000F2BD00000249016002490161704700BF80
+:10729000974E0008BD4E0008704770477047704712
+:1072A0007047704770477047704770477047704726
+:1072B00070477047704770477047704710B5044675
+:1072C000F9F7CEFF204610BD10B5044610460A4619
+:1072D0000146204600F002F8204610BD62F30F225E
+:1072E00062F31F42401810F0030308D0C91A1FD3DD
+:1072F000DB0748BF00F8012D28BF20F8022D13003E
+:1073000030B414461546103928BF20E93C00FAD89D
+:10731000490728BF20E90C0048BF40F8042D890028
+:1073200028BF20F8022D48BF00F8012D30BC70475F
+:10733000C91818BF00F8012DCB0728BF00F8012D90
+:107340007047000010B50446AFF30080204600F0FF
+:1073500005F80446AFF30080204610BD7CB500F16F
+:107360000F06F608F600B04240D2082E04D20826D6
+:1073700002E0083000F047F8DFF804512C682100E3
+:1073800005D1002007E00268B24221D2011D086841
+:107390000028F8D12068291D0A68824222D013688B
+:1073A000B34238BF111DF7D312E093190B60801B55
+:1073B00054685C600B6818601660096800291DBF7E
+:1073C00048680028081D0020286002F1080076BDEA
+:1073D00061B10A681068A0F10803B342E5D25068B1
+:1073E0000860EAE700F04EF80028C2D1002076BD20
+:1073F00010B5040006D0AFF30080204600F003F87B
+:10740000AFF3008010BD002800D1704750B4A0F148
+:1074100008021368072B2BD913F0070F28D1184C3B
+:10742000616809B18A4202D25160626013E0486823
+:1074300000B3904238BF0146F9D31BE0964203D116
+:107440001B180B600A4606E0486810B113449842C6
+:107450000ED350604A60506850B11368D118814211
+:1074600006D1002121600168CB181360406850608C
+:1074700050BC704708680E18B242DFD250BC70474B
+:107480001C2B00200749086808B1002070470648F7
+:10749000C008C00008600549C908C900091A016090
+:1074A000704700BF482B00200F1000200814002058
+:1074B0001349002008604FF4E0221248016841F4AB
+:1074C000700101604FF0B041086840F001000860B1
+:1074D0008A600D480A6802400C480A60036823F07D
+:1074E00005030360426852085200426000220848C7
+:1074F000C860086820F4802008608A617047000036
+:1075000008ED00E088ED00E0FBFEF6FA940000587C
+:10751000001004220100000003000000050000002C
+:107520000100000001000000060000000A00000049
+:10753000200000000200000004000000080000001D
+:10754000100000004000000080000000000100006A
+:1075500000020000A0860100400D0300801A060012
+:1075600000350C0040420F0080841E0000093D00E1
+:1075700000127A000024F40000366E010048E80191
+:10758000006CDC02000000000000000000000000B1
+:10759000000000002DE9F04107468846387810F0D9
+:1075A000030F16461D4633D0384600F099F878BBD5
+:1075B000B8F1000F1CBFD8E900018619012D2ED1AA
+:1075C0003888C10415D5396A07F14402384600F0FD
+:1075D000A3F83A6B044602B93A69F968384600F0F4
+:1075E0009BF8361B341A7A69F968384600F094F82B
+:1075F000261A1EB94DB916F1010F09D097F90300EB
+:107600002A46314600F08EF8064616F1010F09D1E0
+:107610002320AFF300804FF0FF30BDE8F081022D52
+:10762000E8D1EBE7388810F4405F0ED07868F86056
+:1076300038617861B8617868F86107F144003862B0
+:1076400007F13000786200203863B8F1000F05D0F0
+:10765000D8E9020107F13402C2E9000139884CF689
+:10766000FF60014039800020BDE8F08170B505461B
+:10767000AFF300802888810415D56E680024EA687D
+:1076800095F903003146914212D2521AFEF716FBC9
+:1076900010F1010F1CBF00283618F0D10FE04DF695
+:1076A000FF70014029802846AFF30080002070BDA4
+:1076B00000220021FEF702FB10F1010F00D101248E
+:1076C0006868E860A861E861002C2988E7D041F487
+:1076D000007129802846AFF300804FF0FF3070BD65
+:1076E000F8B5A0B9AFF3008000250A4E08244FF08A
+:1076F000FF37306820B1FFF7B9FF002848BF3D468B
+:10770000361D641EF5D1AFF300802846F2BDBDE8FA
+:10771000F240ABE7E8250020914234BF511A002126
+:10772000084670473EB504000D00012A02D100F062
+:1077300063F807E0022A07D100940020019069460F
+:107740000C20ABBE2D1801E0002A0CD1009401954D
+:1077500069460A20ABBE002805D10022210028007E
+:1077600000F027F801E00020C04303B030BD000066
+:1077700010B4314A002113461C6884421EBF491CC4
+:107780009C6884421EBF491C1C69844209D09C69C4
+:10779000491C844205D0491C20331029ECD310BC6D
+:1077A0007047002342F8313002EBC1014B6010BC3E
+:1077B000704778B4204C002325462E688E421EBFA9
+:1077C0005B1CAE688E421EBF5B1C2E698E4209D0C8
+:1077D000AE695B1C8E4205D05B1C2035102BECD3B0
+:1077E00072BC7047054604EBC303012A04BF596805
+:1077F0004D195D6072BC704710B40F4A00211346EA
+:107800001C6884421EBF491C9C6884421EBF491CE0
+:107810001C6984420AD09C69491C844206D0491CD8
+:1078200020331029ECD310BC0020704702EBC100BC
+:10783000406810BC704700004828002010B504467E
+:10784000E068A169884251D3218849F202030B40C4
+:10785000022B08D008044CBF4FF400704FF4844052
+:10786000014321803BE001F4C042B2F5C04F06D194
+:10787000A168884203D32046FFF732FF78BB2088F7
+:1078800010F4406F02BF606804F14401884217D1D0
+:107890004FF40070FFF756FD606030B904F144000A
+:1078A0006060E060401CA0600AE0218841F0400177
+:1078B0002180E060606100F500726068A260E061B4
+:1078C00060682061A068A061207841070AD5022283
+:1078D0000021204600F00CF810F1010F02D14FF00A
+:1078E000FF3010BD208840F4C0402080002010BD33
+:1078F00070B504460D461646AFF3008033462A465F
+:1079000000212046FFF746FE05462046AFF30080E3
+:10791000284670BD2DE9FC4D016800F108054908B5
+:1079200005EBC102019200F10802406800F0010A73
+:1079300002EBC108400808EBC00B00200021019AAF
+:1079400095422FD02A68AE186A68324400920835F2
+:10795000009A9642F3D016F9014B009A964205D14F
+:107960002A68AE186A6832440092083516F8017B1E
+:10797000884210D1D84508BFFAF79DF9D8F8000021
+:10798000D8F80410BAF1000F18BF484401448842E7
+:1079900008F10808EED0002C00F8017B05D5641C26
+:1079A000E6D1D5E75846BDE8F68D641ED5D5CFE7BC
+:1079B00038B504000ED0207810F0030F03D094F9EE
+:1079C0000300002809D5AFF30080204600F030F80E
+:1079D000AFF300804FF0FF3032BD2046FFF780FE4E
+:1079E0000546AFF300802078410644BF606800F090
+:1079F0005DF80020606094F90300022804D900F0CB
+:107A000057F808B14FF0FF35E06B48B100F05CF873
+:107A100008B14FF0FF35E06B00F048F80020E0635C
+:107A2000204600F005F8AFF30080284632BD000084
+:107A300001780A0626D51C4A13680021834203D127
+:107A4000002342F821301BE05368012183421EBF0E
+:107A5000022193688342F3D0D368032183421EBF7F
+:107A6000042113698342EBD05369052183421EBF71
+:107A70000621936983421EBF0721D3698342DFD069
+:107A800000F014B8002101804FF0FF31C17000F107
+:107A900044014160C160016141618161C161016274
+:107AA00000F1300141627047E8250020FFF7A0BCDB
+:107AB0001CB50200009269460220ABBE0400100013
+:107AC000FFF756FE200016BDE0B50090F9F77AFBEF
+:107AD000019069460E20ABBE03B000BD38B50C4620
+:107AE000C5B22046AFF30080E068A169884204D3A4
+:107AF0002046FFF7A3FE00280FD4E068401CE0609A
+:107B000000F8015D2088010503D440050BD50A2D3E
+:107B100009D12046FFF7E4FD28B12046AFF30080ED
+:107B20004FF0FF3032BD2046AFF30080284632BD13
+:107B300000F024F8012810D00D4880470D48004778
+:107B4000F0B543464C4655465E466746F8B40A4C87
+:107B50006B462360BFF34F8F30BF074C2468A546A8
+:107B6000F8BC9846A146AA46B346BC46F0BD000004
+:107B7000B1740008957D00083C2B002002490020CC
+:107B80000860704700000000402B0020FEE7FEE781
+:107B9000FEE7FEE7FEE770477047704700F01CB84D
+:107BA000FCF77FBE0248FAF7D1BF0248FAF7E7B9FF
+:107BB000C828002024260020FEF7C0B8FEF7E8B849
+:107BC00000F012B80120FCF708B91020FCF705B945
+:107BD0004020FCF702B90000024841680278891889
+:107BE00041607047142600200449C8680A6882432F
+:107BF0000A60486000F004B800000000001500585A
+:107C0000704719E050F8042BD30744BFA9F10103D2
+:107C10009A18091F0023042942F8043BF9D25FEAAD
+:107C2000817C134604D54FF0000CA2F800C09B1CC9
+:107C3000C90744BF0021197050F8041B0029E1D185
+:107C40007047000038B50D4D0824286800281CBF77
+:107C5000017811F0030F05D090F90310002958BFE7
+:107C6000FFF7A6FE2D1D641EEFD1BDE838400022AF
+:107C700000214FF0FF30FEF721B800BFE8250020BB
+:107C800010B5074979441831064C7C44163404E099
+:107C90000A68081D114488470146A142F8D110BD69
+:107CA0002C000000780000004EF68851CEF2000152
+:107CB000086840F470000860BFF34F8FBFF36F8F08
+:107CC0004FF00070E1EE100A7047000037FFFFFF31
+:107CD0002C0500002426002070080000300003203E
+:107CE0000000000031FCFFFF020000000200000065
+:107CF0004C010000020000002800032008000000E2
+:107D000015FCFFFF0200000002000000320100002D
+:107D100057010000081400201C12000000000000A1
+:107D20000000000000000000000000000100000052
+:107D300002000000030000000400000000F00DF845
+:107D4000002801D0FFF79CFFAFF300800020AFF3C5
+:107D50000080FBF7FEFD00F002F80120704700F004
+:107D600001B800000746FFF76DFF3846FAF75CF8E8
+:107D7000FBE738B504460D46284600F005F8A84252
+:107D800018BF0024204632BD0149FFF7A7BE00BF3F
+:107D9000BC240020AFF30080FFF786FFFFF7CEFF83
+:107DA00000002E004300FFF7FEBFFFF7FEBFFFF706
+:107DB000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7F7
+:107DC000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7E7
+:107DD000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7D7
+:107DE000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7C7
+:107DF000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7B7
+:107E0000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7A6
+:107E1000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF796
+:107E2000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF786
+:107E3000FEBFFFF7FEBFFFF7FEBF0000F800000126
+:107E4000810081008100810081008100810081002A
+:107E5000810081008100810081008100810081001A
+:107E6000810081008100810081008100810081000A
+:107E700081008100810081008100810081008100FA
+:107E8000BD0004A47D000801FD000388250020D862
+:107E90000003E5100008FC0004D310000801F900FD
+:107EA0001301040000B8240020B9240020B82400E5
+:107EB00020B8240020FC0003B8240020FC0007B8F0
+:107EC000240020A4240020E00013020401017829EA
+:107ED0000020C82900207829002078290020FC00F3
+:107EE0000378290020FB0006250020EC240020E078
+:107EF00000130208020228290020782900202829DE
+:107F0000002028290020FC000328290020FC00076D
+:107F10004825002034250020DD00044800100048DA
+:107F2000FD000D48315C0008375C00083D5C00082E
+:107F30000FFD00000FFD00000FE5001BA07D0008F5
+:107F4000A07D0008A07D0008A07D0008A07D00089D
+:107F5000A07D0008A07D0008F8FF0BA27D0008A00E
+:107F60007D0008A07D0008FAFFEA00F8FFF4000B8E
+:107F700074240020BC24002004250020EB000B0406
+:107F80000048000400480004004801F9000010FC0B
+:057F90000002093D00A4
+:0400000508007D95DD
:00000001FF
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_conf.h
index 38696e563..493459cdb 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -252,6 +252,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -261,11 +265,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -273,6 +281,18 @@
#define CFG_BLE_MAX_TX_POWER (0)
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+ * which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -429,8 +449,9 @@
#endif
-/** tick timer value in us */
+/** tick timer values */
#define CFG_TS_TICK_VAL DIVR( (CFG_RTCCLK_DIV * 1000000), LSE_VALUE )
+#define CFG_TS_TICK_VAL_PS DIVR( ((uint64_t)CFG_RTCCLK_DIV * 1e12), (uint64_t)LSE_VALUE )
typedef enum
{
@@ -549,11 +570,11 @@ typedef enum
CFG_TASK_SEARCH_SERVICE_ID,
CFG_TASK_CONN_UPDATE_ID,
CFG_TASK_HCI_ASYNCH_EVT_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
CFG_TASK_SW1_BUTTON_PUSHED_ID,
CFG_TASK_SW2_BUTTON_PUSHED_ID,
CFG_TASK_SW3_BUTTON_PUSHED_ID,
-/* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITH_HCICMD, /**< Shall be LAST in the list */
} CFG_Task_Id_With_HCI_Cmd_t;
@@ -562,11 +583,12 @@ typedef enum
{
CFG_FIRST_TASK_ID_WITH_NO_HCICMD = CFG_LAST_TASK_ID_WITH_HCICMD - 1, /**< Shall be FIRST in the list */
CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
-/* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITHO_NO_HCICMD /**< Shall be LAST in the list */
} CFG_Task_Id_With_NO_HCI_Cmd_t;
+
#define CFG_TASK_NBR CFG_LAST_TASK_ID_WITHO_NO_HCICMD
/**
@@ -599,9 +621,9 @@ typedef enum
{
CFG_LPM_APP,
CFG_LPM_APP_BLE,
- /* USER CODE BEGIN CFG_LPM_Id_t */
+ /* USER CODE BEGIN CFG_LPM_Id_t */
- /* USER CODE END CFG_LPM_Id_t */
+ /* USER CODE END CFG_LPM_Id_t */
} CFG_LPM_Id_t;
/******************************************************************************
@@ -612,5 +634,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_entry.h
index 008724b5c..4f47130d3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -70,5 +70,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_conf.h
index 8d9ecd40f..9ab15a5c6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -215,5 +215,3 @@
#define CFG_HW_USART1_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/main.h
index 8dd24a564..20ea9d15a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,5 +75,3 @@ void MX_USART1_UART_Init(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32_lpm_if.h
index d8e67947f..45c31caa5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
-* @file stm32_lpm_if.h
-* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
-* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
-* This software component is licensed by ST under BSD 3-Clause license,
-* the "License"; You may not use this file except in compliance with the
-* License. You may obtain a copy of the License at:
-* opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +77,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_hal_conf.h
index 241a52197..4d222698e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_it.h
index 86521af11..c1e2f2a3b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -74,5 +73,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_debug.c
index 562e3a22c..852be7f8e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -43,7 +43,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -128,8 +128,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -413,5 +421,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_entry.c
index b0658e5f2..ad9ff8cd1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -29,6 +29,8 @@
#include "shci_tl.h"
#include "stm32_lpm.h"
#include "app_debug.h"
+#include "dbg_trace.h"
+#include "shci.h"
#include "otp.h"
/* Private includes -----------------------------------------------------------*/
@@ -76,6 +78,8 @@ static void SystemPower_Config( void );
static void appe_Tl_Init( void );
static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
static void Init_Rtc( void );
/* USER CODE BEGIN PFP */
@@ -157,9 +161,8 @@ void Init_Smps( void )
void Init_Exti( void )
{
- /**< Disable all wakeup interrupt on CPU1 except IPCC(36), HSEM(38) */
- LL_EXTI_DisableIT_0_31(~0);
- LL_EXTI_DisableIT_32_63( (~0) & (~(LL_EXTI_LINE_36 | LL_EXTI_LINE_38)) );
+ /* Enable IPCC(36), HSEM(38) wakeup interrupts on CPU1 */
+ LL_EXTI_EnableIT_32_63( LL_EXTI_LINE_36 & LL_EXTI_LINE_38 );
return;
}
@@ -358,12 +361,151 @@ static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
*/
static void APPE_SysUserEvtRx( void * pPayload )
{
- UNUSED(pPayload);
- /* Traces channel initialization */
- APPD_EnableCPU2( );
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+/**
+ * @brief Notify a system error coming from the M0 firmware
+ * @param ErrorCode : errorCode detected by the M0 firmware
+ *
+ * @retval None
+ */
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT)
+ {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON - ERR_BLE_INIT \n");
+ }
+ else
+ {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON - BLE ERROR \n");
+ }
+ return;
+}
+
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+ }
+ else
+ {
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - UNEXPECTED CASE \n");
+ }
- APP_BLE_Init( );
- UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
return;
}
@@ -464,6 +606,8 @@ void UTIL_SEQ_Idle( void )
void UTIL_SEQ_EvtIdle( UTIL_SEQ_bm_t task_id_bm, UTIL_SEQ_bm_t evt_waited_bm )
{
UTIL_SEQ_Run( UTIL_SEQ_DEFAULT );
+
+ return;
}
void shci_notify_asynch_evt(void* pdata)
@@ -508,4 +652,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_uart.c
index 6ae6ff9f9..43c681c1c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/hw_uart.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Src/hw_uart.c
- * Description : HW UART source file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file hw_uart.c
+ * @author MCD Application Team
+ * @brief HW UART source file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -316,5 +315,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/main.c
index b912f1bf3..fa5de8b57 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -72,6 +72,7 @@ DMA_HandleTypeDef hdma_usart1_tx;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -105,6 +106,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* IPCC initialisation */
MX_IPCC_Init();
@@ -143,7 +147,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Configure LSE Drive Capability
*/
@@ -179,15 +182,23 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP
- |RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART1;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
- PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP;
PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_LSE;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSE;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -374,5 +385,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/standby_stm32wb15.c
index 860d64190..8b7b942d6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -164,4 +163,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_hal_msp.c
index ae7e237cc..5ed0b2be9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -143,6 +142,7 @@ void HAL_IPCC_MspDeInit(IPCC_HandleTypeDef* hipcc)
*/
void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hrtc->Instance==RTC)
{
/* USER CODE BEGIN RTC_MspInit 0 */
@@ -156,6 +156,15 @@ void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
__HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); /**< Select LSI as RTC Input */
/* USER CODE END RTC_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
+ PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_RTC_ENABLE();
__HAL_RCC_RTCAPB_CLK_ENABLE();
@@ -204,11 +213,21 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -289,5 +308,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_it.c
index 33d5a81b6..7dd965b4a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -321,4 +320,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/system_stm32wbxx.c
index c0af3469e..1394ae132 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/BLE_p2pClient.ewp b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/BLE_p2pClient.ewp
index 7f1b2449f..83f51c8df 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/BLE_p2pClient.ewp
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/BLE_p2pClient.ewp
@@ -1126,64 +1126,64 @@
<group>
<name>STM32WBxx_HAL_Driver</name>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_gpio.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_cortex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_exti.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_tim.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_tim_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</name>
</file>
</group>
</group>
@@ -1192,65 +1192,65 @@
<group>
<name>STM32_WPAN</name>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\tl_mbox.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\shci\shci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\dbg_trace.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\otp.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/otp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_list.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_list.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_queue.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\template\osal.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\svc_ctl.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gap_aci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gatt_aci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hal_aci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hci_le.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_l2cap_aci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl_if.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl_if.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</name>
</file>
</group>
</group>
<group>
<name>Utilities</name>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\lpm\tiny_lpm\stm32_lpm.c</name>
+ <name>$PROJ_DIR$/../../../../../../Utilities/lpm/tiny_lpm/stm32_lpm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\sequencer\stm32_seq.c</name>
+ <name>$PROJ_DIR$/../../../../../../Utilities/sequencer/stm32_seq.c</name>
</file>
</group>
</project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/stm32wb15xx_flash_cm4.icf
index 56d9d33c5..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/startup_stm32wb15xx_cm4.s
index f7cdf820d..3b925699a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 72feb3a18..4e53aee02 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -45,7 +44,7 @@ _Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 110K
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c
index 270de2bab..fffd65634 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.c
- * Description : Application file for BLE Middleware.
- *
- *****************************************************************************
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -256,26 +255,27 @@ void APP_BLE_Init( void )
{
{{0,0,0}}, /**< Header unused */
{0, /** pBleBufferAddress not used */
- 0, /** BleBufferSize not used */
- CFG_BLE_NUM_GATT_ATTRIBUTES,
- CFG_BLE_NUM_GATT_SERVICES,
- CFG_BLE_ATT_VALUE_ARRAY_SIZE,
- CFG_BLE_NUM_LINK,
- CFG_BLE_DATA_LENGTH_EXTENSION,
- CFG_BLE_PREPARE_WRITE_LIST_SIZE,
- CFG_BLE_MBLOCK_COUNT,
- CFG_BLE_MAX_ATT_MTU,
- CFG_BLE_SLAVE_SCA,
- CFG_BLE_MASTER_SCA,
- CFG_BLE_LSE_SOURCE,
- CFG_BLE_MAX_CONN_EVENT_LENGTH,
- CFG_BLE_HSE_STARTUP_TIME,
- CFG_BLE_VITERBI_MODE,
- CFG_BLE_OPTIONS,
- 0,
- CFG_BLE_MAX_COC_INITIATOR_NBR,
- CFG_BLE_MIN_TX_POWER,
- CFG_BLE_MAX_TX_POWER}
+ 0, /** BleBufferSize not used */
+ CFG_BLE_NUM_GATT_ATTRIBUTES,
+ CFG_BLE_NUM_GATT_SERVICES,
+ CFG_BLE_ATT_VALUE_ARRAY_SIZE,
+ CFG_BLE_NUM_LINK,
+ CFG_BLE_DATA_LENGTH_EXTENSION,
+ CFG_BLE_PREPARE_WRITE_LIST_SIZE,
+ CFG_BLE_MBLOCK_COUNT,
+ CFG_BLE_MAX_ATT_MTU,
+ CFG_BLE_SLAVE_SCA,
+ CFG_BLE_MASTER_SCA,
+ CFG_BLE_LSE_SOURCE,
+ CFG_BLE_MAX_CONN_EVENT_LENGTH,
+ CFG_BLE_HSE_STARTUP_TIME,
+ CFG_BLE_VITERBI_MODE,
+ CFG_BLE_OPTIONS,
+ 0,
+ CFG_BLE_MAX_COC_INITIATOR_NBR,
+ CFG_BLE_MIN_TX_POWER,
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
};
/**
@@ -984,13 +984,15 @@ static void BLE_UserEvtRx( void * pPayload )
svctl_return_status = SVCCTL_UserEvtRx((void *)&(pParam->pckt->evtserial));
if (svctl_return_status != SVCCTL_UserEvtFlowDisable)
-{
+ {
pParam->status = HCI_TL_UserEventFlow_Enable;
-}
+ }
else
-{
+ {
pParam->status = HCI_TL_UserEventFlow_Disable;
}
+
+ return;
}
static void BLE_StatusNot( HCI_TL_CmdStatus_t status )
@@ -1033,5 +1035,3 @@ void SVCCTL_ResumeUserEventFlow( void )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.h
index 45b845035..ca8a43340 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.h
- * Description : Application configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -91,5 +90,3 @@ void APP_BLE_Key_Button3_Action(void);
#endif
#endif /*APP_BLE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_conf.h
index f664efd08..f4ea6dc59 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,4 +63,3 @@
#define BLE_CFG_GAP_APPEARANCE (BLE_CFG_UNKNOWN_APPEARANCE)
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_dbg_conf.h
index 7e393c676..91f670e3c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -197,5 +196,3 @@
#endif
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.c
index 6457f692c..a61e7ce93 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.c
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/p2p_client_app.c
- * Description : P2P Client Application
- ******************************************************************************
+ ******************************************************************************
+ * File Name : App/p2p_client_app.c
+ * Description : P2P Client Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -119,7 +118,7 @@ typedef struct{
typedef struct
{
- uint8_t Notification_Status; /* used to chek if P2P Server is enabled to Notify */
+ uint8_t Notification_Status; /* used to check if P2P Server is enabled to Notify */
P2P_LedCharValue_t LedControl;
P2P_ButtonCharValue_t ButtonStatus;
@@ -689,7 +688,7 @@ void Update_Service()
aP2PClientContext[index].P2PServiceHandle,
aP2PClientContext[index].P2PServiceEndHandle);
break;
- case APP_BLE_DISCOVER_WRITE_DESC: /* Not Used - No decriptor */
+ case APP_BLE_DISCOVER_WRITE_DESC: /* Not Used - No descriptor */
APP_DBG_MSG("* GATT : Discover Descriptor of TX - Write Characteritic\n");
aci_gatt_disc_all_char_desc(aP2PClientContext[index].connHandle,
aP2PClientContext[index].P2PWriteToServerCharHdle,
@@ -727,4 +726,3 @@ void Update_Service()
}
/* USER CODE END LF */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.h
index 4664ffb83..04a0b3819 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/p2p_client_app.h
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/p2p_client_app.h
- * Description : Header for p2p_server_app.c module
- ******************************************************************************
+ ******************************************************************************
+ * File Name : App/p2p_client_app.h
+ * Description : Header for p2p_server_app.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -79,4 +78,3 @@ void P2PC_APP_SW1_Button_Action(void);
#endif /*__P2P_APPLICATION_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/tl_dbg_conf.h
index bd808a41b..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..57294e04f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,6 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +700,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/readme.txt
index a7b094af4..0e404a828 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pClient/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE_p2pClient application
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/BLE_p2pServer.ioc b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/BLE_p2pServer.ioc
index a77bc0728..36955e717 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/BLE_p2pServer.ioc
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/BLE_p2pServer.ioc
@@ -58,8 +58,8 @@ Mcu.PinsNb=16
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.3.0
-MxDb.Version=DB.6.0.30
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel4_IRQn=true\:15\:0\:true\:false\:true\:false\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -108,6 +108,8 @@ ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32WB15CCUx
+ProjectManager.Example=BLE_p2pServer
+ProjectManager.ExampleSource=CubeFw
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x400
@@ -218,5 +220,3 @@ VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TINY_LPM_VS_TINY_LPM.Mode=TINY_LPM_Enabled
VP_TINY_LPM_VS_TINY_LPM.Signal=TINY_LPM_VS_TINY_LPM
board=custom
-ProjectManager.Example=BLE_p2pServer
-ProjectManager.ExampleSource=CubeFw
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Binary/BLE_p2pServer_reference.hex b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Binary/BLE_p2pServer_reference.hex
index 061089b4d..d725d5699 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Binary/BLE_p2pServer_reference.hex
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Binary/BLE_p2pServer_reference.hex
@@ -1,24 +1,24 @@
:020000040800F2
-:1000000008100020DD770008397800083B780008E8
-:100010003D7800083F7800084178000800000000A3
-:10002000000000000000000000000000437800080D
-:10003000457800080000000047780008497800086B
-:10004000537A0008577A00085B7A00087F78000826
-:100050005F7A0008637A00086D780008677A000804
-:100060006B7A00086F7A000873780008737A0008CA
-:10007000777A00087B7A00084D7800087F7A0008BC
-:10008000837A0008877A00088B7A00080000000055
-:10009000000000008F7A0008937A00087978000841
-:1000A000977A00089B7A00089F7A0008A37A0008D4
-:1000B000A77A0008AB7A0008AF7A0008B37A000884
-:1000C0000000000000000000B77A000800000000F7
-:1000D00053780008BB7A000800000000BF7A0008CF
-:1000E000C37A0008C77A000800000000CB7A000835
-:1000F000617800086578000869780008CF7A000800
-:10010000D37A00080000000000000000000000009A
-:10011000D77A0008DB7A0008DF7A000800000000C8
+:100000000810002059800008B5800008B78000085B
+:10001000B9800008BB800008BD8000080000000017
+:10002000000000000000000000000000BF80000889
+:10003000C180000800000000C3800008C5800008DF
+:10004000CF820008D3820008D7820008C980000848
+:10005000DB820008DF820008ED800008E3820008F0
+:10006000E7820008EB820008F3800008EF820008B6
+:10007000F3820008F7820008CD800008FB820008A8
+:10008000FF820008038300080783000800000000C7
+:10009000000000000B8300080F830008F9800008AF
+:1000A00013830008178300081B8300081F830008C0
+:1000B00023830008278300082B8300082F83000870
+:1000C0000000000000000000338300080000000072
+:1000D000D380000837830008000000003B8300083D
+:1000E0003F830008438300080000000047830008A6
+:1000F000E1800008E5800008E98000084B830008E3
+:100100004F83000800000000000000000000000015
+:1001100053830008578300085B8300080000000039
:1001200000000000000000000000000000000000CF
-:100130000000000000000000E37A00082DE9F84FFD
+:1001300000000000000000005F8300082DE9F84F78
:100140000FF2D017A2B0D7E90045CDE900452C9EAB
:10015000DFF82C7C04918DF8436000210FF2BC1471
:100160000D9112944FF0FF368246904699460FE06B
@@ -281,7 +281,7 @@
:101170001CBF10F8012FF9E718BF00207047704717
:1011800080B508B90FF21C0005490B681BB122227B
:101190000021984701E000F08EFD222002BD0000F2
-:1011A0001C2B0020636F6E73747261696E7420680B
+:1011A0003C2B0020636F6E73747261696E742068EB
:1011B000616E646C65723A20626164206D65737360
:1011C0006167650000F10103810704D010F8011B7D
:1011D00089B18107FAD10268B2F10131914311F06E
@@ -482,1511 +482,1647 @@
:101E000004D80C0D661E342EB7DDEBE7801A99411D
:101E100050EA410608BF0021E4E708BF1CEB430F6E
:101E200028BF6FF00001DDE780B5AFF30080024A04
-:101E300011001820ABBEFBE72600020010B58EB0E3
-:101E400002A80FF6B421DFF8A8443022FFF718FAF1
-:101E50000FF201500190009469460FF2E14000F04A
-:101E600063FD0121022000F048FEDFF888240021F4
-:101E7000042000F0BEFE02A800F03CFF08B101F013
-:101E800085F800F012F901F083F8DFF86C440FF2E6
-:101E90002542002084F8800000214FF6FF70E08288
-:101EA000012000F0A6FE062001F006F901F099F9E4
-:101EB0000FF26543002204F18101002001F08EFC45
-:101EC0000FF25D43002204F18201002001F086FC44
-:101ED000002020838021DFF824040180A02141809C
-:101EE000012000F07EF90EB010BDF8B50746DFF80E
-:101EF00008447878DFF80854052804F1800604D0F7
-:101F00003E2812D0FF285FD0C9E0B888E18A884215
-:101F100006D10020E08230700FF24C4001F020FD2D
-:101F2000012000F05EF9012047E0F87801282BD06D
-:101F3000032802D00C2803D0B1E00FF25440A4E0F3
-:101F40000FF2784001F00CFD387900280CBF0FF239
-:101F500088400FF2AC4001F003FDE08A6A460DF1C3
-:101F6000010101F03BFD60B90FF2BC4001F0F8FC4B
-:101F70009DF800209DF801100FF2C04001F0F0FC28
-:101F80008DE00FF2D44080E0707801F04DFCB7F89E
-:101F900005100FF2E04001F0E3FC307804280CBF9C
-:101FA0000620052030700021B7F80500E082688027
-:101FB0002970284601F00FF900202870E08A688017
-:101FC000284601F008F96AE0B7F80300001F5FD067
-:101FD0004FF47F71401A12D0401E47D0401E11D0DE
-:101FE000401E1AD0401E1BD0401E1CD0801E4AD05E
-:101FF000401E22D0401E26D0401E21D04FE00FF2BE
-:10200000B84042E00FF2E04001F0AAFCE08ABD498E
-:1020100001F0EEFD0FF2F84037E00FF2145034E01B
-:102020000FF23C5031E00FF26C5001F099FCE08A65
-:1020300001F06EFE0FF2845027E00FF29C5024E076
-:102040000FF2C45021E0D7F807100FF2EC5001F066
-:1020500087FCD7F807100FF2F85001F081FCE08AF6
-:10206000012101F0A3FE0FF2FC500EE0F9790FF20E
-:10207000346001F075FCF879002814BF0FF2986005
-:102080000FF2806001E00FF2A46001F069FC06E04D
-:10209000012001F0D9FEB0780A2101F014FC0120E2
-:1020A000F2BD01F0B8B87047704778B589B000202C
-:1020B000ADF81A0001F068FC934D944E286810F1B9
-:1020C000010F0ED069683074090A000A707406F1B5
-:1020D00010046868B074F174080A090C30757175E1
-:1020E00006E0002001F032FF040008BF0FF2D874B0
-:1020F00022460621002000F0AAFF6079307207AA6C
-:10210000207970720621E078B072A078F072607861
-:1021100030732078784C70734EF66E5008902868B3
-:1021200007902E2000F093FF0FF2A47210211820C8
-:1021300000F08DFF0FF2A8721021082000F087FF39
-:102140001821012000F0AAFF01F012FF0DF1160086
-:1021500006A90190009105AB07220021012001F0A2
-:1021600064FD0FF2F450BDF8181000900723BDF87D
-:102170001400002201F0BCFF0DF11A0000900223B0
-:10218000BDF81610BDF81400002201F0B1FF0222C4
-:102190000221002001F055FC0120207001F0DCFC40
-:1021A00001206070012108202071A1701020607151
-:1021B00000210020E070049110215548A060039098
-:1021C00008220020029001910092002301220121A7
-:1021D000012001F0DAFCA07808B101F07EFD0AB020
-:1021E00070BD2DE9F8410446012C87B003D1434866
-:1021F0000588478803E04FF4C8654FF47A67DFF835
-:10220000F88008F18006707801F00EFB31780FF24B
-:10221000505001F0A5FB022C11D13078012818BFD5
-:1022200002280CD101F03DFC010004D10FF24C500A
-:1022300001F096FB03E00FF2685001F091FB34705F
-:1022400000200690059008F119010491082298F8E1
-:1022500018000FF29C6103900291019200230093F9
-:102260003A462946002001F02EFC28490E2001F0B4
-:102270000CFD010013D1012C0AD10FF24C5001F0DA
-:102280006FFB7078234908B0BDE8F04101F01BBB3B
-:1022900008B0BDE8F0410FF2585001F061BB08B042
-:1022A000012CBDE8F0410CBF0FF270500FF29C50B2
-:1022B00001F056BB10B5012001F0CBFD0E4C94F897
-:1022C0008000052812D001F0ECFB002184F880107A
-:1022D00030B90FF2AC5001F043FB0FF2AC5001E00B
-:1022E0000FF2C050BDE8104001F03ABB10BD000035
-:1022F000A0080320672900085C270020242B002069
-:10230000082B002040E201008075FF1F08260020F6
-:1023100007B2010046E001000021012000F076BC78
-:10232000012001F096BD0021042000F06FBC0120C7
-:1023300000F092BC012000F097BC000010B50446EC
-:10234000616801F1080000F031FE00B10120207049
-:1023500010BD000010B1012803D07047072000F025
-:1023600069BC072000F06EBC0D0A0D2A2A204449E2
-:1023700053434F4E4E454354494F4E204556454ECC
-:1023800054205749544820434C49454E54200A0094
-:102390000D0A0D2A2A20434F4E4E454354494F4EB5
-:1023A00020555044415445204556454E54205749E8
-:1023B000544820434C49454E54200A004556545F2A
-:1023C0005550444154455F5048595F434F4D504C20
-:1023D000455445200A0000004556545F555044417D
-:1023E00054455F5048595F434F4D504C4554452C20
-:1023F00020737461747573206F6B200A00000000F5
-:102400004556545F5550444154455F5048595F43C9
-:102410004F4D504C4554452C207374617475732096
-:102420006E6F6B200A000000526561645F5048596E
-:102430002073756363657373200A00005048592048
-:10244000506172616D202054583D2025642C20522B
-:10245000583D202564200A005265616420636F6E38
-:1024600066206E6F74207375636365657373200AED
-:10247000000000004843495F4C455F434F4E4E45C6
-:102480004354494F4E5F434F4D504C4554455F5365
-:1024900055424556545F434F444520666F72206352
-:1024A0006F6E6E656374696F6E2068616E646C65D3
-:1024B00020307825780A00000D0A0D2A2A20414391
-:1024C000495F4741505F4C494D495445445F444939
-:1024D00053434F56455241424C455F56534556541F
-:1024E0005F434F4445200A000D0A0D2A2A2041432C
-:1024F000495F4741505F504153535F4B45595F52CD
-:1025000045515F56534556545F434F4445200A009A
-:102510000D0A0D2A2A206163695F6761705F70612F
-:1025200073735F6B65795F72657370200A000000DA
-:102530000D0A0D2A2A204143495F4741505F41550A
-:1025400054484F52495A4154494F4E5F5245515F8A
-:1025500056534556545F434F4445200A000000003F
-:102560000D0A0D2A2A204143495F4741505F534CD1
-:102570004156455F53454355524954595F494E4969
-:102580005449415445445F56534556545F434F4464
-:1025900045200A000D0A0D2A2A204143495F474180
-:1025A000505F424F4E445F4C4F53545F5653455615
-:1025B000545F434F4445200A000000000D0A0D2AD5
-:1025C0002A2053656E6420616C6C6F77207265629F
-:1025D0006F6E64200A0000000D0A0D2A2A20414374
-:1025E000495F4741505F414444525F4E4F545F52F0
-:1025F00045534F4C5645445F56534556545F434FE1
-:102600004445200A000000000D0A0D2A2A204143FB
-:10261000495F4741505F4B455950524553535F4EB8
-:102620004F54494649434154494F4E5F56534556CE
-:10263000545F434F44450A006E756D657269635F70
-:1026400076616C7565203D20256C640A00000000F1
-:102650004865785F76616C7565203D20256C780A49
-:10266000000000000D0A0D2A2A206163695F67617E
-:10267000705F6E756D657269635F636F6D706172B7
-:1026800069736F6E5F76616C75655F636F6E6669A7
-:10269000726D5F7965736E6F2D2D3E594553200A1B
-:1026A00000000000424C455F4354524C5F41707043
-:1026B0005F4E6F74696669636174696F6E3A204139
-:1026C00043495F4741505F50414952494E475F433C
-:1026D0004F4D504C4554455F56534556545F434FFC
-:1026E00044452C2070616972696E675F636F6D701D
-:1026F0006C6574652D3E537461747573203D20259F
-:10270000640A00000D0A0D2A2A2050616972696E60
-:1027100067204F4B200A00000D0A0D2A2A20506125
-:102720006972696E67204B4F200A00000D0A0D2A5E
-:102730002A204143495F4741505F50524F435F4316
-:102740004F4D504C4554455F56534556545F434F8B
-:102750004445200A000000005032505352563100C8
-:10276000466972737420696E64657820696E2025ED
-:1027700064207374617465200A00000053756363FC
-:1027800065737366756C6C792053746F70706564D3
-:10279000204164766572746973696E67200A00006F
-:1027A00053746F70204164766572746973696E67E3
-:1027B000204661696C6564202C20726573756C74A9
-:1027C0003A202564200A00005375636365737366BD
-:1027D000756C6C7920537461727420466173742037
-:1027E0004164766572746973696E67200A0000003F
-:1027F0005375636365737366756C6C79205374618C
-:102800007274204C6F7720506F7765722041647628
-:102810006572746973696E67200A0000537461728F
-:1028200074204661737420416476657274697369BB
-:102830006E67204661696C6564202C207265737533
-:102840006C743A202564200A000000005374617201
-:1028500074204C6F7720506F7765722041647665E5
-:1028600072746973696E67204661696C6564202CB7
-:1028700020726573756C743A202564200A0000008C
-:1028800020200D0A0D0000002A2A2053544F50200A
-:102890004144564552544953494E47202A2A202044
-:1028A0000D0A0D002A2A2053544F5020414456450A
-:1028B00052544953494E47202A2A20204661696CC8
-:1028C0006564200D0A0D00000000000000000000FB
-:1028D000123456789ABCDEF0123456789ABCDEF088
-:1028E000FEDCBA0987654321FEDCBA09876543210E
-:1028F00009503250535256310000000000000000D1
-:102900000000000000000000000000001E000400A5
-:102910000A05020112279C00F4010000FFFF0000DD
-:1029200048010100002000007FB50C466D4D616834
-:102930006D4EE8612962284601F01EFC246805F10D
-:10294000240001F023FC746006F1080001F01EFC75
-:1029500001203070296829B10FF2551000900294BF
-:10296000684688477FBD1FB55F4C04F1080001F041
-:1029700010FC00BB2178F1B1694604F1080001F0B8
-:1029800031FC5848C16949B10098029001228DF884
-:10299000042001A888479DF8040000E00120207071
-:1029A000207818B1009801F0D2FC04E0009904F1FD
-:1029B000080001F0F7FB04F1080001F0EAFB28B978
-:1029C000207818B104F10800FFF7ADFC1FBD2DE918
-:1029D000F8430646002000F05FF874883088B2683B
-:1029E000DFF80081C4F3090444EA8024F068A4B24B
-:1029F000C1B2204600F03CF8002748F2E8094846FA
-:102A0000FFF798FC08E06888A04202D13169287875
-:102A10000870687800B1012708F1240001F0B9FBC3
-:102A2000F0B9694608F1240001F0DCFB009800F1E0
-:102A30000B05407A0F28E6D0B5F80110A1420DD160
-:102A40000098817AC81E7169C0B28842C8BF084622
-:102A5000706102463069E91CFEF702FC2878D9E76C
-:102A60003800CCD0012000F017F80020BDE8F28338
-:102A700010B513461C4A5468A4F80900E1720A46CE
-:102A8000194604F10C00FEF7EBFB164A1369BDE88A
-:102A900010400021002018471249096A82B008B985
-:102AA00021B101E011B1012002B0084702B0704726
-:102AB00010B50146487A0F2818BF0E2807D10B48D9
-:102AC00001F07AFBBDE810400020FFF730BC064C57
-:102AD00004F1080001F070FB04F10800BDE81040AB
-:102AE000FFF721BC1C2A0020902A0020402A002049
-:102AF0000C48002101604160704710B500F00CF8EF
-:102B00005C6819B1012904D1204301E024EA0000E6
-:102B1000586082F3108810BDEFF3108272B6014B3B
-:102B200070470000C82A00202DE9FC475B4CDFF805
-:102B30007091A5692840A0614FF0FF3A4FF001085D
-:102B400030E0491C54F831000642FAD004EBC106CB
-:102B5000184071681040014208BFC6F804A07768A9
-:102B6000384000F09FF8606208FA00F08743776011
-:102B7000EFF3108172B6626A206908FA02F2D2435A
-:102B800010402061022004EBC00353F8086C16408B
-:102B9000401E43F8086CF6D181F31088606A59F83A
-:102BA0002010884763692069A2691840104207D045
-:102BB000E069216A084203D1002103EA0206C1E765
-:102BC000C4F824A001F011FCEFF3108972B621695A
-:102BD00060690140A069014201BFE169206A0142C8
-:102BE00001F07DFC89F3108801F095FCA561BDE83A
-:102BF000F38738B51446EFF3108572B600F052F83B
-:102C0000274941F8204085F3108831BD10B500F008
-:102C10000BF804431C6153F83140204343F8310062
-:102C2000FFE782F3108810BDEFF3108272B61B4BE2
-:102C30001C697047EFF3108172B6184A536923EA92
-:102C4000000005E0EFF3108172B6144A536918438F
-:102C5000506181F310887047EFF3108172B60F4A0C
-:102C6000D3691843D061F4E7F8B50C4C656A276A5C
-:102C70002E4615F1010F0EBF0025012101FA05F5C1
-:102C8000206202E0284601F02BFC216AE06908423C
-:102C9000F8D088436662E0612762F1BDC02500205C
-:102CA000E027002002460020110C090404BF102078
-:102CB000120412F07F4F04BF083012020FF2180105
-:102CC00012F0704F04BF001D1201120FC0F11F005F
-:102CD000895C401AC0B2704704030202010101017D
-:102CE000000000000000000001F06BFC9DF80E00E9
-:102CF00005B000BDF8B500F10C026B4624214FF67B
-:102D00006640F1E7F8B500F10C026B460F214FF673
-:102D10006840E9E78E4900E08E4981B00A680243C5
-:102D20000A60096808400090009801B0704780B5BB
-:102D300089494FF40040086001F092FC002001F046
-:102D400005F948B180798549854A0A600A6822F404
-:102D50007C5242EA00220A6000F01DF800F08AF876
-:102D60008048016800220260026902F0500202619C
-:102D70000420FFF7D1FF0120FFF7CEFF00F0D6F8C7
-:102D800000F083F800F0A0F801F030FB4FF0FF30C6
-:102D9000FFF7CAFEFAE718B5A5B014A8442101F060
-:102DA00089FC01A81C2101F085FC08A8302101F054
-:102DB00081FC01F083FC6C48016821F0180101607E
-:102DC000072014904FF48031012016901591402077
-:102DD000189000214FF480741E91179414A801F0EC
-:102DE0007EFC08B100F0D2F86F2001900221002093
-:102DF000029103900490059006900790012101A88C
-:102E000001F0EAFE08B100F0C1F843F601000890B5
-:102E100000214FF48040119009911020022113905D
-:102E20001291109408A802F093F808B100F0AEF8DF
-:102E30004E49086820F0700008604D480268C2F3EF
-:102E400003200090009830B90A681209120142F07C
-:102E500004020A6008E000980A68801E80F30400FB
-:102E6000120940EA02100860086840F40040086057
-:102E700026B010BD80B53F483F49016002F024F9FB
-:102E800010B1BDE8014081E001BD002110B53B4813
-:102E90003B4C416004600F21816047F6FF71C160C7
-:102EA000002101618161416102F046F908B100F041
-:102EB0006DF8CA206062FF2153206062A068C008DC
-:102EC000C000A060616210BD10B52E4C2E4820607D
-:102ED0004FF4E13060600020A060E06020610C20D1
-:102EE00060610020A0614FF40040E061002020629A
-:102EF0006062A062204602F0C3F908B100F046F813
-:102F00000021204602F0FBFD08B100F03FF800214F
-:102F1000204602F0FFFD08B100F038F8204602F02C
-:102F2000D1FD10B1BDE8104030E010BD80B50420E7
-:102F3000FFF7F0FE0120FFF7EDFE00220F210E202B
-:102F400002F058FEBDE802400E2002F071BE000003
-:102F5000480000584C000058104000589C00005891
-:102F6000FECAFECA80080058900000581C04005891
-:102F70005875FF1FE0290020000C0058482A002047
-:102F8000002800403C2600200038014072B6FEE7D1
-:102F90001B4800210171017200F034B818490A7908
-:102FA00041F822000879401C0871704770B504464A
-:102FB0006078FF2802BFB4F8031001F47F41B1F537
-:102FC000406F12D100260E4D00E0761C2979F0B238
-:102FD00088420AD2F1B255F82110204688470100F4
-:102FE000F3D002D0022805D006E02046BDE87040AC
-:102FF000FEF77BBF002070BD012070BD0000000007
-:10300000BC2A002080B502F069FE02F068FE02F0E2
-:1030100067FE02F066FE02F065FE02F064FE02F05A
-:1030200063FE02F062FE02F061FE02F060FE02F05A
-:103030005FFE02F05EFE02F093FE02F04BFF02F034
-:103040004AFF02F049FFBDE8014002F046BF18B553
-:103050000C46C7B0114600228DF800208DF81C00E8
-:103060008DF81D4022460DF11E0002F037FF00F0E2
-:103070003BF83F200C21ADF80400ADF8061007A87E
-:10308000012103900691A41C049400F043F8002849
-:103090004CBFFF209DF8000048B010BD00B5C7B080
-:1030A00000F01BF80F2000F02AF800284CBFFF208A
-:1030B0009DF8000047B000BD00B5C7B00021ADF8D5
-:1030C0001C0000F016F8182000F019F800284CBF7A
-:1030D000FF209DF8000047B000BD00228DF80020C1
-:1030E0008DF81C008DF81D101822002101A802F097
-:1030F000FBBE8DF80010182201A802F0F5BEADF855
-:10310000060007A9022004903F22012003910690A7
-:10311000ADF80420CDF814D0002101A8FFF757BC6A
-:1031200070B506464E4C30784CA520B1012807D02A
-:10313000032810D070BD012020700FF2281003E08A
-:10314000002121700FF2501000F00AFC2846BDE863
-:10315000704000F005BC71680878C8B94978012949
-:1031600009D100F071FE0FF2641000F0F9FB00F0DD
-:103170002FF80120A0707168487848B900F069FE06
-:103180000FF2701000F0ECFB00F022F80020A070AD
-:103190007068017801291AD1407801280AD10020ED
-:1031A00000F052FE0FF2741000F0DAFB00F010F89D
-:1031B0000120A0707168487848B900F04AFE0FF20B
-:1031C000841000F0CDFB00F003F80020A07070BD6B
-:1031D000284600F0C5BB0078012808BF00F00DB8F4
-:1031E000704780B50FF2390200210220FFF701FD80
-:1031F0001B4900220A70BDE8014080B5002000F0A4
-:1032000028FE174801214170002181700121C17001
-:103210000021017101BD00210220FFF7F7BC000071
-:1032200010B50F4C2079401E8041C00F20712078CE
-:1032300068B10FF2381000F093FB08A000F090FB8B
-:10324000E11CBDE810404FF6426002F019BEBDE837
-:1032500010400FF2581000F083BB0000200A0D0050
-:10326000F02A00202D2D20503250204150504C4942
-:10327000434154494F4E20534552564552203A201F
-:103280004E4F54494649434154494F4E20454E41C3
-:10329000424C45440A0000002D2D20503250204160
-:1032A00050504C49434154494F4E20534552564586
-:1032B00052203A204E4F54494649434154494F4EBB
-:1032C0002044495341424C45440A00002D2D2050D2
-:1032D0003250204150504C49434154494F4E2053A5
-:1032E000455256455220203A204C454431204F4EFD
-:1032F0000A0000002D2D20503250204150504C49E2
-:10330000434154494F4E2053455256455220203A8E
-:10331000204C454431204F46460A00002D2D2050B8
-:103320003250204150504C49434154494F4E205354
-:1033300045525645522031203A204C454431204FC9
-:103340004E0A00002D2D20503250204150504C4943
-:10335000434154494F4E2053455256455220312047
-:103360003A204C454431204F46460A002D2D20502E
-:103370003250204150504C49434154494F4E205304
-:10338000455256455220203A20494E464F524D2034
-:10339000434C49454E5420425554544F4E20312001
-:1033A000505553484544200A200000002D2D205040
-:1033B0003250204150504C49434154494F4E2053C4
-:1033C0004552564552203A2043414E275420494EFB
-:1033D000464F524D20434C49454E54202D20204EFF
-:1033E0004F54494649434154494F4E204449534163
-:1033F000424C45440A200000DFF83C150A6892B2AE
-:1034000000E00246086880B28242FAD170472DE996
-:10341000FC4104461825DFF82485DFF8246568435D
-:1034200008EB00073078062808D1317871703470C5
-:1034300078754FF0FF307060002039E000F077F8C9
-:10344000B9680918B96008F10803B96832786A43A5
-:103450009A589142327813D308F1150315FB02FCF8
-:1034600013F80C30062B25D008F108066B43F358EF
-:10347000994222BF08F115036A439A5CEED219E023
-:103480001146337869439A420BD008F1140308F1CE
-:10349000150C5B5C15FB03F50CF805407A753B7564
-:1034A00000E07A7508F11402545431787170347068
-:1034B000BDE8F6811146694308F115035B5C062BF4
-:1034C00004D008F1140615FB03F574557B753A75A5
-:1034D00008F115025454EBE7F8B5DFF86434DFF86F
-:1034E0005C541E78182402466243B0422A4404D138
-:1034F00018785870507D18700FE0167D507D92F846
-:1035000015C005F115076643062807F806C004D064
-:10351000167D143514FB00F42E5501201073187815
-:10352000062802BF00294FF0FF315960F1BD10B5E8
-:10353000DFF80C44606810F1010F0FD0FFF75CFF5B
-:103540006168DFF80024814261683CBF5388C91874
-:10355000081A517848431178C84000E0002080B232
-:1035600010BD2DE9F84FDFF8DC53DFF8DCB3D5F8F8
-:103570000880D8F80000DBF800104A0500F090F948
-:10358000DFF8BC63DFF8B4A321F4806181604FF001
-:10359000180934780AF1080019FB04F14758FFF7BD
-:1035A000C6FF874217D200270121B170062C3DD0FB
-:1035B00019FB04F40AF108010AF1080209598142D1
-:1035C00023BF0AF108010959091A002111510AEB18
-:1035D00004014C7DEAE7A9884118B94202D2AF88BC
-:1035E0000021E2E73F1ADFE7022802DA2878012803
-:1035F00000D07F1ED8F80000C1684A07FAD500F055
-:1036000055F9DBF80C00000CBFB247EA0047CBF8D5
-:103610000C70FFF7F1FE7060A8680068816841F4E3
-:1036200080618160AFF30080BDE8F18FB8B20028FF
-:10363000DAD1FFF7E1FE70600320BDE8F24F02F03F
-:1036400025BB2DE9F843EFF3108872B6BD4DBB4B97
-:10365000A8680168CA224A6253204862B84A88684A
-:1036600020F48060886018201678374647431F444E
-:10367000387B022826D13C68D7F810909078F0B1BA
-:103680007A7B012A0AD101213046FFF725FF88F312
-:1036900010887968304600F016F904E088F3108845
-:1036A000304600F0C1F8A8680068CA21416222468D
-:1036B000532141624846314600F050F90BE0FFF7D4
-:1036C00050FF06E0C8684207FCD500F07EF89F492D
-:1036D000086088F31088FF21A86802685162BDE87D
-:1036E000F183F8B5974CA160CA2209684A62532257
-:1036F0004A62954A136843F020031360136803F08D
-:103700000703C3F10403237095682D0C05F07F05B2
-:103710006D1C6570EDB29268C2F30E02521C62809D
-:1037200092B2521E6A43A2F5A072DA404FF6FF73BE
-:103730009A422CBFA380A280854A136843F40023D9
-:103740001360844B1D6845F400251D6048BB7C4810
-:103750007A4E0123837018254FF0FF334360002316
-:103760005FFA83FC06F10C0715FB0CFC4FF0000E12
-:1037700007F80CE05B1CDFB2062FF1DB06230370B9
-:10378000886820F48060886000F01FF8D060032013
-:1037900002F087FAA1680868826842F48042826079
-:1037A00005E0C868410544BF032002F06FFAA16834
-:1037B0000A68FF20506200220321032002F01AFA57
-:1037C000BDE8F240032002F033BAC86800F0800080
-:1037D00060F49060C8604FF400207047F0B5044674
-:1037E0000025EFF3108672B61827DFF850C10CF1F0
-:1037F0000C0007FB05FE10F80E0010B16D1C062D25
-:10380000F5DB062D0CD06F430CEB07000127077387
-:1038100086F310880461427303600D700020F0BDD0
-:1038200086F310880120F0BDF8B50746EFF3108449
-:1038300072B6032002F007FA424DAE683068CA2122
-:1038400041623A4653214162182043494243895C10
-:1038500002291BD100213846FFF73EFE3848017887
-:1038600006290ED1306838490A68530500F018F867
-:1038700021F480618160C1684A07FCD500F016F828
-:1038800004E04078884218BFFFF76BFEA9680A6819
-:10389000FF205062032002F0CBF984F31088F1BDC1
-:1038A00002D5C1684A07FCD481687047C16801F03D
-:1038B000800161F49061C1604FF4002023490860E9
-:1038C000032002F0EEB92DE9F04180460F46424652
-:1038D00018201A4942438C18207B022804BF404616
-:1038E000FFF7A2FFEFF3108572B6032002F0ABF9E9
-:1038F000144EB0680068CA2141625321416202201F
-:103900002073A76067604046FFF781FD0C490A7885
-:103910004978914202D0FFF724FE02E0A168081A1C
-:10392000A060FF20B1680A685062032002F080F9AD
-:1039300085F31088BDE8F08128280040CC260020BF
-:10394000002B0020B02A0020082800400C08005856
-:103950000008005880080058D826002010470000B2
-:103960000EB4C0B5024603A800210190009101AB3E
-:103970000121044878440C30FCF7E0FB06BC5DF8FC
-:1039800010FB00BF9B40000000B587B000F010F8AE
-:10399000012003220690ADF80420ADF8062000F0C7
-:1039A0007AF800284CBFFF209DF8000007B000BD4A
-:1039B00000208DF800001822002101A802F094BA1E
-:1039C00009220021684602F08FBA1822002102A8BD
-:1039D00002F08ABA182201A802F086BA70B5C8B0FF
-:1039E00006460C4615460522FFF7EBFFADF82060B2
-:1039F000FFF7EBFF302100F014F80521049000F0F0
-:103A000019F8002848BFFF2009D49DF8000030B9FC
-:103A10009DF8030020709DF804002870002048B035
-:103A200070BDADF80A1008200221ADF8080005911C
-:103A300008A870470791CDF818D0002102A8FEF71A
-:103A4000C6BF00B5C7B000F00EF8FFF7C3FF3120C6
-:103A500000F013F800F01FF800284CBFFF209DF87D
-:103A6000000047B000BD00238DF81C008DF8003029
-:103A700007A84170827000217047ADF8060007A9C1
-:103A8000032004900822012003910690ADF8042041
-:103A9000704703900691CDF814D0002101A8FEF7DD
-:103AA00096BF00B587B000F02FF900F04BF98120E8
-:103AB00000F025F900F053F900284CBFFF209DF8D5
-:103AC000000007B000BD2DE9F84DC7B09446DDF801
-:103AD00040E1519A559D569EDDF84CA1ADF81D1060
-:103AE0008DF81C004FF0000BADF81FC08DF8213091
-:103AF0008DF822E000F024F800F017F824F8095FB0
-:103B0000668000F01FF93F20832100F043F95744FD
-:103B100006910D37049700F025F900284CBFFF20CF
-:103B20009DF8000048B0BDE8F08D88F800A007AC13
-:103B30005499E419524608F10100544402F0CEB9F8
-:103B40008DF82320174652998DF800B00DF1240806
-:103B500009A8B84402F0C2B900B5C7B000F00CF82B
-:103B6000852000F0ADF800F0FAF800284CBFFF20E7
-:103B70009DF8000047B000BD00218DF81C008DF8B5
-:103B80000010182201A802F0AFB92DE9F841C7B022
-:103B90004FF0000800F026F80DF12300DDF844E1B5
-:103BA0004E9F4F9E509D529C8DF81F30C0F800E0F4
-:103BB0008DF800808DF820708DF821608DF82250EE
-:103BC0008DF8274000F0BEF88620ADF8060007A962
-:103BD0000C2000F0C0F800284CBFFF209DF800002A
-:103BE00000F0F2B88DF81C0007A841708270704791
-:103BF00000B5C7B00022ADF81C008DF800200DF113
-:103C00001E001822016001A8002102F06DF9882031
-:103C1000ADF8060007A9062000F09DF800284CBF6B
-:103C2000FF209DF8000047B000BDF8B5C8B00546BC
-:103C30000E4617461C4600F023F808A84670877009
-:103C40008DF8205000F0A1F88A21ADF80A103F202D
-:103C5000032100F08DF8002848BFFF200ED49DF806
-:103C6000000058B94F994E98BDF801202280BDF848
-:103C700003200280BDF805000880002049B0F0BD97
-:103C800007220021684602F02FB918B5C7B00446D4
-:103C900000F03AF88DF81C40224600F083F800F05E
-:103CA00051F83F208E2100F092F8641C049400F03B
-:103CB00059F800284CBFFF209DF8000048B010BD07
-:103CC000ADF8060007A901203F2203910490704738
-:103CD000ADF8060007A90220704700B587B000F0D4
-:103CE00013F800F02FF8922000F009F800F037F8F0
-:103CF00000284CBFFF209DF8000007B000BDADF8C4
-:103D000006003F220120704700208DF80000704718
-:103D100000B5C7B00021ADF81C00FFF730FF9520BB
-:103D2000FFF7D6FF00F017F800284CBFFF209DF8E2
-:103D3000000047B000BD00228DF80020ADF81C0047
-:103D40008DF81E101822002101A802F0CDB8ADF8A0
-:103D5000060007A9032004903F220120039106904A
-:103D6000ADF80420CDF814D0002101A8FEF72FBE35
-:103D7000ADF80800059108A8072104900791CDF837
-:103D800018D0002102A8FEF722BE1822002102A8A6
-:103D900002F0AAB8ADF80400ADF8061007A801219A
-:103DA000039070470DF11D0002F098B800B5C7B040
-:103DB000FFF7C1FFA520FFF7CAFF00284CBFFF2077
-:103DC0009DF8000047B000BD48B0BDE8F081ADF8F7
-:103DD0000400ADF8061007A8012103900691704772
-:103DE000484981B00A6802430A60096808400090A7
-:103DF000009801B0704778B585B004466846142134
-:103E000000F058FC0220FFF7EBFF00F011F80095DE
-:103E1000012001900021022003900291694656F88A
-:103E2000240002F06BF800F009F8002006B070BD25
-:103E30000FF2F400344E30F81450704756F8240056
-:103E40000022294602F012B980B500F00AF80122DA
-:103E500003E080B500F005F8002202F007F9002029
-:103E600002BD0FF2C401284B31F8101053F82000A6
-:103E70007047F0B585B005460C466846142100F041
-:103E800019FC2DB1012D08BF102002D0022D02D146
-:103E90000120FFF7A5FF0FF298001C4F30F8150026
-:103EA000009001210220039007EB85060291306803
-:103EB0002CB900210191694602F020F81FE0144955
-:103EC000019107EBC504694602F018F80FF26C0087
-:103ED00050F8251004F1240002F0EDF8F2680021FA
-:103EE00004F1240002F0E0F80FF24C004457B169ED
-:103EF0000022204601F07EFE204601F099FE0020BF
-:103F000005B0F0BD4C000058202600204C250020B4
-:103F100000002110002000F017B8012000F014B8B4
-:103F2000022000F011B80000200001000200000093
-:103F30000100100040000000060A170000000016F3
-:103F400004000016060000167047000001460648EF
-:103F5000064AC3798B4218BF904218BF0838F8D17F
-:103F60008B4218BF00207047F873FF1F0070FF1FBF
-:103F700000B587B000208DF8000000F0E0F840F2B6
-:103F80000110ADF806003F220120069000F0ECF889
-:103F900000284CBFFF209DF8000007B000BD2DE9B0
-:103FA000F84107460128C7B0884615461E4608BF97
-:103FB000022003D002280CBF102000200DF11D01AB
-:103FC0000C1800F036F8012F8DF81C7002D0022F6B
-:103FD00018D019E002273A4641460DF11D0001F0C4
-:103FE0007DFF2570667000F0AAF83F204FF48171C4
-:103FF00000F016F8FF1C049700F0B8F8002805D56B
-:10400000FF2009E01027E6E7472005E09DF80000C3
-:1040100010B94E9800F067F8FFE748B0BDE8F081AE
-:10402000ADF80400ADF8061007A80321039006912F
-:10403000704703220021684601F056BF2DE9F64F74
-:104040000C460546012CC7B09B4608BF022003D092
-:10405000022C0CBF102000200DF11F010E18FFF7DD
-:10406000E8FF012CADF81C508DF81E4002D0022C48
-:104070002CD02DE00227569C559DDDF85091DDF89F
-:104080004CA1DDF8488148993A4600F054F8A6F86A
-:1040900000B086F8028086F803A086F80490757157
-:1040A000B47100F04CF83F20ADF804004FF4827179
-:1040B00007A8ADF80610039003210A37049706916C
-:1040C00000F054F8002805D5FF2009E01027D2E7BA
-:1040D000472005E09DF8000010B9579800F003F85C
-:1040E00049B0BDE8F08FBDF8011001800020704795
-:1040F00030B5C7B01C464A9B00F026F800258DF865
-:1041000000508DF82140224619460DF1220001F0A1
-:10411000E5FE00F014F83F204FF4837100F01BF827
-:10412000A41D049400F022F800284CBFFF209DF845
-:10413000000047B030BD0DF11F0001F0CFBE1822C6
-:10414000002101A801F0D0BEADF81C00ADF81E1092
-:104150008DF820207047ADF80400ADF8061007A8D0
-:104160000121039006917047ADF80420CDF814D0DA
-:10417000002101A8FEF72BBC024901600249016140
-:10418000704700BF4B420008714200080060406069
-:104190007047EFF3108172B6026882420CBF0120B3
-:1041A00000201CE0EFF3108272B603680B604860D9
-:1041B00001600868416023E0EFF3108272B6086086
-:1041C00043684B6041604868016019E0EFF310817B
-:1041D00072B642680368136002684368536081F3F3
-:1041E0001088704710B5EFF3108472B602680A6049
-:1041F0000068FFE7FFF7EAFF84F3108810BD0B604B
-:1042000082F310887047000001F0D0BF6C486D4900
-:10421000016001F12002426001F13002826001F18F
-:104220003C02026201F14402426201F14C02C260AE
-:1042300001F15402026101F17002426101F1740264
-:1042400082618031C16101F0CFBF38B504465E4D57
-:104250002846FFF79BFF5A484068A1680160E16863
-:10426000C16085605949416001F0DAFF58482AE091
-:1042700080B553484268136801211972406801F003
-:10428000D5FF002002BD38B5514C4F4D04E000F081
-:1042900041F80098216888472846FFF77AFF0028F0
-:1042A000F5D031BD4A484168084738B50446494D04
-:1042B0002846FFF76BFF4248C068A168016045606F
-:1042C00001F0B9FF44482168016061684160002045
-:1042D00032BD80B53A48C268136810211972C068AF
-:1042E00001F0AFFF002002BD35483B4AC168C168FC
-:1042F00013680868184738B5374C364D04E000F0AD
-:1043000009F80098616888472846FFF742FF0028AF
-:10431000F5D031BD69462846FFF764BF38B504467D
-:104320002E4D2846FFF732FF2D48FFF72FFF244878
-:104330000069A1688160E168C16005612168016070
-:1043400061684160216941616169816131BD80B508
-:1043500001462348FFF730FFBDE802400FF2050099
-:1043600001F07FBF38B5164C1D4D06E0FFF7D2FFB8
-:10437000009920690069FFF71FFF2846FFF709FF32
-:104380000028F3D031BD10B5164C2046FFF7FEFED5
-:104390000B4841690C60BDE8104001F076BF1CB5C8
-:1043A000104C06E069462046FFF71CFF009800F01D
-:1043B0001BF82046FFF7EDFE0028F3D013BD0000E8
-:1043C00000000320AC090320480A032090080320C2
-:1043D000D82A0020500A0320E02A0020380A0320AF
-:1043E000D02A0020400A03207047704710B52148AA
-:1043F000214C88B0016841F400410160FEF778FB70
-:104400001E480168C908C90041F00401016001F0BB
-:1044100055FF1B490020FFF764F901F064FF0121FB
-:104420000120FEF76AFB00F03CF800F049F8FFF7C6
-:10443000EDFE144A00210820FEF7DBFB04F23C509D
-:104440000FF245010090019169460FF2410000F022
-:1044500063F804F25470029004F5C96140F23C50D4
-:1044600005900391049402A8FFF758FFFFF7CCFED4
-:1044700008B010BD08000058300003208004005828
-:10448000482A00205B4500087047000080B501F015
-:1044900039FFFDF7D3FCBDE8044000210120FEF701
-:1044A0002CBB80B50020FFF7A6FC0120FFF7A3FC82
-:1044B0000220FFF7A0FCBDE802400120FFF7C4BCCA
-:1044C00080B501210020FFF7D4FC01210120FFF776
-:1044D000D0FCBDE8044001210220FFF7CABC7047B0
-:1044E0004FF0FF30FEF720BB00210820FEF78EBB07
-:1044F0000220FEF7B1BB0220FEF7B6BB012804D0B4
-:10450000102804D0402804D07047FDF7CABDFDF73D
-:10451000CABDFDF7C9BD70477FB50C464D4D6168FA
-:104520004D4EE8612962284602F00AF8246874605A
-:1045300006F10800FFF72AFE012000F068F80120CC
-:104540003070296841B10FF2E9000FF2ED020090DE
-:1045500001920294684688477FBD1FB53E4C04F126
-:104560000800FFF716FE00BB2178F1B1694604F19F
-:104570000800FFF737FE3748C16949B1009802903B
-:1045800001228DF8042001A888479DF8040000E06E
-:1045900001202070207818B10098FFF7D8FE04E0C1
-:1045A000009904F10800FFF7FDFD04F10800FFF792
-:1045B000F0FD28B9207818B104F10800FFF794FF46
-:1045C0001FBD2DE9F04105460E4690461C460020D1
-:1045D00000F01DF8204F7868A0F80950C6723246E6
-:1045E00041460C30FCF73CFE1A4A136900210020BA
-:1045F000984748F2E800FFF77EFF79688A78D21C76
-:1046000004F10800FCF72CFEBDE8F04101201CB5C8
-:104610001049124C096A20B901B188470020207066
-:1046200013BD0120207011B1BDE81C40084713BD27
-:104630000020FFF75DBF000010B50146064C04F1F5
-:104640000800FFF7B9FD04F10800BDE81040FFF7CE
-:104650004BBF00006C2A0020A02A0020C52A0020A1
-:10466000114810B5016841F480710160032001F028
-:10467000B4FA002001F06EFF0024002814BF0124CA
-:1046800001F095FF204610BD084880687047084833
-:1046900005E00748016841F00201016070470168C8
-:1046A00041F0010101607047004000582C260020B5
-:1046B000042004E0002202F029B80000024801684A
-:1046C00041F4807101607047000400584FF0B04021
-:1046D000006800F0F000B02888BFB02070472DE9D6
-:1046E000F041040054D0207881064FF0B04538D511
-:1046F000A868E96810F00C0001F0030103D00C2851
-:1047000008BF012946D12868800702D5E069002842
-:104710003ED0FFF7DBFF616A884207D2084600F00F
-:10472000A0FB002834D100F043FA0FE0286820F005
-:10473000F000014329606968206A21F47F4141EA61
-:1047400000216960606A00F08CFB08BB00F062FB2E
-:10475000DFF88C170860DFF88C07006801F0FAFEBC
-:10476000B0B92078C1070DD5A868E96800F00C0041
-:10477000082801F0030103D00C2808BF03292CD11D
-:104780002868800340F11D816068002840F019818D
-:10479000012006E2E06980B1296841F0010100F0E2
-:1047A000F3FA06462868800700F1088101F0C8FF87
-:1047B000801B0328F6D30320F3E12868400840005B
-:1047C00000F0A8FB0646286800F0EEF9C9D001F019
-:1047D000B7FF801B0328F6D3EDE76068B0F5803F94
-:1047E00004D1296841F48031296003E02A6822F469
-:1047F00080322A60606860B101F0A2FF0646286836
-:10480000800300F1DE8001F09BFF801B6528F6D35A
-:10481000D1E701F095FF06462868400C10F0010032
-:1048200000F0CF8001F08CFF801B6528F4D3C2E735
-:1048300001F086FFC01B0328C0F0F780BBE7E068EB
-:1048400078B1296841F4807100F09EFA0646286824
-:10485000400500F1FD8001F073FF801B0328F6D3B3
-:10486000A9E7286820F4807000F054FB0646286809
-:10487000800A10F0010000F0C28001F061FF801B8F
-:104880000328F4D397E701F05BFFC01B0328C0F0B7
-:10489000F18090E740F0010000F09BF90746706856
-:1048A000800700F1028101F04BFFC01B0328F6D303
-:1048B00081E7706820F0040000F08BF9074670680B
-:1048C000C00810F0010000F0FF8001F039FFC01BAC
-:1048D0000428F4D36FE70528306806D140F00400BF
-:1048E0003060316841F0010105E04008400030606F
-:1048F000316821F004013160A06841F2893768B164
-:1049000001F01EFF80463068800700F1F28001F060
-:1049100017FFA0EB0800B842F5D34CE701F010FFF9
-:104920008046306800F040F900F0E38001F008FFB5
-:10493000A0EB0800B842F4D33DE701F001FF801B73
-:104940000328C0F0088136E701F0FAFE001B0328B7
-:10495000C0F022812FE7286881010CD4296841F03A
-:1049600080712960E86840F08050E86001F0E8FE5E
-:1049700004462868810100F1138101F0E1FE001B6B
-:104980000328F6D317E70C2930D0286820F0807070
-:104990002860E96889088900E960E86820F08050AB
-:1049A000E86001F0CDFE04462868810140F1F880FE
-:1049B00001F0C6FE001B0328F6D3FCE600F0F8F871
-:1049C000CFE6207881071AD5A868E96800F00C00C6
-:1049D000042801F0030104D00C2808BF02297FF449
-:1049E0002EAF2868400503D5E06800283FF4D0AE1C
-:1049F0006968206921F0FE4141EA0061696021682F
-:104A0000DFF8E46411F0180F38D0606900283FF433
-:104A100050AFC90670687FF53DAF800709D4706854
-:104A200040F0010000F0D5F80746706880077FF578
-:104A3000FFAE706840F0040000F0CBF807467068E5
-:104A400000070DD401F07CFEC01B0428F7D3B2E6AA
-:104A50006868216920F0FE4040EA01606860CEE7A6
-:104A60007068A16920F4706040EA0120706000F075
-:104A7000ADF8074600F097F87FF405AF20784107BE
-:104A800037D5DFF868743868C10529D4FFF716FEFA
-:104A900001F056FE80463868C10521D401F050FE71
-:104AA000A0EB08000328F6D385E6706820F0040028
-:104AB00070607068C00810F00100DFD001F040FEA7
-:104AC000C01B0428F5D376E600F080F8074600F016
-:104AD0006AF8D3D001F034FEC01B0328F7D36AE68E
-:104AE000A06801287FF4F7AE306840F00100306024
-:104AF00002E7A06A002853D0A968EA68022801F0FA
-:104B00000C017FF440AFE36A02F00300984202BF59
-:104B100002F07000236B984214D1636BC2F306203D
-:104B2000984202BF02F47810A36B98420AD1E36B5B
-:104B300002F06060984202BF02F06042206C824244
-:104B40003FF409AF0C293FF423AE286820F08070B1
-:104B500000F0E0F90646296888013FF5EEAEE96805
-:104B6000DFF88C03626B0140E06A0143206B014374
-:104B7000A06B41EA02210143E06B0143206C014339
-:104B8000E960286840F080702860E96841F0805151
-:104B9000E96001F0D5FD0446286881017FF5D4AEB7
-:104BA0000020BDE8F0817068400810F001007047F7
-:104BB0002968606A21F0F001014329606868216A70
-:104BC00020F47F4040EA0120686070477068400828
-:104BD0004000706001F0B4BD2DE9F8430400884640
-:104BE00044D0DFF8106300F0CAF847D200F0CFF8E5
-:104BF000074600F0C4F841D001F0A2FDC01B022816
-:104C0000F7D90320B9E001F09BFD401B022843D9EE
-:104C1000F7E701F095FDA0EB090002284CD9F0E779
-:104C200001F08EFDA0EB0900022854D9E9E701F05C
-:104C300087FD401B02285DD9E3E701F081FD401BA1
-:104C4000022867D9DDE701F07BFD401B484577D39B
-:104C5000D7E7032802D13968890103E000283968C1
-:104C600002D1890762D401E049055FD4012084E0C4
-:104C700001F066FDC01B022872D9C2E720788107C7
-:104C80004FF0B0470BD5B968A06821F0F00101439F
-:104C9000B96001F055FD0546B868C003B3D520786A
-:104CA000DFF8385281060AD52968606921F0F001E1
-:104CB000014300F069F8814628688003A9D520786F
-:104CC00041060BD52968A0690909090141EA1011BB
-:104CD00000F05AF881462868C003A1D52078410722
-:104CE0000BD5B968E06821F4E0610143B96001F0D7
-:104CF00027FD0546B868800399D5207801070CD5B3
-:104D0000B868216920F4605040EAC100B86001F041
-:104D100017FD0546B86840038FD52078C10717D521
-:104D20006068022895D1396889039FD5B9688908D8
-:104D300040EA8100B86041F2893901F001FD054681
-:104D4000B868616800F00C00B0EB810F7FF47BAFB6
-:104D5000306800F00700804505D200F018F80746DB
-:104D600000F00DF884D100F055F85D490860FFF7B8
-:104D70008BFCBDE8F24301F0EDBBBDE8F283306887
-:104D800000F0070040457047296001F0D9BC316848
-:104D9000C90848EAC101316001F0D2BC38B54FF012
-:104DA000B044564DA16811F00C0106D1FFF78EFCFE
-:104DB000C0F3031055F8200032BD0429504A05D035
-:104DC0000829504804D12168C90222D5104632BDB5
-:104DD000E16801F00301022904D0032904D121680C
-:104DE000C90207D5104605E0FFF770FCC0F30310B9
-:104DF00055F82000E168E268E368C1F30621484302
-:104E0000C2F30211491C5B0FB0FBF1F05B1CB0FB5D
-:104E1000F3F032BD80B5FFF7C1FF3749FFE73A4AEB
-:104E20000968C1F3031152F82110B0FBF1F002BD83
-:104E300080B5FFF7EFFF00F010F8C1F3022106E0A4
-:104E400080B5FFF7E7FF00F008F8C1F3C22112F8C0
-:104E5000211001F01F01C84002BD27492B4A0968F3
-:104E6000704770B52549284AB1282EBFC86AC0F3DB
-:104E7000031051F820001949096801F00F0152F898
-:104E80002110234AB0FBF1F0B0FBF2F00024002126
-:104E90000FF2880252F8213083420AD2491C0329BA
-:104EA000F8D90AE001F04CFC801B03280DD3032045
-:104EB00070BD0FF2780050F821400E4D2868C008F0
-:104EC00044EAC00000F026F80646296801F0070110
-:104ED000A142E7D1002070BD000000000801005889
-:104EE0003826002034260020900000580004005886
-:104EF0008C80C11100400058080000580072000862
-:104F00000024F4000048E801C0710008C8790008D6
-:104F100040420F00286001F013BC000012000000A6
-:104F200024000000360000004000000000000000E7
-:104F3000010000000200000003000000DFF87C21F7
-:104F40001368010C23EA014343EA004313607047EE
-:104F50002DE9F041054600272868DFF86461010566
-:104F6000B8462FD53468286A04F44074844229D0A6
-:104F7000FFF7A4FB002C316805D1286A21F44071A9
-:104F8000014331601DE0306840F48030306021F42E
-:104F90004071326822F480323260286A0143316005
-:104FA0003068C0070DD501F0CBFB044641F28938CB
-:104FB0003068800705D401F0C3FB001B4045F7D3E0
-:104FC0000327B8462878DFF8FC40C10705D5E16F14
-:104FD0006868890840EA8101E1672878810705D57A
-:104FE000E16FA86821F440610143E1672878C106B8
-:104FF00044BF2869FFF7A2FF2878810644BF68698B
-:10500000FFF79CFF287841070AD5E868E16F02099D
-:1050100002F47F220001914300F47F200843E067FF
-:10502000286881051ED5A869B0F1804F18BFB0F17E
-:10503000004F00D018B9E16F21F0404108E0E16F66
-:1050400021F04041E16720F08050E16F21F04061A4
-:105050000843E067A869B0F1C05F03D1216841F05F
-:1050600080712160286841050DD5E16FE86921F064
-:1050700040510143E167E869B0F1005F03D1216865
-:1050800041F4803121602868C10405D57168686ADF
-:1050900021F4404101437160286881040BD5A16966
-:1050A000E86A21F030010143A161A169A86A890879
-:1050B00040EA8101A1614046BDE8F08188000058C6
-:1050C000900000580C000058F8B504460025ACB11B
-:1050D00004F13406307910B9204601F077FA0F4F09
-:1050E000384600F021F8386840F00110386020465A
-:1050F00000F007F835600120307100E001252846F6
-:10510000F2BD10B50021064A064B00EB8104491C94
-:1051100006296360E261F8D310BD0000000C00585E
-:10512000FB1100087F110008002101604FF03F11C2
-:1051300041603F218160704738B5040044D094F845
-:10514000210028B9002184F82010204601F05AFAE5
-:1051500000F049F8FF2510B100F03FF834E0216875
-:10516000DFF8B0008A6802408A6021688A68636854
-:1051700020690343A06903431A438A602168E068F9
-:10518000086120680169A26841EA02410161206862
-:10519000C16821F08001C1602068C16C21F002016A
-:1051A000C1642168CA6CE369606903431A43CA6435
-:1051B00020688168880609D400F020F830B12068A2
-:1051C0004562042100F01FF8012032BD20684562CD
-:1051D000012184F82110002032BD2068456204219D
-:1051E00084F821107047022084F82100CA20216829
-:1051F0004862532022685062204626E020460BE099
-:105200002068C0F8248084F82110002084F8200051
-:1052100070470000BFFF8FFF70B5044640F2E936CB
-:105220002068C16821F0A001C16001F089FA05463B
-:105230002068C168880606D401F082FA401BB0429B
-:10524000F6D3032070BD002070BD70B50446206801
-:10525000C1684A0612D44FF0FF32C26040F2E9360C
-:1052600001F06EFA05462068C168480606D401F0D0
-:1052700067FA401BB042F6D3032070BD002070BD1A
-:1052800038B5040009D004F18005686808B900F059
-:105290001EF800F021F8012801D1012032BDA06ADA
-:1052A00008B100F02AF800F00AF821F02A01FFE71F
-:1052B000816000F01BF8BDE8324000F002BB2068BE
-:1052C000416821F490414160206881687047002165
-:1052D0002970204601F0BAB924206860206801686E
-:1052E000490849000160204600F086B9206801683D
-:1052F00041F00101016020467047204600F07EBA6F
-:1053000070B5044604F180051346686820283CD136
-:1053100069B318002BD02878012836D001222A70D2
-:1053200004F154062165338073800020E860212059
-:105330006860706AE8B1DFF8B414C162DFF8B004E5
-:10534000716A0863716ADFF8AC0448630020716A0F
-:1053500088632068216D00F12802706A01F04DFA1F
-:1053600038B11020E86000202870202068600120FB
-:1053700070BD216840200862002028702068816884
-:1053800041F080018160002070BD022070BD816805
-:1053900021F0400181607047206881684A067047AB
-:1053A0002068016821F0100101607047F8B50446DB
-:1053B00040F60F002668F1693268B368084004F1CE
-:1053C0005C050ED1880602D5900602D4D80040F1C3
-:1053D00080806969002900F00E812046BDE8F44014
-:1053E0000847DFF80C06034204BFDFF808763A42AC
-:1053F0006FD0CF0707D5D70505D5012737622E6BAC
-:1054000046F001062E638E0708D5DE0706D527680D
-:1054100002263E622E6B46F004062E634E0708D528
-:10542000DE0706D5276804263E622E6B46F002068C
-:105430002E630E070AD5960601D4034206D02668CD
-:1054400008203062286B40F008002863080509D561
-:10545000500107D526684FF400603062286B40F099
-:1054600020002863286B002832D0890607D59006D3
-:1054700001D4D80003D5696909B120468847286B53
-:1054800021688A68510602D410F0280F1BD02046EC
-:1054900000F093FAFFF780FF10D5FFF778FF286A36
-:1054A00060B10FF2DD518163286A01F01FFA002814
-:1054B0000ED0286A816BBDE8F44008472046BDE85D
-:1054C000F24001F0F7BA204601F0F4FA0020286318
-:1054D000F1BD2869012853D1CF0651D5D0064FD54B
-:1054E0001020306222689068410626D5296A086833
-:1054F000406880B20028EBD02B8898427BDA688025
-:10550000086801688B0614D4106820F4807010605D
-:10551000206881684908490081602068FFF737FFEB
-:105520002020E86200202861FFF73AFF286A01F096
-:10553000A7F929886888091A1CE028886988411A0F
-:10554000688800281CBF88B2002854D01368DFF890
-:10555000400523F4907313602268936803409360BE
-:105560002020E8620020286168612068026822F03B
-:10557000100202602046BDE8F44089B201F09BBAF7
-:10558000C80209D5580207D54FF480103062204672
-:10559000BDE8F24000F010BB080609D5100601D4A2
-:1055A000180205D5A96931B32046BDE8F440084783
-:1055B00048060ED550060CD5306820F0400030600B
-:1055C0002021A9620020A8612046BDE8F24001F038
-:1055D0008ABA080206D5500004D52046BDE8F2403C
-:1055E00001F092BAC80148BF002A04D52046BDE8A0
-:1055F000F24001F08ABAF1BDF8B50446DFF8940430
-:105600002168DFF894C40A68DFF890740240A0684B
-:1056100002432069024360690243E06902430A6071
-:1056200000254A68E06822F4405202434A60A369B8
-:10563000714A91421CBF206A03438E68DFF8600400
-:10564000064033438B600FF26446CB6A606A1B09E5
-:1056500040EA0313CB626145DFF848044FF400438E
-:1056600039D13F6807F00307032F4DD8DFE807F073
-:10567000024643494FF0010CE169B1F5004F4FF686
-:10568000F07740F08080BCF1010F09D0BCF1020F2F
-:105690000AD0BCF1040F71D0BCF1080F71D099E0B1
-:1056A000FFF7CEFB002815D0626A616836F8123029
-:1056B000B0FBF3F04A0802EB4002B2FBF1F080B21B
-:1056C000A0F11001B942EAD20740C0F342000743FB
-:1056D0002068C7607FE0914216D13F6817F44067A9
-:1056E00023D0B7F5806F09D0B7F5006F03D0B7F5B9
-:1056F000406F06D008E04FF0020C07E04FF0040CBA
-:1057000004E04FF0080C01E04FF0100C9142B3D1CF
-:10571000BCF1000F09D0BCF1020F0AD0BCF1040F9C
-:1057200015D0BCF1080F15D054E0FFF781FB00281D
-:1057300051D0616A36F81120B0FBF2F6626802EBD4
-:1057400042018E4246D31103B14205D242E0FFF737
-:1057500025FBECE71846ECE75008002110EB06208B
-:1057600051EB16610023FBF7CFFDA0F54071DFF888
-:10577000382391422ED22268D0602CE0FFF70EFB36
-:1057800090E7184690E7BCF1010F09D0BCF1020F79
-:1057900009D0BCF1040F18D0BCF1080F18D019E0E3
-:1057A000FFF74EFBB8B1626A36F812306168B0FBA1
-:1057B000F3F000EB5100B0FBF1F080B2A0F110016A
-:1057C000B94207D22168C86005E0FFF7E7FAE9E7C8
-:1057D0001846E8E7012504F16800012141800180B5
-:1057E00000218160C1602846F2BD0000F95900081F
-:1057F000275A0008315A00080080004090F828100D
-:10580000CA0706D502685368C16A23F400330B4304
-:10581000536090F828108A0706D502685368016B18
-:1058200023F480330B43536090F828104A0706D5C1
-:1058300002685368416B23F480230B43536090F854
-:1058400028100A0706D502685368816B23F40043C9
-:105850000B43536090F82810CA0606D50268936877
-:10586000C16B23F480530B43936090F828108A0691
-:1058700006D502689368016C23F400530B439360D0
-:1058800090F828104A0610D502685368416C23F43A
-:1058900080130B435360416CB1F5801F05D15368F1
-:1058A000816C23F4C0030B43536090F828100A0660
-:1058B00006D501684A68C06C22F4002202434A609F
-:1058C0007047F8B5044604F180050020E8606FF0E9
-:1058D0007E4700F035FF0646206801680A0708D5B4
-:1058E0000097334600224FF40011204600F017F8CD
-:1058F00060B9206801684A070AD50097334600223C
-:105900004FF48001204600F00AF808B10320F2BDF0
-:1059100020206860A8600020E0662870F2BD2DE9B4
-:10592000F041069C05460E4690461F462868C16910
-:105930003140B1420CBF0120002040451CD114F180
-:10594000010FF3D000F0FCFEC01B844200D314B959
-:1059500000F015F80CE0286801684A07E6D5C1692F
-:105960000A05E3D54FF40062026200F008F8C16056
-:1059700000210170032000E00020BDE8F0812868CC
-:10598000016821F4D07101602868816849084900E4
-:10599000816005F1800020214160816070470168CD
-:1059A0000A6822F0C0020A6001688A6822F40002D4
-:1059B0008A602021C0F88410704701680A6822F4C8
-:1059C00090720A60DFF8C810026893680B40936019
-:1059D000C16E012904D101680A6822F010020A6030
-:1059E0002021C0F888100021C166016770470000BF
-:1059F0000100001020010004816A0068026893061B
-:105A000044BF084601F06FB80020A1F856000868AE
-:105A1000826822F0800282600868FFE7016841F036
-:105A2000400101607047806A01F070B8000000001A
-:105A3000F8B5846A04F1840504F1560728686E6895
-:105A400021688A68110606D5212804D100203880F3
-:105A50002046FFF7A4FF20688168480606D5222E5D
-:105A600004D1002038812046FFF7A7FFA86840F046
-:105A70001000A8602046BDE8F24001F01BB800000D
-:105A8000806A00F1560100220A810A8001F012B8F2
-:105A9000FEFFFFEFF369FFCF003801408800005898
-:105AA000FFF4FF110024F40000FD0F0001000200CC
-:105AB0000400060008000A000C001000200040004E
-:105AC0008000000110B500F180010A78012A01D19F
-:105AD000022010BD01230B7024224A600268136863
-:105AE00014686408640014600022426623F00053C6
-:105AF00000680360202048600020087010BD70B569
-:105B000000F01EF801D1022070BD00F01FF822F055
-:105B1000604209E070B500F013F801D1022070BDB9
-:105B200000F014F822F0606211438160204600F01A
-:105B30001AF820680660202068600020287070BD78
-:105B4000044604F1800528780128704701222A7054
-:105B500024206860206806680268520852000260CB
-:105B600020688268704730B5416E11B90121012269
-:105B700014E001680FF230048A6889680FF230037C
-:105B8000520E02F00702490F655CA45C595C9A5CF6
-:105B9000ED00E40095FBF1F194FBF2F268304180F6
-:105BA000028030BD00000000010101030701000078
-:105BB0000804020408010101704700000901020005
-:105BC00081B002D43C48815405E03C4802F00F0209
-:105BD000104400F8041C01B07047394A13684FF6AE
-:105BE000FF0100020B4000F4E06018433549084310
-:105BF0001060704738B5324B1C68C4F30223C3F100
-:105C00000704052C28BF04241D1D072D34BF0023C5
-:105C1000DB1E012505FA04F4641E2140994005FAB3
-:105C200003F35B1E1A401143BDE83440C6E7000091
-:105C3000010007D4012200F01F01234B8A404009D4
-:105C400043F82020704701000BD4012200F01F010F
-:105C50001E4B8A40400943F82020BFF34F8FBFF30B
-:105C60006F8F704710B5401EB0F1807F01D30120C7
-:105C700010BD174C60600F214FF0FF30FFF79EFF03
-:105C80000022A26007202060002010BD010007D480
-:105C9000012200F01F010F4B8A40400943F82020E9
-:105CA0007047010007D4012200F01F010A4B8A400F
-:105CB000400943F82020704700E400E018ED00E0C0
-:105CC0000CED00E00000FA0500E100E080E100E0FA
-:105CD00010E000E000E200E080E200E07047704782
-:105CE00070477047704770477047704770477047FC
-:105CF0007047704738B5054684B068780024FF289F
-:105D000002BFB5F8031040F60140814225D1654934
-:105D10008A88B5F80700921C904209D1687B01245B
-:105D2000C10752BF8DF8004000218DF8001011E02E
-:105D30004988491C884210D10FF27010FDF710FEFF
-:105D400003208DF8000005F10D00B5F80B108DF85B
-:105D5000081001906846FDF7E3F9204605B030BD14
-:105D600010B58AB050484F4CFDF718F98F218DF8C7
-:105D70001810E520B3218DF819008DF81A10D520E0
-:105D80002E218DF81B008DF81C107F204A218DF8E4
-:105D90001D008DF81E1098202A218DF81F008DF807
-:105DA000201048207A218DF821008DF82210CC2077
-:105DB00040218DF823008DF82410FE2000218DF85D
-:105DC0002500ADF8261000940823012206A9022020
-:105DD000FEF7E5F800F032F8412000F023F8A01CAF
-:105DE00000F010F8062100F015F800F027F8422026
-:105DF00000F018F8201D00F005F8102100F00AF856
-:105E00000AB010BD059001210491029100200A22E0
-:105E100001907047039200910223208806AA022174
-:105E2000FEF70CB98E218DF824008DF82310002088
-:105E3000FE21ADF826008DF82510704719208DF849
-:105E40001800ED2182208DF81A008DF81910ED2030
-:105E5000AE218DF81C008DF81B104C2021218DF8EF
-:105E60001E008DF81D1041209D218DF820008DF819
-:105E70001F10222045218DF822008DF82110704737
-:105E800080B542224FF64263984208D105480091FE
-:105E90000223818800880022FEF72AF90246104674
-:105EA00002BD0000F82A0020F55C00082D2D2047D7
-:105EB000415454203A204C454420434F4E464947D4
-:105EC00055524154494F4E20524543454956454449
-:105ED0000A000000704770477047704710B50446CD
-:105EE000FBF7BEF9204610BD10B5044610460A4621
-:105EF0000146204600F00CFE204610BD2DE9F84F6B
-:105F00004FF00009614A624B4FF00F0805460E46FC
-:105F100033E0604FBD4214BF072704278F4027435B
-:105F20004CF82E70C1431C6801EA040C7468E40349
-:105F300048BF40EA0C0CC3F800C05C6801EA040CDE
-:105F40007468A40348BF40EA0C0CC3F804C014688A
-:105F500001EA040C7468E40248BF40EA0C0CC2F881
-:105F600000C0546801EA040C7168890248BF40EA25
-:105F70000C0CC2F804C009F10109316831FA09F0CA
-:105F800072D0012404FA09F414EA0100F3D04FEAB4
-:105F9000490C032101FA0CF16FEA010E7168012925
-:105FA00018BF022903D0112918BF122911D1A968DD
-:105FB000F7680EEA010107FA0CF73943A96069682E
-:105FC00021EA04047168C1F3001101FA09F10C43DC
-:105FD0006C60E968B4680EEA010104FA0CF421432C
-:105FE000E9604FEA89017468022C18BF122C12D1A3
-:105FF0004FEAD90405EB840401F01C07D4F820A073
-:1060000008FA07FB2AEA0B0AD6F810B00BFA07F7D2
-:1060100047EA0A0727622C680EEA0407347904F07D
-:10602000030404FA0CF43C432C607468E400A2D529
-:10603000DFF864C04FEA990E5CF82E7001F00C0195
-:1060400008FA01F427EA0404B5F1904F08BF0027CD
-:1060500009D0124FBD4208BF012704D0104FBD42E6
-:106060007FF457AF022759E7BDE8F18F81B0002ACE
-:1060700014BF8161816201B070470A4A136803420C
-:106080001CBF1060FEF73ABA7047000000080058C5
-:106090008008005800100048080001400004004833
-:1060A000000800480C0800580346002009B95A604F
-:1060B00070470120704708B9012070470160002037
-:1060C00070470000C0680840884201D10120704735
-:1060D00000207047C0690840884201D10120704704
-:1060E0000020704710B56C4C02212046FFF7F2FFEC
-:1060F00038B16068C043810703D5FEF7FCF8022081
-:1061000018E001212046FFF7E5FF38B16068C04381
-:10611000C10703D5FEF7B7F801200BE008212046A0
-:10612000FFF7D8FF38B16068C043010703D5FEF719
-:1061300036F90820A06010BD10B5574C00F033F8B8
-:1061400018B96068C043810306D400F02CF830B958
-:106150006068C043810302D5BDE810407AE00821A1
-:1061600000F022F870B96068C04301030AD5606886
-:106170004A4940F400206060086880474FF40020DE
-:10618000A06010BD202100F00FF858B96068C0432E
-:10619000810207D5606840F400106060BDE81040DF
-:1061A000FEF780B810BD022120468BE73C4881B045
-:1061B000016841F480110160006800F480100090D3
-:1061C00000983848016841F400710160364802685F
-:1061D00042F40072026040BF20BF3448016841F4BD
-:1061E0000041016001B0704780B53148016841F459
-:1061F00080110160006800F480100090009826482B
-:10620000016841F001010160026842F480320260DD
-:106210002C20FFF70DFDBDE802402D20FFF708BD43
-:1062200024480168490849000160704722494FF439
-:106230008030086070471F48016821F0020101604A
-:1062400070471C484FF400314160016821F400316F
-:10625000016070471748016841F400310160FEF7A2
-:1062600043B838B504460C4D08212846FFF72AFFED
-:1062700030B10A480460686820F40020686031BDCD
-:10628000A0474FF40021A96031BD0A48016821F000
-:106290000801016070470000000C00580C2B002022
-:1062A00050010058D4080058200800580C04005829
-:1062B00050000058040C0058080C005802480168AF
-:1062C00041F400710160704708040058484900E03B
-:1062D000484981B00A6802430A6009680840009092
-:1062E000009801B0704780B5FEF7D1F9FEF7D1F9FB
-:1062F0004148016841F48031016000F058FCBDE87C
-:1063000001400EE000B587B068460FF218211C224C
-:10631000FAF7B6FFFEF737F86846FCF7F3FC07B06C
-:1063200000BDF0B585B068461421FEF7C3F900261C
-:106330000025002400210FF2DC0000EBC10290795F
-:1063400088B11368B3F1904F08D02C4FBB4208D0EE
-:106350002B4FBB4204BF9088044304E0908806435F
-:1063600001E090880543491C2229E4DB00200290CB
-:106370000121032003900191B0B288B10090012067
-:10638000FFF7A4FF0120FFF7A3FF69464FF09040FD
-:10639000FFF7B4FD0022B1B24FF09040FFF766FE68
-:1063A000A8B280B100900220FFF790FF0220FFF713
-:1063B0008FFF124E69463046FFF7A0FD0022A9B2BA
-:1063C0003046FFF753FEA0B280B100900420FFF7E3
-:1063D0007DFF0420FFF77CFF094D69462846FFF743
-:1063E0008DFD0022A1B22846FFF740FE05B0F0BDAA
-:1063F0004C0000584C010058900800580004004818
-:1064000000080048FCF760BD13460A46014600201C
-:1064100000F052BB000000480100000000000048EE
-:1064200001000000000000480100000000000048DA
-:1064300001000000000000480100000000000048CA
-:1064400001000000000000480100000000000048BA
-:1064500001000000000000480100000000000048AA
-:10646000010000000000004801000000000000489A
-:10647000010000000000004801000000000000488A
-:10648000010000000000004801000000000000487A
-:10649000010000000000004801000000000000486A
-:1064A000010000000000004801000000000000485A
-:1064B000010000000000004801000000000000484A
-:1064C000010000000000004801000000000000483A
-:1064D000010000000000004801000000000000482A
-:1064E000010000000000004801000000000000481A
-:1064F000010000000000004801000000000000480A
-:1065000001000000000000480100000000000048F9
-:1065100001000000000000480100000000000048E9
-:10652000010000000000000000000000000000006A
-:1065300014640008280003202C0003202204040017
-:106540000249016002490161704700BFAB42000887
-:10655000D342000870B50F4E044630780025A8B12C
-:10656000FEF758FC32784FF47A71B1FBF2F1B0FBD0
-:10657000F1F0FFF777FB48B9102C07D20022214633
-:106580004FF0FF30FFF736FBB46000E001252846EE
-:1065900070BD00BF2C260020544981B00A68024318
-:1065A0000A60096808400090009801B0704780B503
-:1065B0004FF40020FFF7F0FF002200212E20FFF70C
-:1065C00019FBBDE802402E20FFF732BB00684849A6
-:1065D000884200D0704780B54FF48010FFF7DCFF91
-:1065E000002200212C20FFF705FB2C20FFF720FBC9
-:1065F000002200212D20FFF7FDFABDE802402D20EA
-:10660000FFF716BB1CB504463A49206888421CD1E6
-:10661000FEF754F8FEF752F83748816B21F44071C9
-:1066200041F480718163816B41F4004181630268B0
-:1066300042F480620260006800F48060009000987C
-:106640002046BDE8164000F0FDBA13BD38B586B04F
-:10665000044601A81421FEF72DF82168274A91422B
-:1066600042D12748274D416941F4804141610222CE
-:10667000416901F4804100910099016841F00101F4
-:1066800001604FF4C061006800F0010000900098C4
-:1066900001910120039003210720049105900292AB
-:1066A00001A94FF09040FFF729FC174828600F2000
-:1066B00068601020A8600020E86080202861002029
-:1066C0006861A861E8612862284600F03FF808B1D7
-:1066D000FCF75CFCA567AC62002200212420FFF7D8
-:1066E00089FA2420FFF7A4FA07B030BD5000005803
-:1066F000000C0058002800405800005800380140A5
-:106700004C000058E02800204400024000B500BFC3
-:10671000130096469446103928BFA0E80C50FAD8CA
-:106720005FEA417C28BF0CC048BF40F8042BC90772
-:1067300028BF20F8022B48BF00F8012B00BD000045
-:1067400001484068704700BF2C26002038B504007F
-:1067500001D1012032BD2168DFF840034018142226
-:1067600004F12405B0FBF2F2DFF83403E861920093
-:106770002A62022068700A68A0686FF30E12024352
-:10678000E06802432069024360690243A069024352
-:10679000E0690243206A02430A60204600F058F98B
-:1067A000A068B0F5804F04BF002161602079696A5C
-:1067B00000F03F0000F014F838B1052805D220465B
-:1067C00000F05AF900F012F803E000202863686333
-:1067D000A8630020A861012068700020287032BDE5
-:1067E0000860A96AE86A486060687047296B002001
-:1067F0000860696BA86B48607047F8B5044604F1FF
-:10680000240600253078012801D10220F2BD01279D
-:106810003770707801282FD102277770B561206812
-:1068200007687F087F000760204600F0F5F82168C0
-:10683000F06820B10A6842F00E020A6008E00868B9
-:1068400020F0040008602068016841F00A0101603E
-:10685000706A0168CA0303D5026842F4807202605C
-:10686000306B18B1016841F48071016020680268E2
-:1068700042F00102026001E0357002252846F2BDB7
-:1068800081B040B100F124014A78022A05D00420E9
-:10689000886100200870012026E00268136823F058
-:1068A0000E0313604A6A136823F480731360006850
-:1068B0000268520852000260012091F82020CB6942
-:1068C00002F01C02904058608A6AC86A5060086BE7
-:1068D00030B1026822F4807202604A6B886B5060AB
-:1068E000012048700020087001B0704738B500F1F1
-:1068F000240200245178022903D00420906101244D
-:1069000028E001680B6823F00E030B6001680D6836
-:106910006D086D000D60516A0B6823F480730B6085
-:10692000012192F82030D56903F01C039940696079
-:10693000936AD16A5960116B31B10B6823F480738B
-:106940000B60536B916B5960012151701470516948
-:1069500001B18847204632BDF8B500F12401042377
-:10696000CA6914680268156891F8206006F01C0670
-:1069700003FA06F73C4210D06F070ED51468A5063F
-:1069800003D4156825F00405156000F03DF8C968CA
-:10699000002938D0BDE8F4400847022303FA06F77F
-:1069A0003C4213D0AF0711D51468A50605D415686D
-:1069B00025F00A05156001224A7000F025F8002232
-:1069C0000A708968F9B1BDE8F4400847082303FA62
-:1069D00006F6344217D02B0715D5136823F00E03A3
-:1069E0001360012291F82030CC6903F01C039A4017
-:1069F000626001228A614A7000220A70096911B13D
-:106A0000BDE8F4400847F1BD91F82020CC6902F0C0
-:106A10001C0293406360704778B5C56C046D6C6070
-:106A2000446D14B1846DC56D6560012590F84440D6
-:106A3000066C04F01C04A5407560046863608068FF
-:106A4000102802D1A260E16071BDA160E26071BD59
-:106A5000426C1449920801EB82018164142201788E
-:106A60000839B1FBF2F1104AC26401F01F010122A2
-:106A700002FA01F10165704701790C4A01F03F010A
-:106A800002EB81024265491E094A826501F0030159
-:106A900001228A40C265704700000000F8FFFDBF78
-:106AA000000002400008024080080240FC0802404A
-:106AB000400902407047704710B5002488B911485A
-:106AC00003600E480E4B0360FEF71AFC012805D048
-:106AD00007D3032804D038BF022402E0012400E0D9
-:106AE0000324204610BD00680549884204D10549A9
-:106AF0000868002818BF0047704700003C260020A7
-:106B000000380140102B002070477047704700008C
-:106B100062F30F2262F31F42401810F0030308D003
-:106B2000C91A1FD3DB0748BF00F8012D28BF20F882
-:106B3000022D130030B414461546103928BF20E941
-:106B40003C00FAD8490728BF20E90C0048BF40F8AC
-:106B5000042D890028BF20F8022D48BF00F8012D20
-:106B600030BC7047C91818BF00F8012DCB0728BFEB
-:106B700000F8012D7047000038B5EFF3108472B6AD
-:106B8000284D6946281D00F08DF96946281D00F042
-:106B9000E6F938B184F31088BDF80010224AFFF7F7
-:106BA00033FC31BD0120287084F3108831BD80B5DD
-:106BB000FFF728FC0221009100231A4800F124016C
-:106BC0004FF48052001D00F054F801BD00BFF8B52D
-:106BD00014460026EFF3108510F1010F1ED0012896
-:106BE0001CBF02284FF0FF3618D1BCB1264672B642
-:106BF0000C4F012392B2381D00F04FF800281CBF43
-:106C00003978002908D000223A7085F31088A1B2A3
-:106C1000054AFFF7F9FB01E085F310883046F2BD25
-:106C20000000000008140020796B00088A60FF2132
-:106C300002685162012180F82110002180F82010A3
-:106C40000020704790F82010012901D102207047E0
-:106C5000012280F82020022180F82110CA21026838
-:106C6000516253210368596201688A6842F0200228
-:106C7000DCE710B5029C016042600021C160016147
-:106C8000416181610381A107047704D5008910B1B6
-:106C90004FF0FF3010BD002010BD2DE9F04F06462B
-:106CA00085B030890C460027BB4600287169DC4658
-:106CB0000CBF4FF00208D84681B168B930697768D7
-:106CC000451CBD4228BFED1B3768385C7D5D00EB7D
-:106CD0000527BF1CBFB203E0074600E000B1024633
-:106CE0003069F568A84223BF7568281AC01B0020C8
-:106CF000154608EB050903FB09FE864532BF002057
-:106D0000B0FBF9FA09FB1A00C0B2804509DA96F81F
-:106D10001C905FEAC97A48BF84465FEA897048BF21
-:106D2000C446100000F0B480706871446144884229
-:106D3000C0F0AE8008EB020080B20390D946100A82
-:106D4000ADF802000294ADF80020049359E08007EA
-:106D500040D53089002840F09B803268D018A34687
-:106D600000F8024C200A32681A4402F8010C22464C
-:106D700030681844FAF774FA706920187061B069C5
-:106D8000019C401CB061200A31680C703168487069
-:106D90001CE08CB3307FC207D9D5308940B9316847
-:106DA0001944FF2001F8020C3168194401F8010C64
-:106DB0004FF0000B7069241874612C463089002351
-:106DC00040B931680C70210A306841700223706943
-:106DD000801C706108EB04070021BFB231615CB117
-:106DE000DA44029800EB0A01306822461844FAF7A8
-:106DF00037FA70692418746109F10109B069401CFF
-:106E0000B061049A70683169914545D27918814220
-:106E10002CBF081A0846306103463089A0B9306893
-:106E2000BDF80010C1545B1C70683168834228BFF4
-:106E30001B1ABDF80200C8545B1C7068834228BF4F
-:106E40001B1A7069801C706105FB09FA7468BDF833
-:106E50000000E41A844288BF0446029800EB0A014D
-:106E6000281BAC42019003D093D2307F002890D1F0
-:106E700037682246F818FAF7F3F97069201870613C
-:106E8000A346019C039F0023A9E73068404400E02B
-:106E9000002005B0BDE8F08F88448045F5D3A8EB0D
-:106EA0000008F2E778B5028900230B80002A4469C4
-:106EB0000CBF02250025002C4FD0028952B9C268B0
-:106EC0004668531CB34228BF9B1B0668B25CF35C48
-:106ED00002EB03220A80027F02F00302012A25D17D
-:106EE0000B884FF6FF72934204BF0289002A09D033
-:106EF000C36802699A4219D20289BAB14668F31A84
-:106F0000934213D24368C268E41A14190022C26083
-:106F1000446102894AB902681478012B94BFC3F115
-:106F200001030123D25C04EB02220A80C468426898
-:106F300006682B19934228BF9B1A33440E88416977
-:106F4000891B491B416105D034192D19954228BF71
-:106F5000AD1AC5608169491E8161184672BDF8B5D8
-:106F6000028900230B80002A42690CBF02240024FE
-:106F7000002A3BD0C56802892B464AB946686A1C7C
-:106F8000B24228BF921B0668775DB25C07EB022213
-:106F90000A80067F06F00306012E20D10F884FF6E7
-:106FA000FF72974204BF0289002A07D1426800237A
-:106FB000012A94BFC2F1010201220AE00269AA4239
-:106FC0000DD202895AB14668751B954207D200233B
-:106FD00004E005682E78AA5C06EB02220A8041686C
-:106FE0000068E4188C4228BF641A03191846F2BDE1
-:106FF00010B50446AFF30080204600F005F80446C3
-:10700000AFF30080204610BD7CB500F10F06F608F6
-:10701000F600B04240D2082E04D2082602E0083022
-:1070200000F047F8DFF804512C68210005D100205A
-:1070300007E00268B24221D2011D08680028F8D199
-:107040002068291D0A68824222D01368B34238BFE3
-:10705000111DF7D312E093190B60801B54685C601C
-:107060000B6818601660096800291DBF4868002871
-:10707000081D0020286002F1080076BD61B10A6891
-:107080001068A0F10803B342E5D250680860EAE74F
-:1070900000F04EF80028C2D1002076BD10B50400E3
-:1070A00006D0AFF30080204600F003F8AFF3008075
-:1070B00010BD002800D1704750B4A0F10802136839
-:1070C000072B2BD913F0070F28D1184C616809B191
-:1070D0008A4202D25160626013E0486800B3904275
-:1070E00038BF0146F9D31BE0964203D11B180B6051
-:1070F0000A4606E0486810B1134498420ED3506027
-:107100004A60506850B11368D118814206D10021FD
-:1071100021600168CB1813604068506050BC704714
-:1071200008680E18B242DFD250BC7047E82A00202F
-:107130000749086808B1002070470648C008C00029
-:1071400008600549C908C900091A0160704700BFF5
-:10715000202B00200F1000200814002013490020CD
-:1071600008604FF4E0221248016841F470010160A8
-:107170004FF0B041086840F0010008608A600D4897
-:107180000A6802400C480A60036823F005030360A4
-:10719000426852085200426000220848C8600868ED
-:1071A00020F4802008608A617047000008ED00E04C
-:1071B00088ED00E0FBFEF6FA94000058001004226F
-:1071C00001000000030000000500000001000000B5
-:1071D00001000000060000000A000000200000007E
-:1071E0000200000004000000080000001000000081
-:1071F00040000000800000000001000000020000CC
-:10720000A0860100400D0300801A060000350C0026
-:1072100040420F0080841E0000093D0000127A00E9
-:107220000024F40000366E010048E801006CDC0226
-:10723000000000000000000000000000000000004E
-:107240002DE9F04107468846387810F0030F1646BE
-:107250001D4633D0384600F099F878BBB8F1000FDE
-:107260001CBFD8E900018619012D2ED13888C10430
-:1072700015D5396A07F14402384600F0A3F83A6B95
-:10728000044602B93A69F968384600F09BF8361BA3
-:10729000341A7A69F968384600F094F8261A1EB94B
-:1072A0004DB916F1010F09D097F903002A4631466E
-:1072B00000F08EF8064616F1010F09D12320AFF336
-:1072C00000804FF0FF30BDE8F081022DE8D1EBE700
-:1072D000388810F4405F0ED07868F86038617861C3
-:1072E000B8617868F86107F14400386207F130004E
-:1072F000786200203863B8F1000F05D0D8E90201A8
-:1073000007F13402C2E9000139884CF6FF60014000
-:1073100039800020BDE8F08170B50546AFF30080EC
-:107320002888810415D56E680024EA6895F9030061
-:107330003146914212D2521AFFF748FC10F1010F68
-:107340001CBF00283618F0D10FE04DF6FF70014049
-:1073500029802846AFF30080002070BD0022002164
-:10736000FFF734FC10F1010F00D101246868E860D8
-:10737000A861E861002C2988E7D041F400712980D8
-:107380002846AFF300804FF0FF3070BDF8B5A0B9CC
-:10739000AFF3008000250A4E08244FF0FF37306815
-:1073A00020B1FFF7B9FF002848BF3D46361D641ED7
-:1073B000F5D1AFF300802846F2BDBDE8F240ABE75F
-:1073C000E8250020914234BF511A00210846704739
-:1073D0003EB504000D00012A02D100F063F807E079
-:1073E000022A07D100940020019069460C20ABBE10
-:1073F0002D1801E0002A0CD10094019569460A205D
-:10740000ABBE002805D100222100280000F027F89B
-:1074100001E00020C04303B030BD000010B4314A89
-:10742000002113461C6884421EBF491C9C6884428C
-:107430001EBF491C1C69844209D09C69491C8442B6
-:1074400005D0491C20331029ECD310BC7047002311
-:1074500042F8313002EBC1014B6010BC704778B488
-:10746000204C002325462E688E421EBF5B1CAE6852
-:107470008E421EBF5B1C2E698E4209D0AE695B1C1A
-:107480008E4205D05B1C2035102BECD372BC7047AC
-:10749000054604EBC303012A04BF59684D195D601A
-:1074A00072BC704710B40F4A002113461C68844216
-:1074B0001EBF491C9C6884421EBF491C1C69844233
-:1074C0000AD09C69491C844206D0491C20331029EB
-:1074D000ECD310BC0020704702EBC100406810BC28
-:1074E000704700006028002010B50446E068A169DC
-:1074F000884251D3218849F202030B40022B08D065
-:1075000008044CBF4FF400704FF4844001432180C5
-:107510003BE001F4C042B2F5C04F06D1A1688842F9
-:1075200003D32046FFF732FF78BB208810F4406F6A
-:1075300002BF606804F14401884217D14FF4007023
-:10754000FFF756FD606030B904F144006060E06010
-:10755000401CA0600AE0218841F040012180E060E9
-:10756000606100F500726068A260E061606820619F
-:10757000A068A061207841070AD502220021204698
-:1075800000F00CF810F1010F02D14FF0FF3010BDE8
-:10759000208840F4C0402080002010BD70B5044613
-:1075A0000D461646AFF3008033462A46002120469A
-:1075B000FFF746FE05462046AFF30080284670BD23
-:1075C0002DE9FC4D016800F10805490805EBC102F1
-:1075D000019200F10802406800F0010A02EBC108C4
-:1075E000400808EBC00B00200021019A95422FD0E3
-:1075F0002A68AE186A68324400920835009A9642AA
-:10760000F3D016F9014B009A964205D12A68AE18BC
-:107610006A6832440092083516F8017B884210D11E
-:10762000D84508BFFAF747FBD8F80000D8F804108F
-:10763000BAF1000F18BF48440144884208F1080815
-:10764000EED0002C00F8017B05D5641CE6D1D5E70F
-:107650005846BDE8F68D641ED5D5CFE738B5040091
-:107660000ED0207810F0030F03D094F90300002807
-:1076700009D5AFF30080204600F030F8AFF300806A
-:107680004FF0FF3032BD2046FFF780FE0546AFF3D6
-:1076900000802078410644BF606800F05DF800205B
-:1076A000606094F90300022804D900F057F808B18B
-:1076B0004FF0FF35E06B48B100F05CF808B14FF0D7
-:1076C000FF35E06B00F048F80020E063204600F052
-:1076D00005F8AFF30080284632BD000001780A06A5
-:1076E00026D51C4A13680021834203D1002342F8A7
-:1076F00021301BE05368012183421EBF02219368A1
-:107700008342F3D0D368032183421EBF042113694F
-:107710008342EBD05369052183421EBF0621936942
-:1077200083421EBF0721D3698342DFD000F014B823
-:10773000002101804FF0FF31C17000F14401416030
-:10774000C160016141618161C161016200F130018B
-:1077500041627047E8250020FFF7A0BC1CB502007D
-:10776000009269460220ABBE04001000FFF756FEEF
-:10777000200016BDE0B50090F9F724FD01906946A0
-:107780000E20ABBE03B000BD38B50C46C5B22046D6
-:10779000AFF30080E068A169884204D32046FFF778
-:1077A000A3FE00280FD4E068401CE06000F8015DF3
-:1077B0002088010503D440050BD50A2D09D12046A8
-:1077C000FFF7E4FD28B12046AFF300804FF0FF3013
-:1077D00032BD2046AFF30080284632BD00F024F8C9
-:1077E000012810D00D4880470D480047F0B54346AA
-:1077F0004C4655465E466746F8B40A4C6B462360D5
-:10780000BFF34F8F30BF074C2468A546F8BC98469D
-:10781000A146AA46B346BC46F0BD00005D71000813
-:10782000417A0008142B00200249002008607047AC
-:1078300000000000182B0020FEE7FEE7FEE7FEE751
-:10784000FEE770477047704700F01CB80248FFF72A
-:1078500083B80248FDF7AABDE02800203C2600209E
-:10786000FEF740BCFEF768BC00F014B80120FEF73C
-:1078700004BC1020FEF701BC4020FEF7FEBBFBF766
-:10788000E0BE0000024841680278891841607047F4
-:107890002C2600200449C8680A6882430A604860B0
-:1078A00000F004B80000000000150058704719E00F
-:1078B00050F8042BD30744BFA9F101039A18091FFC
-:1078C0000023042942F8043BF9D25FEA817C134685
-:1078D00004D54FF0000CA2F800C09B1CC90744BFA0
-:1078E0000021197050F8041B0029E1D170470000F5
-:1078F00038B50D4D0824286800281CBF017811F008
-:10790000030F05D090F90310002958BFFFF7A6FE1A
-:107910002D1D641EEFD1BDE83840002200214FF03C
-:10792000FF30FFF753B900BFE825002010B5074925
-:1079300079441831064C7C44163404E00A68081D6A
-:10794000114488470146A142F8D110BD2C00000027
-:10795000780000004EF68851CEF20001086840F42D
-:1079600070000860BFF34F8FBFF36F8F4FF0007050
-:10797000E1EE100A7047000037FFFFFFEC04000043
-:107980003C260020700800003000032000000000AA
-:1079900031FCFFFF02000000020000004C0100006B
-:1079A00002000000280003200800000015FCFFFF73
-:1079B0000200000002000000320100005E01000031
-:1079C0000814002034120000000000000000000035
-:1079D00000000000000000000100000002000000A4
-:1079E000030000000400000000F00DF8002801D0A2
-:1079F000FFF79CFFAFF300800020AFF30080FBF7A0
-:107A000096F900F002F80120704700F001B800007C
-:107A10000746FFF76DFF3846FAF706FAFBE738B579
-:107A200004460D46284600F005F8A84218BF002479
-:107A3000204632BD0149FFF7A7BE00BFBC2400208D
-:107A4000AFF30080FFF786FFFFF7CEFF00002E00A8
-:107A50004300FFF7FEBFFFF7FEBFFFF7FEBFFFF7D4
-:107A6000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF74A
-:107A7000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF73A
-:107A8000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF72A
-:107A9000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF71A
-:107AA000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF70A
-:107AB000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7FA
-:107AC000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7EA
-:107AD000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7DA
-:107AE000FEBFFFF7FEBF0000F8000001810081002B
-:107AF000810081008100810081008100810081007E
-:107B0000810081008100810081008100810081006D
-:107B1000810081008100810081008100810081005D
-:107B2000810081008100810081008100BD0004503E
-:107B30007A000801FD000388250020D80003E51025
-:107B40000008FC0004D310000801F9001301040030
-:107B500000B8240020B9240020B8240020B8240054
-:107B600020FC0003B8240020FC0007B8240020A457
-:107B7000240020E000130204010190290020E029E4
-:107B800000209029002090290020FC00039029006B
-:107B900020FB0006250020EC240020E00013020852
-:107BA000020240290020902900204029002040297D
-:107BB0000020FC000340290020FC0007482500208D
-:107BC00034250020DD00044800100048FD000D4869
-:107BD000153F00081B3F0008213F00080FFD000073
-:107BE0000FFD00000FE5001B4C7A00084C7A0008DE
-:107BF0004C7A00084C7A00084C7A00084C7A00084D
-:107C00004C7A0008F8FF0B4E7A00084C7A00084CBA
-:107C10007A0008FAFFEA00F8FFF4000B7424002051
-:107C2000BC24002004250020EC00030DFF0183EBA1
-:107C3000000B040048000400480004004801F9005B
-:087C40000010FC0002093D00E8
-:0400000508007A4134
+:101E300011001820ABBEFBE72600020018B58FB0DA
+:101E400002A80FF68831DFF834453422FFF718FA7C
+:101E50000FF27D500190009469460FF25D5000F042
+:101E6000CFFD0121022000F0B4FEDFF8142500218F
+:101E7000042000F02CFF02A800F0B2FF08B101F02E
+:101E8000EEF800F022F901F0EBF8DFF8F8440FF279
+:101E90003142002084F8800000214FF6FF70E0827C
+:101EA000012000F014FF0FF265420021022000F033
+:101EB0000EFF062001F06AF9DFF8CC040021017062
+:101EC0000121417001F0F5F90FF23143002204F1D4
+:101ED0008101002001F0EAFC0FF22943002204F105
+:101EE0008201002001F0E2FC002020838021DFF845
+:101EF0009C040180A0214180012000F078F910B0FD
+:101F000010BDF8B50746DFF87C447878DFF87854E0
+:101F1000052804F1800604D03E2814D0FF285AD0AA
+:101F2000CAE0B888E18A884206D10020E082307099
+:101F30000FF2B04001F07CFD012000F058F90120C3
+:101F40002871E08A42E0F87801282BD0032802D0DB
+:101F50000C2803D0B0E00FF2B440A3E00FF2D84059
+:101F600001F066FD387900280CBF0FF2E8400FF24F
+:101F70000C5001F05DFDE08A6A460DF1010101F0AF
+:101F800095FD60B90FF21C5001F052FD9DF8002044
+:101F90009DF801100FF2205001F04AFD8CE00FF285
+:101FA00034507FE0707801F0A7FCB7F805100FF20D
+:101FB000405001F03DFD307804280CBF062005207C
+:101FC00030700021B7F80500E0822971E880281DF3
+:101FD00001F069F970E0B7F80300001F65D04FF415
+:101FE0007F71401A18D0401E4DD0401E17D0401EA1
+:101FF00020D0401E21D0401E22D0801E50D0401E36
+:1020000028D0401E2CD0401E27D040F2F631401A76
+:1020100004BF012068704FE00FF2185042E00FF249
+:10202000445001F005FDE08AD94901F049FE0FF264
+:102030005C5037E00FF2745034E00FF2A05031E002
+:102040000FF2CC5001F0F4FCE08A01F0B5FE0FF283
+:10205000E85027E00FF2FC5024E00FF2286021E066
+:10206000D7F807100FF24C6001F0E2FCD7F8071028
+:102070000FF2586001F0DCFCE08A012101F0EEFE75
+:102080000FF25C600EE0F9790FF2946001F0D0FC81
+:10209000F879002814BF0FF2FC600FF2E46001E051
+:1020A0000FF2047001F0C4FC06E0012001F036FFDD
+:1020B000B0780A2101F06FFC0120F2BD01F013B9E4
+:1020C0000021022000F010BE704730B587B000201C
+:1020D000ADF81A0001F0C0FCAE48AF4D016811F137
+:1020E000010F0ED042682974120A090A697405F1B9
+:1020F00010044068A874EA74100A120C28756A75F6
+:1021000006E0002001F08CFF040008BF0FF68C04ED
+:1021100022460621002001F004F860790FF68402BF
+:102120002872102120796872E078A872A078E8728D
+:10213000607828732078934C6873182000F0F1FFC2
+:102140000FF670021021082000F0EBFF182101208B
+:1021500001F00EF801F076FF0DF1160006A90190CE
+:10216000009105AB07220021012001F0C6FD0FF20E
+:102170006460BDF8181000900723BDF81400002219
+:1021800002F020F80DF11A0000900223BDF816109D
+:10219000BDF81400002202F015F8022202210020EE
+:1021A00001F0B7FC0120207001F03EFD01206070BD
+:1021B000012108202071A1701020607100210020F1
+:1021C000E070049110217548A0600390082200205F
+:1021D000029001910092002301220121012001F0CF
+:1021E0003CFDA07808B101F0D0FD07B030BD2DE96D
+:1021F000F8410446012C87B003D16448058847881C
+:1022000003E04FF4C8654FF47A67DFF8788108F18E
+:102210008006707801F070FB31780FF2C05001F049
+:1022200007FC022C11D13078012818BF02280CD1EC
+:1022300001F09FFC010004D10FF2BC5001F0F8FB4B
+:1022400003E00FF2D85001F0F3FB34700020069049
+:10225000059008F119010491082298F818000FF26E
+:102260006471039002910192002300933A4629463B
+:10227000002001F090FC48490E2001F06EFD0100A5
+:1022800013D1012C0AD10FF2BC5001F0D1FB7078B0
+:10229000434908B0BDE8F04101F07DBB08B0BDE89E
+:1022A000F0410FF2C85001F0C3BB08B0012CBDE8EB
+:1022B000F0410CBF0FF2E0500FF20C6001F0B8BB20
+:1022C00010B5012001F02FFE2E4C94F88000052857
+:1022D00012D001F04EFC002184F8801030B90FF2CA
+:1022E0001C6001F0A5FB0FF21C6001E00FF23060F2
+:1022F000BDE8104001F09CBB10BD00000021012092
+:1023000000F0F2BC012001F00EBE00001CB51D4C17
+:1023100094F88000012818BF00282DD01A48417871
+:10232000012929D1002201784270491C01EBD172A8
+:102330005210A1EB42010170F7EE040A017800EBA4
+:1023400081004FF4FA7190ED020AE08A0091C0EE2C
+:10235000200AFDEEE00A10EE902A92B20023114608
+:1023600001F074FFBDE8164000280CBF0FF2D450F6
+:102370000FF2006001F05CBB13BD0000A008032059
+:102380003F2A00086C27002020260020442B002034
+:1023900040E201008075FF1F0826002007B20100FF
+:1023A00046E001000021042000F09EBC012000F066
+:1023B000C1BC012000F0C6BC10B50446616801F143
+:1023C000080000F05BFE00B10120207010BD00008D
+:1023D00010B1012803D070473F2000F099BC3F2086
+:1023E00000F09EBC0D0A0D2A2A20444953434F4E4B
+:1023F0004E454354494F4E204556454E542057496B
+:10240000544820434C49454E54200A000D0A0D2AD9
+:102410002A20434F4E4E454354494F4E2055504479
+:10242000415445204556454E542057495448204371
+:102430004C49454E54200A004556545F555044417E
+:1024400054455F5048595F434F4D504C45544520CB
+:102450000A0000004556545F5550444154455F50B2
+:1024600048595F434F4D504C4554452C207374617F
+:10247000747573206F6B200A000000004556545F8E
+:102480005550444154455F5048595F434F4D504C5F
+:102490004554452C20737461747573206E6F6B20E6
+:1024A0000A000000526561645F50485920737563EB
+:1024B00063657373200A00005048592050617261AF
+:1024C0006D202054583D2025642C2052583D202555
+:1024D00064200A005265616420636F6E66206E6F2F
+:1024E00074207375636365657373200A00000000D0
+:1024F0004843495F4C455F434F4E4E454354494F17
+:102500004E5F434F4D504C4554455F5355424556E1
+:10251000545F434F444520666F7220636F6E6E6553
+:102520006374696F6E2068616E646C652030782515
+:10253000780A00000D0A0D2A2A204143495F4741CD
+:10254000505F4C494D495445445F444953434F56AD
+:10255000455241424C455F56534556545F434F44A4
+:1025600045200A000D0A0D2A2A204143495F4741B0
+:10257000505F504153535F4B45595F5245515F5631
+:10258000534556545F434F4445200A000D0A0D2A17
+:102590002A206163695F6761705F706173735F6B4D
+:1025A00065795F72657370200A0000000D0A0D2ABC
+:1025B0002A204143495F4741505F415554484F529B
+:1025C000495A4154494F4E5F5245515F5653455603
+:1025D000545F434F4445200A000000000D0A0D2AB5
+:1025E0002A204143495F4741505F534C4156455F64
+:1025F00053454355524954595F494E4954494154F2
+:1026000045445F56534556545F434F4445200A00A6
+:102610000D0A0D2A2A204143495F4741505F424F2E
+:102620004E445F4C4F53545F56534556545F434F8F
+:102630004445200A000000000D0A0D2A2A20536597
+:102640006E6420616C6C6F77207265626F6E6420BF
+:102650000A0000000D0A0D2A2A204143495F474124
+:10266000505F414444525F4E4F545F5245534F4C6C
+:102670005645445F56534556545F434F4445200AE0
+:10268000000000000D0A0D2A2A204143495F4741FE
+:10269000505F4B455950524553535F4E4F54494636
+:1026A00049434154494F4E5F56534556545F434F3B
+:1026B00044450A006E756D657269635F76616C757D
+:1026C00065203D20256C640A000000004865785FA5
+:1026D00076616C7565203D20256C780A000000004D
+:1026E0000D0A0D2A2A206163695F6761705F6E754C
+:1026F0006D657269635F636F6D70617269736F6E30
+:102700005F76616C75655F636F6E6669726D5F7928
+:1027100065736E6F2D2D3E594553200A0000000051
+:10272000424C455F4354524C5F4170705F4E6F7432
+:10273000696669636174696F6E3A204143495F4716
+:1027400041505F50414952494E475F434F4D504CB5
+:102750004554455F56534556545F434F44452C20DE
+:1027600070616972696E675F636F6D706C657465C7
+:102770002D3E537461747573203D2025640A00005A
+:102780000D0A0D2A2A2050616972696E67204F4B2D
+:10279000200A00000D0A0D2A2A2050616972696E14
+:1027A00067204B4F200A00000D0A0D2A2A204143C2
+:1027B000495F4741505F50524F435F434F4D504C2C
+:1027C0004554455F56534556545F434F4445200A90
+:1027D0000000000050325053525631004669727367
+:1027E0007420696E64657820696E20256420737496
+:1027F000617465200A000000537563636573736636
+:10280000756C6C792053746F7070656420416476C8
+:102810006572746973696E67200A000053746F7083
+:10282000204164766572746973696E6720466169D8
+:102830006C6564202C20726573756C743A20256475
+:10284000200A00005375636365737366756C6C7959
+:1028500020537461727420466173742041647665FC
+:1028600072746973696E67200A00000053756363B0
+:1028700065737366756C6C79205374617274204C47
+:102880006F7720506F776572204164766572746946
+:1028900073696E67200A0000537461727420466188
+:1028A0007374204164766572746973696E6720463B
+:1028B00061696C6564202C20726573756C743A20B4
+:1028C0002564200A000000005374617274204C6F6C
+:1028D0007720506F776572204164766572746973F2
+:1028E000696E67204661696C6564202C207265738F
+:1028F000756C743A202564200A00000020200D0A1F
+:102900000D0000002A2A2053544F502041445645C0
+:1029100052544953494E47202A2A20200D0A0D00BF
+:102920002A2A2053544F502041445645525449536B
+:10293000494E47202A2A20204661696C6564200D93
+:102940000A0D0000424C455F5356435F4C324341F1
+:10295000505F436F6E6E5F55706461746528292CFB
+:10296000205375636365737366756C6C79200D0A0B
+:102970000D000000424C455F5356435F4C324341CB
+:10298000505F436F6E6E5F55706461746528292CCB
+:10299000204661696C6564200D0A0D006C7AD8AC24
+:1029A00057720000123456789ABCDEF01234567812
+:1029B0009ABCDEF0FEDCBA0987654321FEDCBA0969
+:1029C00087654321095032505352563100000000B0
+:1029D00000000000000000000000000000000000F7
+:1029E0001E0004000A05020112279C00F4010000E9
+:1029F000FFFFFFFF48010100002000000000000071
+:102A00007FB50C466D4D61686D4EE86129622846C0
+:102A100001F050FC246805F1240001F055FC7460BD
+:102A200006F1080001F050FC01203070296829B13E
+:102A30000FF2551000900294684688477FBD1FB57D
+:102A40005F4C04F1080001F042FC00BB2178F1B1B9
+:102A5000694604F1080001F063FC5848C16949B1B6
+:102A60000098029001228DF8042001A888479DF863
+:102A7000040000E001202070207818B1009801F0D7
+:102A800004FD04E0009904F1080001F029FC04F1C0
+:102A9000080001F01CFC28B9207818B104F10800E6
+:102AA000FFF780FC1FBD2DE9F8430646002000F02B
+:102AB0005FF874883088B268DFF80081C4F30904D5
+:102AC00044EA8024F068A4B2C1B2204600F03CF889
+:102AD000002748F2E8094846FFF76BFC08E06888E1
+:102AE000A04202D1316928780870687800B10127C6
+:102AF00008F1240001F0EBFBF0B9694608F124006D
+:102B000001F00EFC009800F10B05407A0F28E6D08A
+:102B1000B5F80110A1420DD10098817AC81E7169E3
+:102B2000C0B28842C8BF0846706102463069E91CDD
+:102B3000FEF796FB2878D9E73800CCD0012000F0CA
+:102B400017F80020BDE8F28310B513461C4A5468FC
+:102B5000A4F80900E1720A46194604F10C00FEF7D8
+:102B60007FFB164A1369BDE810400021002018477A
+:102B70001249096A82B008B921B101E011B10120FE
+:102B800002B0084702B0704710B50146487A0F28D6
+:102B900018BF0E2807D10B4801F0ACFBBDE8104070
+:102BA0000020FFF703BC064C04F1080001F0A2FB73
+:102BB00004F10800BDE81040FFF7F4BB402A0020F4
+:102BC000B42A0020642A00200C48002101604160E2
+:102BD000704710B500F00CF85C6819B1012904D1F8
+:102BE000204301E024EA0000586082F3108810BD01
+:102BF000EFF3108272B6014B70470000EC2A002000
+:102C00002DE9FC47604CDFF88491A5692840A0615C
+:102C10004FF0FF3A21694FF0010834E0521C54F89C
+:102C20003200616919400142F8D0616904EBC206C3
+:102C3000084071681840014208BFC6F804A07768D0
+:102C4000384000F0A5F8606208FA00F0874377602A
+:102C5000EFF3108172B6626A206908FA02F2D24379
+:102C600010402061022004EBC00353F8086C1640AA
+:102C7000401E43F8086CF6D181F31088606A59F859
+:102C8000201088472169A36960690140194205D075
+:102C9000E069216A084208BF0022C0D0C4F824A01D
+:102CA00001F041FCEFF3108972B6216960690140BF
+:102CB000A069014201BFE169206A014201F06DFD96
+:102CC00089F3108801F0DCFEA561BDE8F38738B513
+:102CD0001446EFF3108572B600F05AF82B4941F80C
+:102CE000204085F3108831BD10B500F00BF8044387
+:102CF0001C6153F83140204343F83100FFE782F371
+:102D0000108810BDEFF3108272B61F4B1C6970471C
+:102D1000EFF3108172B61C4A536923EA000005E004
+:102D2000EFF3108172B6184A53691843506181F36A
+:102D300010887047EFF3108172B6134AD3691843B5
+:102D4000D061F4E7F8B5104C666A256A374616F18B
+:102D5000010F0EBF0026012101FA06F6206202E0F3
+:102D6000304601F01BFD216AE0690842F8D0676235
+:102D7000EFF3108172B6E269206A8243E26181F367
+:102D800010882562F1BD0000C0250020F02700203A
+:102D900002460020110C090404BF1020120412F096
+:102DA0007F4F04BF083012020FF2180112F0704F6B
+:102DB00004BF001D1201120FC0F11F00895C401AF0
+:102DC000C0B27047040302020101010100000000CB
+:102DD0000000000001F0ABFE9DF80E0005B000BD44
+:102DE000F8B500F10C026B4625214FF66640F1E77D
+:102DF000F8B500F10C026B460F214FF66840E9E789
+:102E0000F8B502466B460E214FF67540E2E770B505
+:102E10001B491C4B0A681C49C2F30D0201EB8201DD
+:102E20000C6822689A4205D16569A169E269E36884
+:102E3000246904E025696169A2696368A4682E0EAB
+:102E4000067001722E0C467042722E0A8670C47390
+:102E5000C5F3031605F00F050571C6700D0E45711B
+:102E60000D0C85710D0A190E8172C571190CC17294
+:102E70001B0A210E41730373210C8173002070BD66
+:102E80003C400058B95646A900000320614900E0C3
+:102E9000614981B00A6802430A60096808400090ED
+:102EA000009801B0704710B501F090FE01F03CFBB6
+:102EB00000F021F800F051F8584C5948606104F1D5
+:102EC000140001F0ADFE0420FFF7E2FF0120FFF740
+:102ED000DFFF00F0B3F800F055F800F075F8514846
+:102EE000206000206060204601F0D2FE01F030FB3F
+:102EF00001F052FCFCE780B598B007A8442101F02E
+:102F0000E7FE68461C2101F0E3FE01F0E5FE4648BD
+:102F1000016821F018010160072007904FF480310B
+:102F20000891012009904FF480710A9140200B9084
+:102F30000021119107A801F0E0FE6F20009002210E
+:102F400000200191029003900490059006900121C9
+:102F5000684602F04FF919B000BD10B58CB0684654
+:102F6000302101F0B5FE4FF480400990022110207D
+:102F70000B904FF440540A910094684602F0F4FA22
+:102F80000CB010BD002038B5284D294C68602C606D
+:102F90000F20A86047F6FF70E86000202861A86154
+:102FA0006861284602F09CFB00220021284602F0BE
+:102FB00047FCCA206062FF2153206062A068C008FD
+:102FC000C000A060616231BD10B51A4C1A48206083
+:102FD0004FF4E13060600020A060E06020610C20D0
+:102FE00060610020A0614FF40040E0610020206299
+:102FF0006062A062204602F0CBFC0021204603F074
+:1030000086F90021204603F08DF92046BDE81040E6
+:1030100003F060B9480000584C00005850290020C7
+:10302000000C005800100058900000586C2A002036
+:10303000002800404C2600200038014080B50420C4
+:10304000FFF724FF0120FFF721FF00220F210E20B0
+:1030500003F0D8F9BDE802400E2003F0F1B9704743
+:103060001B4800210171017200F034B818490A7937
+:1030700041F822000879401C0871704770B5044679
+:103080006078FF2802BFB4F8031001F47F41B1F566
+:10309000406F12D100260E4D00E0761C2979F0B267
+:1030A00088420AD2F1B255F8211020468847010023
+:1030B000F3D002D0022805D006E02046BDE87040DB
+:1030C000FEF71FBF002070BD012070BD0000000092
+:1030D000E02A002080B503F009FA03F008FA03F0B3
+:1030E00007FA03F006FA03F005FA03F004FA03F016
+:1030F00003FA03F002FA03F001FA03F000FA03F016
+:10310000FFF903F0FEF903F033FA03F0EBFA03F0F2
+:10311000EAFA03F0E9FA03F0E8FABDE8014003F047
+:10312000E5BA18B50C46C7B0114600228DF800204C
+:103130008DF81C008DF81D4022460DF11E0003F095
+:10314000D6FA00F03FF83F200C21ADF80400ADF8AE
+:10315000061007A8012103900691A41C049400F016
+:1031600041F800284CBFFF209DF8000048B010BD7A
+:1031700000B5C7B000F01FF80F2000F028F80028B5
+:103180004CBFFF209DF8000047B000BD00B5C7B0A0
+:103190000021ADF81C008DF80010182201A803F0E2
+:1031A000ACFA182000F013F800284CBFFF209DF85F
+:1031B000000047B000BD00228DF800208DF81C00F3
+:1031C0008DF81D101822002101A803F096BAADF861
+:1031D000060007A9022004903F22012003910690D7
+:1031E000ADF80420CDF814D0002101A8FFF75BBC96
+:1031F00070B506464E4C30784CA520B1012807D05A
+:10320000032810D070BD012020700FF2281003E0B9
+:10321000002121700FF2501000F00AFC2846BDE892
+:10322000704000F005BC71680878C8B94978012978
+:1032300009D100F073FE0FF2641000F0F9FB00F00A
+:103240002FF80120A0707168487848B900F06BFE33
+:103250000FF2701000F0ECFB00F022F80020A070DC
+:103260007068017801291AD1407801280AD100201C
+:1032700000F054FE0FF2741000F0DAFB00F010F8CA
+:103280000120A0707168487848B900F04CFE0FF238
+:10329000841000F0CDFB00F003F80020A07070BD9A
+:1032A000284600F0C5BB0078012808BF00F00DB823
+:1032B000704780B50FF2390200210820FFF707FDA3
+:1032C0001B4900220A70BDE8014080B5002000F0D3
+:1032D0002AFE174801214170002181700121C1702F
+:1032E0000021017101BD00210820FFF7FDBC000095
+:1032F00010B50F4C2079401E8041C00F20712078FE
+:1033000068B10FF2381000F093FB08A000F090FBBA
+:10331000E11CBDE810404FF6426003F0B9B9BDE8CA
+:1033200010400FF2581000F083BB0000200A0D007F
+:10333000142B00202D2D20503250204150504C494C
+:10334000434154494F4E20534552564552203A204E
+:103350004E4F54494649434154494F4E20454E41F2
+:10336000424C45440A0000002D2D2050325020418F
+:1033700050504C49434154494F4E205345525645B5
+:1033800052203A204E4F54494649434154494F4EEA
+:103390002044495341424C45440A00002D2D205001
+:1033A0003250204150504C49434154494F4E2053D4
+:1033B000455256455220203A204C454431204F4E2C
+:1033C0000A0000002D2D20503250204150504C4911
+:1033D000434154494F4E2053455256455220203ABE
+:1033E000204C454431204F46460A00002D2D2050E8
+:1033F0003250204150504C49434154494F4E205384
+:1034000045525645522031203A204C454431204FF8
+:103410004E0A00002D2D20503250204150504C4972
+:10342000434154494F4E2053455256455220312076
+:103430003A204C454431204F46460A002D2D20505D
+:103440003250204150504C49434154494F4E205333
+:10345000455256455220203A20494E464F524D2063
+:10346000434C49454E5420425554544F4E20312030
+:10347000505553484544200A200000002D2D20506F
+:103480003250204150504C49434154494F4E2053F3
+:103490004552564552203A2043414E275420494E2A
+:1034A000464F524D20434C49454E54202D20204E2E
+:1034B0004F54494649434154494F4E204449534192
+:1034C000424C45440A200000DFF83C150A6892B2DD
+:1034D00000E00246086880B28242FAD170472DE9C6
+:1034E000FC4104461825DFF82485DFF8246568438D
+:1034F00008EB00073078062808D1317871703470F5
+:1035000078754FF0FF307060002039E000F077F8F8
+:10351000B9680918B96008F10803B96832786A43D4
+:103520009A589142327813D308F1150315FB02FC27
+:1035300013F80C30062B25D008F108066B43F3581E
+:10354000994222BF08F115036A439A5CEED219E052
+:103550001146337869439A420BD008F1140308F1FD
+:10356000150C5B5C15FB03F50CF805407A753B7593
+:1035700000E07A7508F11402545431787170347097
+:10358000BDE8F6811146694308F115035B5C062B23
+:1035900004D008F1140615FB03F574557B753A75D4
+:1035A00008F115025454EBE7F8B5DFF86434DFF89E
+:1035B0005C541E78182402466243B0422A4404D167
+:1035C00018785870507D18700FE0167D507D92F875
+:1035D00015C005F115076643062807F806C004D094
+:1035E000167D143514FB00F42E5501201073187845
+:1035F000062802BF00294FF0FF315960F1BD10B518
+:10360000DFF80C44606810F1010F0FD0FFF75CFF8A
+:103610006168DFF80024814261683CBF5388C918A3
+:10362000081A517848431178C84000E0002080B261
+:1036300010BD2DE9F84FDFF8DC53DFF8DCB3D5F827
+:103640000880D8F80000DBF800104A0500F090F977
+:10365000DFF8BC63DFF8B4A321F4806181604FF030
+:10366000180934780AF1080019FB04F14758FFF7EC
+:10367000C6FF874217D200270121B170062C3DD02A
+:1036800019FB04F40AF108010AF108020959814200
+:1036900023BF0AF108010959091A002111510AEB47
+:1036A00004014C7DEAE7A9884118B94202D2AF88EB
+:1036B0000021E2E73F1ADFE7022802DA2878012832
+:1036C00000D07F1ED8F80000C1684A07FAD500F084
+:1036D00055F9DBF80C00000CBFB247EA0047CBF805
+:1036E0000C70FFF7F1FE7060A8680068816841F413
+:1036F00080618160AFF30080BDE8F18FB8B200282F
+:10370000DAD1FFF7E1FE70600320BDE8F24F02F06E
+:10371000C5BE2DE9F843EFF3108872B6BD4DBB4B23
+:10372000A8680168CA224A6253204862B84A886879
+:1037300020F48060886018201678374647431F447D
+:10374000387B022826D13C68D7F810909078F0B1E9
+:103750007A7B012A0AD101213046FFF725FF88F341
+:1037600010887968304600F016F904E088F3108874
+:10377000304600F0C1F8A8680068CA2141622246BC
+:10378000532141624846314600F050F90BE0FFF703
+:1037900050FF06E0C8684207FCD500F07EF89F495C
+:1037A000086088F31088FF21A86802685162BDE8AC
+:1037B000F183F8B5974CA160CA2209684A62532286
+:1037C0004A62954A136843F020031360136803F0BC
+:1037D0000703C3F10403237095682D0C05F07F05E2
+:1037E0006D1C6570EDB29268C2F30E02521C6280CD
+:1037F00092B2521E6A43A2F5A072DA404FF6FF73EE
+:103800009A422CBFA380A280854A136843F4002308
+:103810001360844B1D6845F400251D6048BB7C483F
+:103820007A4E0123837018254FF0FF334360002345
+:103830005FFA83FC06F10C0715FB0CFC4FF0000E41
+:1038400007F80CE05B1CDFB2062FF1DB06230370E8
+:10385000886820F48060886000F01FF8D060032042
+:1038600002F027FEA1680868826842F48042826004
+:1038700005E0C868410544BF032002F00FFEA168BF
+:103880000A68FF20506200220321032002F0BAFDE3
+:10389000BDE8F240032002F0D3BDC86800F080000C
+:1038A00060F49060C8604FF400207047F0B50446A3
+:1038B0000025EFF3108672B61827DFF850C10CF11F
+:1038C0000C0007FB05FE10F80E0010B16D1C062D54
+:1038D000F5DB062D0CD06F430CEB070001270773B7
+:1038E00086F310880461427303600D700020F0BD00
+:1038F00086F310880120F0BDF8B50746EFF3108479
+:1039000072B6032002F0A7FD424DAE683068CA21AE
+:1039100041623A4653214162182043494243895C3F
+:1039200002291BD100213846FFF73EFE38480178B6
+:1039300006290ED1306838490A68530500F018F896
+:1039400021F480618160C1684A07FCD500F016F857
+:1039500004E04078884218BFFFF76BFEA9680A6848
+:10396000FF205062032002F06BFD84F31088F1BD4C
+:1039700002D5C1684A07FCD481687047C16801F06C
+:10398000800161F49061C1604FF400202349086018
+:10399000032002F08EBD2DE9F04180460F464246DD
+:1039A00018201A4942438C18207B022804BF404645
+:1039B000FFF7A2FFEFF3108572B6032002F04BFD74
+:1039C000144EB0680068CA2141625321416202204E
+:1039D0002073A76067604046FFF781FD0C490A78B5
+:1039E0004978914202D0FFF724FE02E0A168081A4C
+:1039F000A060FF20B1680A685062032002F020FD39
+:103A000085F31088BDE8F08128280040DC260020DE
+:103A1000242B0020D42A0020082800400C0800583D
+:103A20000008005880080058E826002010470000D1
+:103A30000EB4C0B5024603A800210190009101AB6D
+:103A40000121044878440C30FCF778FB06BC5DF893
+:103A500010FB00BF4748000000B587B000F014F825
+:103A6000012003220690ADF80420ADF8062000F0F6
+:103A70007AF800284CBFFF209DF8000007B000BD79
+:103A8000182201A802F039BE00208DF8000018228B
+:103A9000002101A802F031BE09220021684602F08F
+:103AA0002CBE1822002102A802F027BE70B5C8B0B3
+:103AB00006460C4615460522FFF7EFFFADF82060DD
+:103AC000FFF7EFFF302100F014F80521049000F01B
+:103AD00019F8002848BFFF2009D49DF8000030B92C
+:103AE0009DF8030020709DF804002870002048B065
+:103AF00070BDADF80A1008200221ADF8080005914C
+:103B000008A870470791CDF818D0002102A8FEF749
+:103B1000CABF00B5C7B000F00EF8FFF7B1FF312003
+:103B200000F013F800F01FF800284CBFFF209DF8AC
+:103B3000000047B000BD00238DF81C008DF8003058
+:103B400007A84170827000217047ADF8060007A9F0
+:103B5000032004900822012003910690ADF8042070
+:103B6000704703900691CDF814D0002101A8FEF70C
+:103B70009ABF00B587B000F082F900F06AF98120A1
+:103B800000F015F900F033F900284CBFFF209DF834
+:103B9000000007B000BD2DE9F84DC7B09446DDF830
+:103BA00040E1519A559D569EDDF84CA1ADF81D108F
+:103BB0008DF81C004FF0000BADF81FC08DF82130C0
+:103BC0008DF822E000F024F800F017F824F8095FDF
+:103BD000668000F03EF93F20832100F02BF9574426
+:103BE00006910D37049700F005F900284CBFFF201F
+:103BF0009DF8000048B0BDE8F08D88F800A007AC43
+:103C00005499E419524608F10100544402F06FBD82
+:103C10008DF82320174652998DF800B00DF1240835
+:103C200009A8B84402F063BD00B5C7B000F00CF8B5
+:103C3000852000F0E5F800F0DAF800284CBFFF20FE
+:103C40009DF8000047B000BD00218DF81C008DF8E4
+:103C50000010182201A802F050BD2DE9F841C7B0AC
+:103C60004FF0000800F026F80DF12300DDF844E1E4
+:103C70004E9F4F9E509D529C8DF81F30C0F800E023
+:103C80008DF800808DF820708DF821608DF822501D
+:103C90008DF8274000F0DDF88620ADF8060007A972
+:103CA0000C2000F0A0F800284CBFFF209DF8000079
+:103CB00000F0E2B88DF81C0007A8417082707047D0
+:103CC00000B5C7B00022ADF81C008DF800200DF142
+:103CD0001E001822016001A8002102F00EFD8820BC
+:103CE000ADF8060007A9062000F07DF800284CBFBB
+:103CF000FF209DF8000047B000BDF8B5C8B00546EC
+:103D00000E4617461C4600F023F808A84670877038
+:103D10008DF8205000F089F88A21ADF80A103F2074
+:103D2000032100F075F8002848BFFF200ED49DF84D
+:103D3000000058B94F994E98BDF801202280BDF877
+:103D400003200280BDF805000880002049B0F0BDC6
+:103D500007220021684602F0D0BC18B5C7B000F0B9
+:103D60009DF800F076F83F208E2100F08CF800F0EE
+:103D700041F800284CBFFF209DF8000048B010BD5E
+:103D8000ADF8060007A90220704700B587B000F023
+:103D900076F800F05EF8922000F009F800F027F8BD
+:103DA00000284CBFFF209DF8000007B000BDADF813
+:103DB00006003F220120704700B5C7B00021ADF8D2
+:103DC0001C00FFF744FF9520FFF7DAFF00F00BF827
+:103DD00000284CBFFF209DF8000047B000BDADF8A3
+:103DE000060007A9032004903F22012003910690BA
+:103DF000ADF80420CDF814D0002101A8FEF753BE81
+:103E0000ADF8060007A901203F22039104907047F6
+:103E1000ADF80800059108A8072104900791CDF896
+:103E200018D0002102A8FEF73EBE1822002102A8E9
+:103E300002F063BCADF80400ADF8061007A801213C
+:103E40000390704700228DF80020ADF81C008DF81B
+:103E50001E101822002101A802F04FBC00B5C7B007
+:103E6000FFF7F0FFA520FFF7BAFF00284CBFFF20A7
+:103E70009DF8000047B000BD48B0BDE8F0810020CB
+:103E80008DF800007047ADF80400ADF8061007A8E3
+:103E9000012103900691641C04947047044600209D
+:103EA0008DF800008DF81C4022460DF11D0002F037
+:103EB0001EBC0000494981B00A6802430A600968D3
+:103EC00008400090009801B0704778B585B004466E
+:103ED0006846142100F0FCFE0220FFF7EBFF00F023
+:103EE00011F8009501200190002102200390029119
+:103EF000694656F8240002F00BFC00F009F8002097
+:103F000006B070BD0FF2F400354E30F81450704713
+:103F100056F824000022294602F0B8BC80B500F013
+:103F20000AF8012203E080B500F005F8002202F053
+:103F3000ADFC002002BD0FF2C401294B31F8101076
+:103F400053F820007047F0B585B005460C4668462A
+:103F5000142100F0BDFE2DB1012D08BF102002D0AC
+:103F6000022D02D10120FFF7A5FF0FF298001D4F8F
+:103F700030F81500009001210220039007EB850620
+:103F8000029130682CB900210191694602F0C0FB12
+:103F900020E04FF40411019107EBC504694602F0DB
+:103FA000B7FB0FF26C0050F8251004F1240002F06A
+:103FB00092FCF268002104F1240002F085FC0FF26B
+:103FC0004C004457B1690022204602F01BFA2046FB
+:103FD00002F036FA002005B0F0BD00004C00005899
+:103FE000302600204C250020002000F017B80120CA
+:103FF00000F014B8022000F011B800002000010009
+:10400000020000000100100040000000060A170036
+:10401000000000160400001606000016704700009D
+:1040200001460648064AC3798B4218BF904218BF22
+:104030000838F8D18B4218BF00207047F873FF1F73
+:104040000070FF1F00B587B000208DF8000000F061
+:10405000E0F840F20110ADF806003F220120069082
+:1040600000F0ECF800284CBFFF209DF8000007B0DE
+:1040700000BD2DE9F84107460128C7B0884615461E
+:104080001E4608BF022003D002280CBF10200020CB
+:104090000DF11D010C1800F036F8012F8DF81C7081
+:1040A00002D0022F18D019E002273A4641460DF1FE
+:1040B0001D0002F01CFB2570667000F0AAF83F207E
+:1040C0004FF4817100F016F8FF1C049700F0B8F867
+:1040D000002805D5FF2009E01027E6E7972005E036
+:1040E0009DF8000010B94E9800F067F8FFE748B05F
+:1040F000BDE8F081ADF80400ADF8061007A8032173
+:1041000003900691704703220021684602F0F5BA39
+:104110002DE9F64F0C460546012CC7B09B4608BF5B
+:10412000022003D0022C0CBF102000200DF11F0133
+:104130000E18FFF7E8FF012CADF81C508DF81E405B
+:1041400002D0022C2CD02DE00227569C559DDDF884
+:104150005091DDF84CA1DDF8488148993A4600F0CD
+:1041600054F8A6F800B086F8028086F803A086F816
+:1041700004907571B47100F04CF83F20ADF8040064
+:104180004FF4827107A8ADF80610039003210A3797
+:104190000497069100F054F8002805D5FF2009E0A7
+:1041A0001027D2E7972005E09DF8000010B9579836
+:1041B00000F003F849B0BDE8F08FBDF801100180B0
+:1041C0000020704730B5C7B01C464A9B00F026F867
+:1041D00000258DF800508DF82140224619460DF13A
+:1041E000220002F084FA00F014F83F204FF48371AB
+:1041F00000F01BF8A41D049400F022F800284CBF26
+:10420000FF209DF8000047B030BD0DF11F0002F007
+:104210006EBA1822002101A802F06FBAADF81C0096
+:10422000ADF81E108DF820207047ADF80400ADF8F1
+:10423000061007A80121039006917047ADF80420ED
+:10424000CDF814D0002101A8FEF72DBC30B5C7B0C1
+:104250000025ADF81C0007A84A9C41808280ADF87B
+:10426000223004818DF8005000F01EF80F210291D9
+:1042700040F281100A21ADF80600049107A801213F
+:104280003F220390069100F007F800284CBFFF2062
+:104290009DF8000047B030BDADF80420CDF814D033
+:1042A000002101A8FEF7FFBB1822002101A802F09F
+:1042B00024BA00000249016002490161704700BF51
+:1042C00087430008AD430008006040607047EFF38B
+:1042D000108172B6026882420CBF012000201CE0EF
+:1042E000EFF3108272B603680B60486001600868E3
+:1042F000416023E0EFF3108272B6086043684B60C0
+:1043000041604868016019E0EFF3108172B64268BD
+:104310000368136002684368536081F31088704734
+:1043200010B5EFF3108472B602680A600068FFE708
+:10433000FFF7EAFF84F3108810BD0B6082F310884A
+:104340007047000002F041BB6C486D49016001F10B
+:104350002002426001F13002826001F13C020262FF
+:1043600001F14402426201F14C02C26001F15402C7
+:10437000026101F17002426101F1740282618031D7
+:10438000C16102F040BB38B504465E4D2846FFF7D8
+:104390009BFF5A484068A1680160E168C160856080
+:1043A0005949416002F04BFB58482AE080B5534818
+:1043B0004268136801211972406802F046FB002030
+:1043C00002BD38B5514C4F4D04E000F041F8009863
+:1043D000216888472846FFF77AFF0028F5D031BDCD
+:1043E0004A484168084738B50446494D2846FFF712
+:1043F0006BFF4248C068A1680160456002F02AFB7B
+:1044000044482168016061684160002032BD80B588
+:104410003A48C268136810211972C06802F020FB84
+:10442000002002BD35483B4AC168C168136808686E
+:10443000184738B5374C364D04E000F009F80098BD
+:10444000616888472846FFF742FF0028F5D031BD54
+:1044500069462846FFF764BF38B504462E4D284606
+:10446000FFF732FF2D48FFF72FFF24480069A168AE
+:104470008160E168C1600561216801606168416037
+:10448000216941616169816131BD80B5014623487F
+:10449000FFF730FFBDE802400FF2050002F0E9BA75
+:1044A00038B5164C1D4D06E0FFF7D2FF0099206984
+:1044B0000069FFF71FFF2846FFF709FF0028F3D028
+:1044C00031BD10B5164C2046FFF7FEFE0B48416982
+:1044D0000C60BDE8104002F0E0BA1CB5104C06E0DC
+:1044E00069462046FFF71CFF009800F01BF82046A5
+:1044F000FFF7EDFE0028F3D013BD000000000320FD
+:10450000AC090320480A032090080320FC2A00205D
+:10451000500A0320042B0020380A0320F42A00202C
+:10452000400A03207047704780B590484FF400411F
+:1045300001600020FFF774FD48B180798C498D4AF5
+:104540000A600A6822F47C5242EA00220A6001BD35
+:1045500010B58948894C88B001680160CA21884833
+:10456000C1615321C161FF220168C908C90001600E
+:10457000C2618448016841F400410160FEF724FBF8
+:1045800081480168C908C90041F00401016002F0D6
+:104590009DFA7E490020FFF70CF902F0ACFA0121E8
+:1045A0000120FEF716FB00F0C2F800F0CFF8FFF78D
+:1045B000CBFE774A00214020FEF789FB04F23C50F5
+:1045C0000FF231010090019169460FF22D0000F0C9
+:1045D00059FA04F25470029004F5C96140F23C505B
+:1045E00005900391049402A8FFF736FFFFF7AAFE97
+:1045F00008B010BD7047000038B5044688B0616847
+:1046000001F10B056846FEF702FC9DF802309DF8AB
+:1046100001209DF800100FF2BC10FFF709FA9DF879
+:1046200004100FF2D410FFF703FA9DF80C309DF838
+:104630000B209DF80A100FF2DC10FFF7F9F928881B
+:104640004FF41241401A0CD0401E3ED0401E4CD0B8
+:10465000801E57D0401E5AD0401E5BD0401E60D0F6
+:1046600063E004A8102100F033FB60680D3000788F
+:10467000F8B90FF26430FFF7DBF902F04BFA0D20C6
+:104680008DF810007F2143488DF8121004680FF256
+:104690007830240C2146FFF7CBF9ADF81C4004A874
+:1046A000FEF7AEFBFDF7CAFB00210120FEF791FAF1
+:1046B0003BE0012806D10FF27030FFF7B9F9002076
+:1046C000207032E00FF28C302DE0606800F10D04B4
+:1046D0000FF26C202178FFF7ABF92078002814BF87
+:1046E0000FF2C0200FF284201DE00FF24010FFF700
+:1046F0009FF9D5F80620D5F802100FF25C10FFF7ED
+:1047000097F912E0D5F802100FF2901006E00FF2C0
+:10471000C01008E0D5F802100FF2D010FFF788F9AA
+:1047200003E00FF20020FFF783F909B030BD80B538
+:104730000020FFF7CAFB0120FFF7C7FB0220FFF7AD
+:10474000C4FBBDE802400120FFF7E8BB80B50121B2
+:104750000020FFF7F8FB01210120FFF7F4FBBDE883
+:10476000044001210220FFF7EEBB0000104000587A
+:104770009C000058FECAFECA900800583000032072
+:104780000828004008000058800400586C2A0020C7
+:10479000C74A0008002004E001E0704700BF4FF066
+:1047A000FF30FEF72DBA00214020FEF79DBA02200F
+:1047B000FEF7C0BA0220FEF7C5BA012804D01028BF
+:1047C00004D0402804D07047FDF778BCFDF778BCD2
+:1047D000FDF77ABC576972656C6573732046697220
+:1047E0006D776172652076657273696F6E202564DE
+:1047F0002E25642E25640A00576972656C657373F3
+:10480000204669726D77617265206275696C6420FB
+:1048100025640A004655532076657273696F6E20D1
+:1048200025642E25642E25640A0A00002D2D2042C1
+:104830004C45204E564D2052414D20484153204278
+:1048400045454E205550444154454420425920434B
+:104850004D4F2B200A000000534843495F535542F7
+:104860005F4556545F424C455F4E564D5F52414D39
+:104870005F555044415445203A205374617274414D
+:10488000646472657373203D20256C78202C20535E
+:10489000697A65203D20256C640A0000534843492D
+:1048A0005F5355425F4556545F4E564D5F535441DA
+:1048B00052545F5752495445203A204E756D6265F7
+:1048C000724F66576F726473203D20256C640A0036
+:1048D000534843495F5355425F4556545F4E564DCA
+:1048E0005F454E445F57524954450A005348434977
+:1048F0005F5355425F4556545F4E564D5F5354418A
+:1049000052545F4552415345203A204E756D6265C1
+:10491000724F66536563746F7273203D20256C641B
+:104920000A000000534843495F5355425F455654BF
+:104930005F4E564D5F454E445F45524153450A0018
+:10494000534843495F5355425F4556545F45525261
+:104950004F525F4E4F5449462057495448205245C4
+:1049600041534F4E202578200A0000005348434908
+:104970005F5355425F4556545F4552524F525F4E0A
+:104980004F544946205749544820524541534F4EB1
+:10499000202D204552525F424C455F494E495420DC
+:1049A0000A000000534843495F5355425F4556543F
+:1049B0005F4552524F525F4E4F544946205749541B
+:1049C0004820524541534F4E202D20424C45204512
+:1049D00052524F52200A0000534843495F535542F8
+:1049E0005F4556545F434F44455F5245414459200B
+:1049F0002D20574952454C4553535F46575F5255FA
+:104A00004E4E494E47200A004442474D43555F47AA
+:104A100065745265766973696F6E49443D20256CF3
+:104A200078200A0A00000000534843495F5355426A
+:104A30005F4556545F434F44455F524541445920BA
+:104A40002D204655535F46575F52554E4E494E47AF
+:104A5000200A0000534843495F5355425F4556546E
+:104A60005F434F44455F5245414459202D20554EE8
+:104A700045585045435445442043415345200A007E
+:104A8000704700007FB50C464D4D61684D4EE861A2
+:104A90002962284602F06CF92468746006F1080067
+:104AA000FFF712FC012000F068F80120307029683F
+:104AB00041B10FF2E9000FF2ED0200900192029471
+:104AC000684688477FBD1FB53E4C04F10800FFF7DC
+:104AD000FEFB00BB2178F1B1694604F10800FFF745
+:104AE0001FFC3748C16949B10098029001228DF836
+:104AF000042001A888479DF8040000E001202070F0
+:104B0000207818B10098FFF7C0FC04E0009904F188
+:104B10000800FFF7E5FB04F10800FFF7D8FB28B910
+:104B2000207818B104F10800FFF73DFE1FBD2DE904
+:104B3000F04105460E4690461C46002000F01DF848
+:104B4000204F7868A0F80950C672324641460C30B2
+:104B5000FCF786FB1A4A136900210020984748F2A7
+:104B6000E800FFF727FE79688A78D21C04F1080074
+:104B7000FCF776FBBDE8F04101201CB51049124C52
+:104B8000096A20B901B188470020207013BD0120B7
+:104B9000207011B1BDE81C40084713BD0020FFF78D
+:104BA00006BE000010B50146064C04F10800FFF7F0
+:104BB000A1FB04F10800BDE81040FFF7F4BD0000C0
+:104BC000902A0020C42A0020E92A0020114810B5AC
+:104BD000016841F480710160032001F006FC0020AF
+:104BE00002F0D0F80024002814BF012402F0F7F8E6
+:104BF000204610BD084880687047084805E007480F
+:104C0000016841F0020101607047016841F0010153
+:104C100001607047004000583C260020042004E05A
+:104C2000F8B504460025ACB104F13406307910B96A
+:104C3000204602F0E3F80F4F384600F021F83868BC
+:104C400040F001103860204600F007F83560012080
+:104C5000307100E001252846F2BD10B50021064A5A
+:104C6000064B00EB8104491C06296360E261F8D31E
+:104C700010BD0000000C0058FB1100087F11000857
+:104C8000002101604FF03F1141603F21816070477A
+:104C900010B5040001D1012010BD607A20B90021B7
+:104CA0002172204602F0C6F80220607221680A686C
+:104CB000606822F0200202430A602068016841F027
+:104CC00004010160012060720020E06010BD00005E
+:104CD000002202F079B900000248016841F48071B5
+:104CE00001607047000400584FF0B040006800F0C9
+:104CF000F000B02888BFB02070472DE9F0410400D3
+:104D000054D0207881064FF0B04538D5A868E968BE
+:104D100010F00C0001F0030103D00C2808BF01299A
+:104D200046D12868800702D5E06900283ED0FFF709
+:104D3000DBFF616A884207D2084600F0A0FB00282A
+:104D400034D100F043FA0FE0286820F0F00001436E
+:104D500029606968206A21F47F4141EA0021696085
+:104D6000606A00F08CFB08BB00F062FBDFF888177C
+:104D70000860DFF88807006802F004F8B0B920780E
+:104D8000C1070DD5A868E96800F00C00082801F0FB
+:104D9000030103D00C2808BF03292CD12868800305
+:104DA00040F11D816068002840F01981012006E271
+:104DB000E06980B1296841F0010100F0F3FA06468C
+:104DC0002868800700F1088102F018F9801B032889
+:104DD000F6D30320F3E128684008400000F0A6FB6A
+:104DE0000646286800F0EEF9C9D002F007F9801BEA
+:104DF0000328F6D3EDE76068B0F5803F04D1296859
+:104E000041F48031296003E02A6822F480322A606C
+:104E1000606860B102F0F2F806462868800300F18D
+:104E2000DE8002F0EBF8801B6528F6D3D1E702F0B4
+:104E3000E5F806462868400C10F0010000F0CF802D
+:104E400002F0DCF8801B6528F4D3C2E702F0D6F844
+:104E5000C01B0328C0F0F780BBE7E06878B1296881
+:104E600041F4807100F09EFA06462868400500F182
+:104E7000FD8002F0C3F8801B0328F6D3A9E7286859
+:104E800020F4807000F052FB06462868800A10F07B
+:104E9000010000F0C28002F0B1F8801B0328F4D3B7
+:104EA00097E702F0ABF8C01B0328C0F0F18090E751
+:104EB00040F0010000F09BF907467068800700F1A0
+:104EC000028102F09BF8C01B0328F6D381E77068CB
+:104ED00020F0040000F08BF907467068C00810F05D
+:104EE000010000F0FF8002F089F8C01B0428F4D311
+:104EF0006FE70528306806D140F004003060316863
+:104F000041F0010105E0400840003060316821F0C7
+:104F100004013160A06841F2893768B102F06EF88F
+:104F200080463068800700F1F28002F067F8A0EB5D
+:104F30000800B842F5D34CE702F060F880463068CC
+:104F400000F040F900F0E38002F058F8A0EB080010
+:104F5000B842F4D33DE702F051F8801B0328C0F0BB
+:104F6000088136E702F04AF8001B0328C0F02281CE
+:104F70002FE7286881010CD4296841F080712960ED
+:104F8000E86840F08050E86002F038F8044628688D
+:104F9000810100F1138102F031F8001B0328F6D3E0
+:104FA00017E70C2930D0286820F080702860E96865
+:104FB00089088900E960E86820F08050E86002F024
+:104FC0001DF804462868810140F1F88002F016F8C7
+:104FD000001B0328F6D3FCE600F0F8F8CFE62078B3
+:104FE00081071AD5A868E96800F00C00042801F0D0
+:104FF000030104D00C2808BF02297FF42EAF2868D3
+:10500000400503D5E06800283FF4D0AE6968206908
+:1050100021F0FE4141EA006169602168DFF8E06447
+:1050200011F0180F38D0606900283FF450AFC9065E
+:1050300070687FF53DAF800709D4706840F00100CB
+:1050400000F0D5F80746706880077FF5FFAE7068FE
+:1050500040F0040000F0CBF80746706800070DD45C
+:1050600001F0CCFFC01B0428F7D3B2E668682169C1
+:1050700020F0FE4040EA01606860CEE77068A169F8
+:1050800020F4706040EA0120706000F0ADF807463F
+:1050900000F097F87FF405AF2078410737D5DFF8A7
+:1050A00064743868C10529D4FFF716FE01F0A6FF25
+:1050B00080463868C10521D401F0A0FFA0EB0800AC
+:1050C0000328F6D385E6706820F0040070607068ED
+:1050D000C00810F00100DFD001F090FFC01B0428D1
+:1050E000F5D376E600F080F8074600F06AF8D3D0F2
+:1050F00001F084FFC01B0328F7D36AE6A0680128EB
+:105100007FF4F7AE306840F00100306002E7A06A3B
+:10511000002853D0A968EA68022801F00C017FF446
+:1051200040AFE36A02F00300984202BF02F0700051
+:10513000236B984214D1636BC2F30620984202BFDE
+:1051400002F47810A36B98420AD1E36B02F060601E
+:10515000984202BF02F06042206C82423FF409AFE5
+:105160000C293FF423AE286820F0807000F0DEF9AF
+:105170000646296888013FF5EEAEE968DFF8880346
+:10518000626B0140E06A0143206B0143A06B41EA7E
+:1051900002210143E06B0143206C0143E960286870
+:1051A00040F080702860E96841F08051E96001F0CA
+:1051B00025FF0446286881017FF5D4AE0020BDE8B4
+:1051C000F0817068400810F0010070472968606A3B
+:1051D00021F0F001014329606868216A20F47F40D2
+:1051E00040EA0120686070477068400840007060C5
+:1051F00001F004BF2DE9F8430400884644D0DFF8ED
+:105200000C6300F0CAF847D200F0CFF8074600F070
+:10521000C4F841D001F0F2FEC01B0228F7D90320E8
+:10522000B9E001F0EBFE401B022843D9F7E701F09B
+:10523000E5FEA0EB090002284CD9F0E701F0DEFE04
+:10524000A0EB0900022854D9E9E701F0D7FE401B82
+:1052500002285DD9E3E701F0D1FE401B022867D99F
+:10526000DDE701F0CBFE401B484577D3D7E70328A5
+:1052700002D13968890103E00028396802D1890721
+:1052800062D401E049055FD4012084E001F0B6FE5C
+:10529000C01B022872D9C2E7207881074FF0B047BF
+:1052A0000BD5B968A06821F0F0010143B96001F0A5
+:1052B000A5FE0546B868C003B3D52078DFF83452A0
+:1052C00081060AD52968606921F0F001014300F0E8
+:1052D00069F8814628688003A9D5207841060BD556
+:1052E0002968A0690909090141EA101100F05AF87A
+:1052F00081462868C003A1D5207841070BD5B9683D
+:10530000E06821F4E0610143B96001F077FE0546F1
+:10531000B868800399D5207801070CD5B868216951
+:1053200020F4605040EAC100B86001F067FE054615
+:10533000B86840038FD52078C10717D56068022868
+:1053400095D1396889039FD5B968890840EA8100F9
+:10535000B86041F2893901F051FE0546B8686168CC
+:1053600000F00C00B0EB810F7FF47BAF306800F0F1
+:105370000700804505D200F018F8074600F00DF848
+:1053800084D100F055F85C490860FFF733FCBDE8B4
+:10539000F24301F0F7BCBDE8F283306800F007008B
+:1053A00040457047296001F029BE3168C90848EAC4
+:1053B000C101316001F022BE38B54FF0B044554D07
+:1053C000A16811F00C0106D1FFF78EFCC0F30310A9
+:1053D00055F8200032BD04294F4A05D008294F480E
+:1053E00004D12168C90222D5104632BDE16801F01E
+:1053F0000301022904D0032904D12168C90207D579
+:10540000104605E0FFF770FCC0F3031055F82000CC
+:10541000E168E268E368C1F306214843C2F3021180
+:10542000491C5B0FB0FBF1F05B1CB0FBF3F032BD2D
+:1054300080B5FFF7C1FF3649FFE7394A0968C1F374
+:10544000031152F82110B0FBF1F002BD80B5FFF757
+:10545000EFFF00F010F8C1F3022106E080B5FFF77E
+:10546000E7FF00F008F8C1F3C22112F8211001F0A3
+:105470001F01C84002BD26492A4A0968704770B515
+:105480002449274AB1282EBFC86AC0F3031051F837
+:1054900020001849096801F00F0152F82110224A32
+:1054A000B0FBF1F0B0FBF2F0002400210FF2840217
+:1054B00052F8213083420AD2491C0329F8D90AE064
+:1054C00001F09CFD801B03280DD3032070BD0FF25B
+:1054D000740050F821400D4D2868C00844EAC0000F
+:1054E00000F024F80646296801F00701A142E7D13F
+:1054F000002070BD080100584826002044260020E6
+:1055000090000058000400588C80C11100400058E1
+:10551000080000587C7A00080024F4000048E801E4
+:105520003C7A00084482000840420F00286001F0E5
+:1055300065BD0000120000002400000036000000DD
+:105540004000000000000000010000000200000018
+:1055500003000000DFF87C211368010C23EA0143FB
+:1055600043EA0043136070472DE9F04105460027E8
+:105570002868DFF864610105B8462FD53468286AC9
+:1055800004F44074844229D0FFF7A6FB002C316854
+:1055900005D1286A21F44071014331601DE0306873
+:1055A00040F48030306021F44071326822F480325F
+:1055B0003260286A014331603068C0070DD501F0C0
+:1055C0001DFD044641F289383068800705D401F09A
+:1055D00015FD001B4045F7D30327B8462878DFF8B0
+:1055E000FC40C10705D5E16F6868890840EA810180
+:1055F000E1672878810705D5E16FA86821F440614B
+:105600000143E1672878C10644BF2869FFF7A2FF7C
+:105610002878810644BF6869FFF79CFF2878410716
+:105620000AD5E868E16F020902F47F220001914384
+:1056300000F47F200843E067286881051ED5A8692B
+:10564000B0F1804F18BFB0F1004F00D018B9E16F32
+:1056500021F0404108E0E16F21F04041E16720F096
+:105660008050E16F21F040610843E067A869B0F124
+:10567000C05F03D1216841F0807121602868410535
+:105680000DD5E16FE86921F040510143E167E86918
+:10569000B0F1005F03D1216841F4803121602868B6
+:1056A000C10405D57168686A21F440410143716005
+:1056B000286881040BD5A169E86A21F03001014313
+:1056C000A161A169A86A890840EA8101A1614046F7
+:1056D000BDE8F08188000058900000580C00005888
+:1056E00038B5040044D094F8210028B9002184F88A
+:1056F0002010204601F0BBFB00F049F8FF2510B157
+:1057000000F03FF834E02168DFF8B0008A6802401A
+:105710008A6021688A68636820690343A06903433B
+:105720001A438A602168E068086120680169A268FC
+:1057300041EA024101612068C16821F08001C16035
+:105740002068C16C21F00201C1642168CA6CE36960
+:10575000606903431A43CA6420688168880609D4D3
+:1057600000F020F830B120684562042100F01FF8F5
+:10577000012032BD20684562012184F821100020FB
+:1057800032BD20684562042184F821107047022050
+:1057900084F82100CA2021684862532022685062A0
+:1057A000204626E020460BE02068C0F8248084F8DC
+:1057B0002110002084F8200070470000BFFF8FFFF9
+:1057C00070B5044640F2E9362068C16821F0A001B6
+:1057D000C16001F013FC05462068C168880606D444
+:1057E00001F00CFC401BB042F6D3032070BD00203A
+:1057F00070BD70B504462068C1684A0612D44FF0E7
+:10580000FF32C26040F2E93601F0F8FB054620683D
+:10581000C168480606D401F0F1FB401BB042F6D344
+:10582000032070BD002070BD8A60FF2102685162B4
+:10583000012180F82110002180F8201000207047FD
+:105840002DE9F84300F065F808BF022038D000F0D9
+:1058500067F814D501F0D2FB07462068C1684807F5
+:105860000DD501F0CBFBC01B4845F6D300F039F84D
+:1058700026E001F0C3FBC01B484507D3F6E700F064
+:105880002AF800F065F801F0B9FB07462068C16806
+:105890004A07EED5C0F81480206800F013F82A48B3
+:1058A000016841F4002101602848026842F40022A6
+:1058B00002602068816841F48041816000F01BF83B
+:1058C000BDE8F2838168C908C900816020688168E9
+:1058D0000D43856070472068816821F48061816094
+:1058E000704720684662032184F82110002084F864
+:1058F0002000032070472068816841F48061816046
+:1059000001212068466284F82110002084F82000DC
+:1059100070470446884694F82000012815467047D1
+:10592000012184F82010022084F82100CA20216877
+:105930004862532022685062FF262068816848052B
+:1059400040F2E9397047000080080058000800580C
+:105950002068C16801F0800161F49061C160704706
+:1059600090F82010012901D102207047012280F80F
+:105970002020022180F82110CA210268516253219F
+:105980000368596201688A6842F020024CE700000F
+:1059900038B5040009D004F18005686808B900F042
+:1059A0001EF800F021F8012801D1012032BDA06AC3
+:1059B00008B100F02AF800F00AF821F02A01FFE708
+:1059C000816000F01BF8BDE8324000F03EBB20686B
+:1059D000416821F49041416020688168704700214E
+:1059E0002970204601F07FBA242068602068016891
+:1059F000490849000160204600F0BCB920680168F0
+:105A000041F00101016020467047204600F0BABA1B
+:105A100070B5044604F180051346686820283DD11E
+:105A200069B318002BD02878012837D001222A70BA
+:105A300004F154062165338073800020E860212042
+:105A40006860706AE8B1DFF82013C162DFF81C03F8
+:105A5000716A0863716ADFF8180348630020716A8D
+:105A600088632068216D00F12802706A01F023FB31
+:105A700038B11020E86000202870202068600120E4
+:105A800070BD2168402008620020287000F008F8EE
+:105A900041F0800100F061FBF8D170BD022070BDC3
+:105AA000206800F1080151E8001F00F1080270476A
+:105AB000216851E8002F7047206800F1080151E883
+:105AC000001F00F1080221F0400142E80010002808
+:105AD0007047F8B5044640F60F002668F169326851
+:105AE000B368084004F15C050ED1880602D5900623
+:105AF00002D4D80040F181806969002900F0298131
+:105B00002046BDE8F4400847DFF8E006034204BF42
+:105B1000DFF8DC763A4270D0CF0707D5D70505D538
+:105B2000012737622E6B46F001062E638E0708D5DB
+:105B3000DE0706D5276802263E622E6B46F0040675
+:105B40002E634E0708D5DE0706D5276804263E6279
+:105B50002E6B46F002062E630E070AD5960601D478
+:105B6000034206D0266808203062286B40F0080007
+:105B70002863080509D5500107D526684FF4006051
+:105B80003062286B40F020002863286B002833D057
+:105B9000890607D5900601D4D80003D5696909B1F3
+:105BA00020468847286B21688A68510602D410F085
+:105BB000280F1CD0204600F0EFFA00F0D1F811D5E4
+:105BC000FFF77AFFFCD1286A60B10FF2B1618163FF
+:105BD000286A01F0E9FA00280ED0286A816BBDE836
+:105BE000F44008472046BDE8F24001F0C1BB204622
+:105BF00001F0BEFB00202863F1BD286901286AD1AD
+:105C0000CF0668D5D00666D51020306200F0A8F81F
+:105C10002DD5296A0868406880B20028ECD02A880F
+:105C20009042E9DA6880086801688A061BD4FFF7A9
+:105C30003FFF22F4807200F08FF8F8D1206800F066
+:105C40007DFAFBD1FFF738FFFCD12020E86200206D
+:105C50002861FFF72DFF22F0100200F07DF8F8D147
+:105C6000286A01F06BFA29886888091A2DE02888CB
+:105C70006988411A688800281CBF88B2002868D04B
+:105C8000226852E8003F23F4907342E80030002875
+:105C9000F6D1206800F1080200F1080352E8002F55
+:105CA000DFF8C402024043E800200028F1D12020A0
+:105CB000E862002028616861226852E8003F23F012
+:105CC000100342E800300028F6D12046BDE8F44039
+:105CD00089B201F04EBBC80209D5580207D54FF46E
+:105CE000801030622046BDE8F24000F06DBB08062F
+:105CF00009D5100601D4180205D5A96949B3204673
+:105D0000BDE8F4400847480611D550060FD5FFF707
+:105D1000CFFE22F0400200F01FF8F8D12020A86248
+:105D20000020A8612046BDE8F24001F03ABB08021D
+:105D300006D5500004D52046BDE8F24001F042BB34
+:105D4000C80148BF002A04D52046BDE8F24001F052
+:105D50003ABBF1BD22F4F07241E800200028704700
+:105D60002068816848067047F96100082B620008C6
+:105D700031620008F8B50446DFF838052168DFF81D
+:105D800038C50A68DFF834750240A068024320690C
+:105D9000024360690243E06902430A6000254A68E1
+:105DA000E06822F4405202434A60A369DFF81025FC
+:105DB00091421CBF206A03438E68DFF80805064045
+:105DC00033438B600FF2A416CB6A606A1B0940EA6A
+:105DD0000313CB626145DFF8F0044FF4004339D17F
+:105DE0003F6807F00307032F4DD8DFE807F00246AE
+:105DF00043494FF0010CE169B1F5004F4FF6F077E0
+:105E000040F08080BCF1010F09D0BCF1020F0AD034
+:105E1000BCF1040F71D0BCF1080F71D099E0FFF70D
+:105E20001DFB002815D0626A616836F81230B0FB9D
+:105E3000F3F04A0802EB4002B2FBF1F080B2A0F1AD
+:105E40001001B942EAD20740C0F34200074320687C
+:105E5000C7607FE0914216D13F6817F4406723D0B6
+:105E6000B7F5806F09D0B7F5006F03D0B7F5406F75
+:105E700006D008E04FF0020C07E04FF0040C04E0FD
+:105E80004FF0080C01E04FF0100C9142B3D1BCF17F
+:105E9000000F09D0BCF1020F0AD0BCF1040F15D0DD
+:105EA000BCF1080F15D054E0FFF7D0FA002851D00C
+:105EB000616A36F81120B0FBF2F6626802EB42012B
+:105EC0008E4246D31103B14205D242E0FFF774FA85
+:105ED000ECE71846ECE75008002110EB062051EBE8
+:105EE00016610023FBF710FAA0F54071DFF8DC2300
+:105EF00091422ED22268D0602CE0FFF75DFA90E745
+:105F0000184690E7BCF1010F09D0BCF1020F09D08F
+:105F1000BCF1040F18D0BCF1080F18D019E0FFF73E
+:105F20009DFAB8B1626A36F812306168B0FBF3F0DE
+:105F300000EB5100B0FBF1F080B2A0F11001B942CA
+:105F400007D22168C86005E0FFF736FAE9E718468E
+:105F5000E8E7012504F1680001214180018000216A
+:105F60008160C1602846F2BDFEFFFFEF0100020024
+:105F70000400060008000A000C0010002000400089
+:105F80008000000190F82810CA0706D502685368FF
+:105F9000C16A23F400330B43536090F828108A073A
+:105FA00006D502685368016B23F480330B435360BA
+:105FB00090F828104A0706D502685368416B23F40D
+:105FC00080230B43536090F828100A0706D5026817
+:105FD0005368816B23F400430B43536090F82810FF
+:105FE000CA0606D502689368C16B23F480530B433D
+:105FF000936090F828108A0606D502689368016CB1
+:1060000023F400530B43936090F828104A0610D5F0
+:1060100002685368416C23F480130B435360416C56
+:10602000B1F5801F05D15368816C23F4C0030B4385
+:10603000536090F828100A0606D501684A68C06CBB
+:1060400022F4002202434A607047F8B5044604F186
+:1060500080050020E8606FF07E4700F0CFFF064625
+:10606000206801680A0708D50097334600224FF4DC
+:106070000011204600F017F860B9206801684A074F
+:106080000AD50097334600224FF48001204600F0E5
+:106090000AF808B10320F2BD20206860A860002043
+:1060A000E0662870F2BD2DE9F041069C05460E46DB
+:1060B00090461F462868C1693140B1420CBF01209B
+:1060C0000020404526D114F1010FF3D000F096FFD7
+:1060D000C01B844200D33CB900F025F800F02DF835
+:1060E000FCD100F01AF811E0286801684A07E1D5F0
+:1060F000C1690A05DED54FF40062026200F013F8B0
+:1061000000F01BF8FCD100F008F8C160002101701C
+:10611000032000E00020BDE8F08105F1800020218F
+:10612000416081607047296851E8002F22F4D072E5
+:1061300041E800200028F6D17047286800F10801E6
+:1061400051E8001F490800F10802490042E8001028
+:1061500000287047DFF87801014042E8001000286D
+:1061600070470000026852E8003F23F0C00342E895
+:1061700000310029F6D1016801F1080252E8002F30
+:1061800001F1080322F4000243E800210029F2D1C2
+:106190002021C0F884107047026852E8003F23F4C1
+:1061A000907342E800310029F6D1016801F108023C
+:1061B00001F1080352E8002F0E490A4043E800218C
+:1061C0000029F2D1C16E012908D1026852E8003FCE
+:1061D00023F0100342E800310029F6D12021C0F855
+:1061E00088100021C166016770470000010000109F
+:1061F00020010004FEFFFFEF0146886A09680A6873
+:10620000930610D40021A0F85610016801F108028D
+:1062100052E8002F01F1080322F0800243E8002138
+:106220000029F2D13BE001F0BCB8806A01F0CCB8A3
+:10623000F8B5846A04F1840504F1560728686E688D
+:1062400021688A68110606D5212804D100203880EB
+:106250002046FFF787FFFFF783FD06D5222E04D1E6
+:10626000002038812046FFF797FFA86840F0100013
+:10627000A8602046BDE8F24001F07AB8806A00F1DB
+:10628000560100220A810A8001F072B8026852E8C1
+:10629000003F23F0800342E800310029F6D1026874
+:1062A00052E8003F43F0400342E800310029F6D1B4
+:1062B00070470000F369FFCF0038014088000058A4
+:1062C00000800040FFF4FF110024F40000FD0F00E7
+:1062D000FEFF7FEF10B500F180010A78012A01D19D
+:1062E000022010BD01230B7024224A60026813684B
+:1062F00014686408640014600022426623F00053AE
+:1063000000680360202048600020087010BD70B550
+:1063100000F01EF801D1022070BD00F01FF822F03D
+:10632000604209E070B500F013F801D1022070BDA1
+:1063300000F014F822F0606211438160204600F002
+:106340001AF820680660202068600020287070BD60
+:10635000044604F1800528780128704701222A703C
+:1063600024206860206806680268520852000260B3
+:1063700020688268704730B5416E11B90121012251
+:1063800014E001680FF230048A6889680FF2300364
+:10639000520E02F00702490F655CA45C595C9A5CDE
+:1063A000ED00E40095FBF1F194FBF2F268304180DE
+:1063B000028030BD00000000010101030701000060
+:1063C00008040204080101017047000009010200ED
+:1063D00081B002D43C48815405E03C4802F00F02F1
+:1063E000104400F8041C01B07047394A13684FF696
+:1063F000FF0100020B4000F4E060184335490843F8
+:106400001060704738B5324B1C68C4F30223C3F1E7
+:106410000704052C28BF04241D1D072D34BF0023AD
+:10642000DB1E012505FA04F4641E2140994005FA9B
+:1064300003F35B1E1A401143BDE83440C6E7000079
+:10644000010007D4012200F01F01234B8A404009BC
+:1064500043F82020704701000BD4012200F01F01F7
+:106460001E4B8A40400943F82020BFF34F8FBFF3F3
+:106470006F8F704710B5401EB0F1807F01D30120AF
+:1064800010BD174C60600F214FF0FF30FFF79EFFEB
+:106490000022A26007202060002010BD010007D468
+:1064A000012200F01F010F4B8A40400943F82020D1
+:1064B0007047010007D4012200F01F010A4B8A40F7
+:1064C000400943F82020704700E400E018ED00E0A8
+:1064D0000CED00E00000FA0500E100E080E100E0E2
+:1064E00010E000E000E200E080E200E0704770476A
+:1064F00070477047704770477047704770477047E4
+:106500007047704738B5054684B068780024FF2886
+:1065100002BFB5F8031040F60140814225D165491C
+:106520008A88B5F80700921C904209D1687B012443
+:10653000C10752BF8DF8004000218DF8001011E016
+:106540004988491C884210D10FF27010FDF770FA8B
+:1065500003208DF8000005F10D00B5F80B108DF843
+:10656000081001906846FCF743FE204605B030BD98
+:1065700010B58AB050484F4CFCF778FD8F218DF84C
+:106580001810E520B3218DF819008DF81A10D520C8
+:106590002E218DF81B008DF81C107F204A218DF8CC
+:1065A0001D008DF81E1098202A218DF81F008DF8EF
+:1065B000201048207A218DF821008DF82210CC205F
+:1065C00040218DF823008DF82410FE2000218DF845
+:1065D0002500ADF8261000940823012206A9022008
+:1065E000FDF747FD00F032F8412000F023F8A01C31
+:1065F00000F010F8062100F015F800F027F842200E
+:1066000000F018F8201D00F005F8102100F00AF83D
+:106610000AB010BD059001210491029100200A22C8
+:1066200001907047039200910223208806AA02215C
+:10663000FDF76EBD8E218DF824008DF8231000200B
+:10664000FE21ADF826008DF82510704719208DF831
+:106650001800ED2182208DF81A008DF81910ED2018
+:10666000AE218DF81C008DF81B104C2021218DF8D7
+:106670001E008DF81D1041209D218DF820008DF801
+:106680001F10222045218DF822008DF8211070471F
+:1066900080B592224FF64263984208D10548009196
+:1066A0000223818800880022FDF78CFD02461046F7
+:1066B00002BD00001C2B0020056500082D2D204781
+:1066C000415454203A204C454420434F4E464947BC
+:1066D00055524154494F4E20524543454956454431
+:1066E0000A0000007047704770477047704710B548
+:1066F0000446FAF7B5FD204610BD10B50446104615
+:106700000A460146204600F061FE204610BD00000A
+:106710002DE9F84F4FF00009644A654B4FF00F0820
+:1067200005460E4633E0634FBD4214BF07270427DA
+:106730008F4027434CF82E70C1431C6801EA040CBB
+:106740007468E40248BF40EA0C0CC3F800C05C68FF
+:1067500001EA040C7468A40248BF40EA0C0CC3F8B8
+:1067600004C0146801EA040C7468E40348BF40EAFA
+:106770000C0CC2F800C0546801EA040C716889036B
+:1067800048BF40EA0C0CC2F804C009F101093168A5
+:1067900031FA09F078D0012404FA09F414EA01006E
+:1067A000F3D04FEA490C032101FA0CF16FEA010E14
+:1067B000716801F00307012F1CBF01F003010229DA
+:1067C00011D1A968F7680EEA010107FA0CF73943FD
+:1067D000A960696821EA04047168C1F3001101FA33
+:1067E00009F10C436C604FEA8901347904F0030429
+:1067F000032C1FD0EC68B7680EEA040407FA0CF704
+:106800003C43EC60347904F00304022C12D14FEACB
+:10681000D90705EB870401F01C07D4F820A008FA7B
+:1068200007FB2AEA0B0AD6F810B00BFA07F747EA7B
+:106830000A0727622C680EEA0407347904F003047F
+:1068400004FA0CF43C432C60746814F4403F9CD070
+:10685000DFF864C04FEA990E5CF82E7001F00C016D
+:1068600008FA01F427EA0404B5F1904F08BF0027A5
+:1068700009D0124FBD4208BF012704D0104FBD42BE
+:106880007FF451AF022753E7BDE8F18F81B0002AB2
+:1068900014BF8161816201B070470A4A13680342E4
+:1068A0001CBF1060FDF789BF7047000080080058CA
+:1068B000000800580010004808000140000400488B
+:1068C000000800480C0800580346002009B95A6027
+:1068D00070470120704708B901207047016000200F
+:1068E00070470000C0680840884201D1012070470D
+:1068F00000207047C0690840884201D101207047DC
+:106900000020704710B5684C02212046FFF7F2FFC7
+:1069100038B16068C043810703D5FDF78AFD0220C6
+:1069200018E001212046FFF7E5FF38B16068C04359
+:10693000C10703D5FDF745FD01200BE008212046E6
+:10694000FFF7D8FF38B16068C043010703D5FDF7F2
+:10695000C4FD0820A06010BD10B5534C0221204694
+:10696000FFF7C0FF58B96068C043810307D560686E
+:1069700040F400306060BDE81040FDF753BD0821D1
+:106980002046FFF7AFFF70B96068C04301030AD526
+:106990006068464940F400206060086880474FF412
+:1069A0000020A06010BD20212046FFF79BFF58B9B2
+:1069B0006068C043810207D5606840F400106060E1
+:1069C000BDE81040FDF70CBD10BD394881B001682D
+:1069D00041F480110160006800F48010009000987C
+:1069E0003448016841F4007101603348026842F4A0
+:1069F0000072026040BF20BF3048016841F400418E
+:106A0000016001B0704780B52D48016841F48011E4
+:106A10000160006800F4801000900098224801682E
+:106A200041F001010160026842F4803202602C20D2
+:106A3000FFF706FDBDE802402D20FFF701BD21480C
+:106A4000016849084900016070471F494FF48030D0
+:106A5000086070471B48016821F00201016070471F
+:106A600018484FF400314160016821F400310160A1
+:106A7000704738B504460C4D08212846FFF732FF11
+:106A800030B10A480460686820F40020686031BDB5
+:106A9000A0474FF40021A96031BD0A48016821F0E8
+:106AA0000801016070470000000C00582C2B0020EA
+:106AB00050010058D4080058200800580C04005811
+:106AC00050000058040C0058080C00580248016897
+:106AD00041F400710160704708040058484900E023
+:106AE000484981B00A6802430A600968084000907A
+:106AF000009801B0704780B5FEF77FF8FEF77FF889
+:106B00004148016841F48031016000F0AEFCBDE80D
+:106B100001400EE000B587B068460FF238211C2214
+:106B2000FAF7AEFBFDF7CDFC6846FCF761F907B05C
+:106B300000BDF0B585B068461421FEF7C9F80026FF
+:106B40000025002400210FF2DC0000EBC102907947
+:106B500088B11368B3F1904F08D02C4FBB4208D0D6
+:106B60002B4FBB4204BF9088044304E09088064347
+:106B700001E090880543491C2629E4DB00200290AF
+:106B80000121032003900191B0B288B1009001204F
+:106B9000FFF7A4FF0120FFF7A3FF69464FF09040E5
+:106BA000FFF7B6FD0022B1B24FF09040FFF76EFE46
+:106BB000A8B280B100900220FFF790FF0220FFF7FB
+:106BC0008FFF124E69463046FFF7A2FD0022A9B2A0
+:106BD0003046FFF75BFEA0B280B100900420FFF7C3
+:106BE0007DFF0420FFF77CFF094D69462846FFF72B
+:106BF0008FFD0022A1B22846FFF748FE05B0F0BD88
+:106C00004C0000584C0100589008005800040048FF
+:106C100000080048FCF7D8B913460A460146002090
+:106C200000F0A8BB00000048010000000000004880
+:106C300001000000000000480100000000000048C2
+:106C400001000000000000480100000000000048B2
+:106C500001000000000000480100000000000048A2
+:106C60000100000000000048010000000000004892
+:106C70000100000000000048010000000000004882
+:106C80000100000000000048010000000000004872
+:106C90000100000000000048010000000000004862
+:106CA0000100000000000048010000000000004852
+:106CB0000100000000000048010000000000004842
+:106CC0000100000000000048010000000000004832
+:106CD0000100000000000048010000000000004822
+:106CE0000100000000000048010000000000004812
+:106CF0000100000000000048010000000000004802
+:106D000001000000000000480100000000000048F1
+:106D100001000000000000480100000000000048E1
+:106D200001000000000000480100000000000048D1
+:106D300001000000000000480100000000000048C1
+:106D400001000000000000480100000000000048B1
+:106D50000100000000000000000000000000000032
+:106D6000246C0008280003202C00032026040400C3
+:106D70000249016002490161704700BFE743000812
+:106D80000F44000870B50F4E044630780025A8B1B6
+:106D9000FEF74EFB32784FF47A71B1FBF2F1B0FBA3
+:106DA000F1F0FFF767FB48B9102C07D2002221460B
+:106DB0004FF0FF30FFF726FBB46000E001252846C6
+:106DC00070BD00BF3C260020764981B00A680243AE
+:106DD0000A60096808400090009801B0704780B5CB
+:106DE0004FF40020FFF7F0FF002200212E20FFF7D4
+:106DF00009FBBDE802402E20FFF722BB00686A496C
+:106E0000884200D0704780B54FF48010FFF7DCFF58
+:106E1000002200212C20FFF7F5FA2C20FFF710FBB1
+:106E2000002200212D20FFF7EDFABDE802402D20C1
+:106E3000FFF706BB10B58CB0044668463021FDF75D
+:106E400047FF2168594A91420FD14FF400700090DA
+:106E50004FF0004106916846FEF786FB08B1FCF74B
+:106E6000FEF84FF48020FFF7AFFF0CB010BD30B537
+:106E70008DB0044601A83021FDF72AFF21684C4A55
+:106E800091422ED1FDF728FFFDF726FF494DA86B53
+:106E900020F4407040F48070A8634FF480714FF488
+:106EA00000600190099101A8FEF75EFB08B1FCF7B4
+:106EB000D6F8A86B40F40040A8630022296841F48A
+:106EC000806129600021286800F4806000900098AB
+:106ED0000320FFF797FA0320FFF7B2FA2046FEF7E8
+:106EE0003FFD0DB030BD38B592B0044601A8142165
+:106EF000FDF7EEFE06A83021FDF7EAFE20682E49D8
+:106F000088424CD1002001210790069106A8FEF787
+:106F10002BFB08B1FCF7A3F82848294D416941F43F
+:106F2000804141610222416901F480410091009950
+:106F3000016841F0010101604FF4C061006800F098
+:106F40000100009000980191012003900321072087
+:106F500004910590029201A94FF09040FFF7D8FBF1
+:106F6000184828600F2068601020A8600020E860A2
+:106F70008020286100206861A861E86128622846B5
+:106F800000F042F808B1FCF76AF8A567AC6200228D
+:106F900000212420FFF736FA2420FFF751FA13B01E
+:106FA00030BD000050000058000C00580010005880
+:106FB0000028004058000058003801404C0000589C
+:106FC000F02800204400024000B500BF13009646A0
+:106FD0009446103928BFA0E80C50FAD85FEA417CEB
+:106FE00028BF0CC048BF40F8042BC90728BF20F8B1
+:106FF000022B48BF00F8012B00BD0000014840688B
+:10700000704700BF3C26002038B5040001D10120A4
+:1070100032BD2168DFF840034018142204F1240532
+:10702000B0FBF2F2DFF83403E86192002A6202203A
+:1070300068700A68A0686FF30E120243E0680243AA
+:107040002069024360690243A0690243E069024388
+:10705000206A02430A60204600F058F9A068B0F5A3
+:10706000804F04BF002161602079696A00F03F0011
+:1070700000F014F838B1052805D2204600F05AF97E
+:1070800000F012F803E0002028636863A863002082
+:10709000A861012068700020287032BD0860A96ACC
+:1070A000E86A486060687047296B00200860696B77
+:1070B000A86B48607047F8B5044604F12406002523
+:1070C0003078012801D10220F2BD01273770707895
+:1070D00001282FD102277770B561206807687F08E3
+:1070E0007F000760204600F0F5F82168F06820B1C5
+:1070F0000A6842F00E020A6008E0086820F0040006
+:1071000008602068016841F00A010160706A016846
+:10711000CA0303D5026842F480720260306B18B172
+:10712000016841F4807101602068026842F0010248
+:10713000026001E0357002252846F2BD81B040B101
+:1071400000F124014A78022A05D004208861002039
+:107150000870012026E00268136823F00E03136014
+:107160004A6A136823F48073136000680268520847
+:1071700052000260012091F82020CB6902F01C022D
+:10718000904058608A6AC86A5060086B30B10268E3
+:1071900022F4807202604A6B886B50600120487054
+:1071A0000020087001B0704738B500F124020024B7
+:1071B0005178022903D004209061012428E001685D
+:1071C0000B6823F00E030B6001680D686D086D00FD
+:1071D0000D60516A0B6823F480730B60012192F8F3
+:1071E0002030D56903F01C0399406960936AD16A25
+:1071F0005960116B31B10B6823F480730B60536BD2
+:10720000916B5960012151701470516901B1884727
+:10721000204632BDF8B500F124010423CA69146880
+:107220000268156891F8206006F01C0603FA06F75C
+:107230003C4210D06F070ED51468A50603D415681C
+:1072400025F00405156000F03DF8C968002938D024
+:10725000BDE8F4400847022303FA06F73C4213D086
+:10726000AF0711D51468A50605D4156825F00A05E1
+:10727000156001224A7000F025F800220A70896822
+:10728000F9B1BDE8F4400847082303FA06F6344292
+:1072900017D02B0715D5136823F00E0313600122B6
+:1072A00091F82030CC6903F01C039A4062600122FF
+:1072B0008A614A7000220A70096911B1BDE8F44080
+:1072C0000847F1BD91F82020CC6902F01C029340E0
+:1072D0006360704778B5C56C046D6C60446D14B123
+:1072E000846DC56D6560012590F84440066C04F01E
+:1072F0001C04A5407560046863608068102802D192
+:10730000A260E16071BDA160E26071BD426C144990
+:10731000920801EB82018164142201780839B1FBE3
+:10732000F2F1104AC26401F01F01012202FA01F1D8
+:107330000165704701790C4A01F03F0102EB8102BF
+:107340004265491E094A826501F0030101228A4013
+:10735000C265704700000000F8FFFDBF000002405A
+:107360000008024080080240FC0802404009024038
+:107370007047704710B5002488B9114803600E4863
+:107380000E4B0360FEF744FB012805D007D303280A
+:1073900004D038BF022402E0012400E00324204688
+:1073A00010BD00680549884204D1054908680028D5
+:1073B00018BF0047704700004C26002000380140ED
+:1073C000302B0020704770477047000062F30F2297
+:1073D00062F31F42401810F0030308D0C91A1FD3EC
+:1073E000DB0748BF00F8012D28BF20F8022D13004D
+:1073F00030B414461546103928BF20E93C00FAD8AD
+:10740000490728BF20E90C0048BF40F8042D890037
+:1074100028BF20F8022D48BF00F8012D30BC70476E
+:10742000C91818BF00F8012DCB0728BF00F8012D9F
+:107430007047000038B5EFF3108472B6284D6946E6
+:10744000281D00F06AF96946281D00F0C4F938B11A
+:1074500084F31088BDF80010224AFFF7DDFB31BD30
+:107460000120287084F3108831BD80B5FFF7D2FB6E
+:107470000221009100231A4800F124014FF48052A8
+:10748000001D00F031F801BD00BFF8B5144600261C
+:10749000EFF3108510F1010F1ED001281CBF022848
+:1074A0004FF0FF3618D1BCB1264672B60C4F0123FF
+:1074B00092B2381D00F02CF800281CBF3978002942
+:1074C00008D000223A7085F31088A1B2054AFFF770
+:1074D000A3FB01E085F310883046F2BD00000000F8
+:1074E000081400203574000810B5029C0160426049
+:1074F0000021C1600161416181610381A1070477BD
+:1075000004D5008910B14FF0FF3010BD002010BD30
+:107510002DE9F04F064685B030890C460027BB4662
+:1075200000287169DC460CBF4FF00208D84681B1D3
+:1075300068B930697768451CBD4228BFED1B3768C4
+:10754000385C7D5D00EB0527BF1CBFB203E007463A
+:1075500000E000B102463069F568A84223BF7568B3
+:10756000281AC01B0020154608EB050903FB09FE7D
+:10757000864532BF0020B0FBF9FA09FB1A00C0B201
+:10758000804509DA96F81C905FEAC97A48BF8446BC
+:107590005FEA897048BFC446100000F0B48070688C
+:1075A000714461448842C0F0AE8008EB020080B2B2
+:1075B0000390D946100AADF802000294ADF80020FD
+:1075C000049359E0800740D53089002840F09B8023
+:1075D0003268D018A34600F8024C200A32681A44D8
+:1075E00002F8010C224630681844F9F739FE706938
+:1075F00020187061B069019C401CB061200A31689C
+:107600000C70316848701CE08CB3307FC207D9D54C
+:10761000308940B931681944FF2001F8020C316803
+:10762000194401F8010C4FF0000B706924187461C3
+:107630002C463089002340B931680C70210A30682B
+:10764000417002237069801C706108EB04070021FF
+:10765000BFB231615CB1DA44029800EB0A013068D4
+:1076600022461844F9F7FCFD70692418746109F189
+:107670000109B069401CB061049A70683169914594
+:1076800045D2791881422CBF081A0846306103465A
+:107690003089A0B93068BDF80010C1545B1C706817
+:1076A0003168834228BF1B1ABDF80200C8545B1C16
+:1076B0007068834228BF1B1A7069801C706105FBCB
+:1076C00009FA7468BDF80000E41A844288BF0446D1
+:1076D000029800EB0A01281BAC42019003D093D220
+:1076E000307F002890D137682246F818F9F7B8FDA6
+:1076F000706920187061A346019C039F0023A9E7CD
+:107700003068404400E0002005B0BDE8F08F8844B8
+:107710008045F5D3A8EB0008F2E7F8B50246002350
+:107720001089546900280CBF022500250026002C72
+:107730004DD060B9D36857685E1CBE4228BFF61BA7
+:107740001768FB5CBE5D03EB0626B6B200E006469A
+:10775000137F03F00303012B23D14FF6FF77BE42C3
+:1077600008BF002808D0D36817699F4219D2C0B15A
+:107770005768FB1A834214D25668D368A41B1C199D
+:1077800000235461D36058B910680378012E94BF68
+:10779000C6F101060126805D03EB0026B6B200E0CB
+:1077A0000646D76854681368E819A04228BF001B32
+:1077B00003445069801B401B506105D0F719ED1937
+:1077C000A54228BF2D1BD5609069401E906101B174
+:1077D0000E801846F2BDF8B50246002410895369A0
+:1077E00000280CBF022500250026002B3AD0D468C3
+:1077F000234658B95768661CBE4228BFF61B176857
+:1078000017F804C0BE5D0CEB062600E00646177FA5
+:1078100007F00307012F1ED1B7B24FF6FF7C674573
+:1078200008BF002807D150680023012894BFC0F189
+:10783000010001200AE01769A7420CD258B157682D
+:107840003C1B844207D20023064604E014682678D5
+:10785000205C06EB00265068ED18854228BF2D1AE3
+:107860001068441901B10E802046F2BD10B50446DF
+:10787000AFF30080204600F005F80446AFF3008027
+:10788000204610BD7CB500F10F06F608F600B042A8
+:1078900040D2082E04D2082602E0083000F047F853
+:1078A000DFF804512C68210005D1002007E00268B0
+:1078B000B24221D2011D08680028F8D12068291D94
+:1078C0000A68824222D01368B34238BF111DF7D331
+:1078D00012E093190B60801B54685C600B681860A1
+:1078E0001660096800291DBF48680028081D00208F
+:1078F000286002F1080076BD61B10A681068A0F145
+:107900000803B342E5D250680860EAE700F04EF899
+:107910000028C2D1002076BD10B5040006D0AFF318
+:107920000080204600F003F8AFF3008010BD00286F
+:1079300000D1704750B4A0F108021368072B2BD96F
+:1079400013F0070F28D1184C616809B18A4202D29E
+:107950005160626013E0486800B3904238BF01464E
+:10796000F9D31BE0964203D11B180B600A4606E0D0
+:10797000486810B1134498420ED350604A60506872
+:1079800050B11368D118814206D1002121600168ED
+:10799000CB1813604068506050BC704708680E18E0
+:1079A000B242DFD250BC70470C2B00200749086858
+:1079B00008B1002070470648C008C00008600549AB
+:1079C000C908C900091A0160704700BF402B002098
+:1079D0000F100020081400201349002008604FF405
+:1079E000E0221248016841F4700101604FF0B0419B
+:1079F000086840F0010008608A600D480A6802408B
+:107A00000C480A60036823F00503036042685208CB
+:107A10005200426000220848C860086820F48020B4
+:107A200008608A617047000008ED00E088ED00E022
+:107A3000FBFEF6FA9400005800100422010000003A
+:107A4000030000000500000001000000010000002C
+:107A5000060000000A0000002000000002000000F4
+:107A600004000000080000001000000040000000BA
+:107A7000800000000001000000020000A08601005C
+:107A8000400D0300801A060000350C0040420F0034
+:107A900080841E0000093D0000127A000024F400DA
+:107AA00000366E010048E801006CDC0200000000B6
+:107AB0000000000000000000000000002DE9F0417F
+:107AC00007468846387810F0030F16461D4633D017
+:107AD000384600F099F878BBB8F1000F1CBFD8E920
+:107AE00000018619012D2ED13888C10415D5396AB7
+:107AF00007F14402384600F0A3F83A6B044602B995
+:107B00003A69F968384600F09BF8361B341A7A69EE
+:107B1000F968384600F094F8261A1EB94DB916F1E6
+:107B2000010F09D097F903002A46314600F08EF87C
+:107B3000064616F1010F09D12320AFF300804FF064
+:107B4000FF30BDE8F081022DE8D1EBE7388810F472
+:107B5000405F0ED07868F86038617861B861786805
+:107B6000F86107F14400386207F1300078620020C4
+:107B70003863B8F1000F05D0D8E9020107F13402EB
+:107B8000C2E9000139884CF6FF60014039800020CD
+:107B9000BDE8F08170B50546AFF300802888810408
+:107BA00015D56E680024EA6895F9030031469142C4
+:107BB00012D2521AFFF768FC10F1010F1CBF002807
+:107BC0003618F0D10FE04DF6FF70014029802846AD
+:107BD000AFF30080002070BD00220021FFF754FCAD
+:107BE00010F1010F00D101246868E860A861E86124
+:107BF000002C2988E7D041F4007129802846AFF392
+:107C000000804FF0FF3070BDF8B5A0B9AFF3008031
+:107C100000250A4E08244FF0FF37306820B1FFF7E7
+:107C2000B9FF002848BF3D46361D641EF5D1AFF3AD
+:107C300000802846F2BDBDE8F240ABE7E825002011
+:107C4000914234BF511A0021084670473EB50400E6
+:107C50000D00012A02D100F063F807E0022A07D1E3
+:107C600000940020019069460C20ABBE2D1801E065
+:107C7000002A0CD10094019569460A20ABBE002869
+:107C800005D100222100280000F027F801E00020A3
+:107C9000C04303B030BD000010B4314A0021134688
+:107CA0001C6884421EBF491C9C6884421EBF491C3C
+:107CB0001C69844209D09C69491C844205D0491C36
+:107CC00020331029ECD310BC7047002342F8313028
+:107CD00002EBC1014B6010BC704778B4204C00230C
+:107CE00025462E688E421EBF5B1CAE688E421EBFAC
+:107CF0005B1C2E698E4209D0AE695B1C8E4205D09A
+:107D00005B1C2035102BECD372BC7047054604EB8E
+:107D1000C303012A04BF59684D195D6072BC7047E6
+:107D200010B40F4A002113461C6884421EBF491C30
+:107D30009C6884421EBF491C1C6984420AD09C690D
+:107D4000491C844206D0491C20331029ECD310BCB6
+:107D50000020704702EBC100406810BC7047000073
+:107D60007028002010B50446E068A169884251D30C
+:107D7000218849F202030B40022B08D008044CBFB3
+:107D80004FF400704FF48440014321803BE001F444
+:107D9000C042B2F5C04F06D1A168884203D3204645
+:107DA000FFF732FF78BB208810F4406F02BF606895
+:107DB00004F14401884217D14FF40070FFF756FDDB
+:107DC000606030B904F144006060E060401CA06075
+:107DD0000AE0218841F040012180E060606100F507
+:107DE00000726068A260E06160682061A068A061C4
+:107DF000207841070AD502220021204600F00CF825
+:107E000010F1010F02D14FF0FF3010BD208840F477
+:107E1000C0402080002010BD70B504460D461646B7
+:107E2000AFF3008033462A4600212046FFF746FE86
+:107E300005462046AFF30080284670BD2DE9FC4D75
+:107E4000016800F10805490805EBC102019200F143
+:107E50000802406800F0010A02EBC108400808EB84
+:107E6000C00B00200021019A95422FD02A68AE183D
+:107E70006A68324400920835009A9642F3D016F9A7
+:107E8000014B009A964205D12A68AE186A683244BE
+:107E90000092083516F8017B884210D1D84508BFFA
+:107EA000F9F709FFD8F80000D8F80410BAF1000F6C
+:107EB00018BF48440144884208F10808EED0002C5D
+:107EC00000F8017B05D5641CE6D1D5E75846BDE82E
+:107ED000F68D641ED5D5CFE738B504000ED02078D6
+:107EE00010F0030F03D094F90300002809D5AFF375
+:107EF0000080204600F030F8AFF300804FF0FF30F4
+:107F000032BD2046FFF780FE0546AFF300802078A3
+:107F1000410644BF606800F05DF80020606094F99D
+:107F20000300022804D900F057F808B14FF0FF35DC
+:107F3000E06B48B100F05CF808B14FF0FF35E06B42
+:107F400000F048F80020E063204600F005F8AFF3A9
+:107F50000080284632BD000001780A0626D51C4A5A
+:107F600013680021834203D1002342F821301BE033
+:107F70005368012183421EBF022193688342F3D0DC
+:107F8000D368032183421EBF042113698342EBD0CF
+:107F90005369052183421EBF0621936983421EBF98
+:107FA0000721D3698342DFD000F014B8002101809B
+:107FB0004FF0FF31C17000F144014160C1600161C7
+:107FC00041618161C161016200F13001416270472C
+:107FD000E8250020FFF7A0BC1CB50200009269460E
+:107FE0000220ABBE04001000FFF756FE200016BDB5
+:107FF000E0B50090F9F7E6F8019069460E20ABBEB7
+:1080000003B000BD38B50C46C5B22046AFF30080C2
+:10801000E068A169884204D32046FFF7A3FE002848
+:108020000FD4E068401CE06000F8015D2088010585
+:1080300003D440050BD50A2D09D12046FFF7E4FDF6
+:1080400028B12046AFF300804FF0FF3032BD20460C
+:10805000AFF30080284632BD00F024F8012810D08C
+:108060000D4880470D480047F0B543464C465546FD
+:108070005E466746F8B40A4C6B462360BFF34F8FE9
+:1080800030BF074C2468A546F8BC9846A146AA46CE
+:10809000B346BC46F0BD0000D9790008BD82000897
+:1080A000342B0020024900200860704700000000C7
+:1080B000382B0020FEE7FEE7FEE7FEE7FEE770470D
+:1080C0007047704700F01CB8FBF723BB0248FFF76E
+:1080D000A1B80248FDF7FDBCF02800204C26002086
+:1080E000FEF710BCFEF738BC00F012B80120FEF716
+:1080F000D4BB1020FEF7D1BB4020FEF7CEBB000062
+:108100000248416802788918416070473C26002087
+:108110000449C8680A6882430A60486000F004B8ED
+:108120000000000000150058704719E050F8042BBB
+:10813000D30744BFA9F101039A18091F002304299A
+:1081400042F8043BF9D25FEA817C134604D54FF034
+:10815000000CA2F800C09B1CC90744BF0021197085
+:1081600050F8041B0029E1D17047000038B50D4DCF
+:108170000824286800281CBF017811F0030F05D0DF
+:1081800090F90310002958BFFFF7A6FE2D1D641EAD
+:10819000EFD1BDE83840002200214FF0FF30FFF75B
+:1081A00073B900BFE825002010B50749794418319C
+:1081B000064C7C44163404E00A68081D11448847C4
+:1081C0000146A142F8D110BD2C000000780000004B
+:1081D0004EF68851CEF20001086840F47000086045
+:1081E000BFF34F8FBFF36F8F4FF00070E1EE100AB7
+:1081F0007047000037FFFFFFFC0400004C26002002
+:1082000070080000300003200000000031FCFFFF78
+:1082100002000000020000004C010000020000000B
+:10822000280003200800000015FCFFFF02000000EA
+:108230000200000032010000650100000814002067
+:1082400044120000000000000000000000000000D8
+:108250000000000001000000020000000300000018
+:108260000400000000F00DF8002801D0FFF79CFF8B
+:10827000AFF300800020AFF30080FAF714FE00F0A7
+:1082800002F80120704700F001B800000746FFF730
+:108290006DFF3846F9F7C8FDFBE738B504460D46D3
+:1082A000284600F005F8A84218BF0024204632BD39
+:1082B0000149FFF7A7BE00BFBC240020AFF3008038
+:1082C000FFF786FFFFF7CEFF00002E004300FFF709
+:1082D000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7D2
+:1082E000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7C2
+:1082F000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7B2
+:10830000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF7A1
+:10831000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF791
+:10832000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF781
+:10833000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF771
+:10834000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF761
+:10835000FEBFFFF7FEBFFFF7FEBFFFF7FEBFFFF751
+:10836000FEBF0000F8000001810081008100810053
+:1083700081008100810081008100810081008100F5
+:1083800081008100810081008100810081008100E5
+:1083900081008100810081008100810081008100D5
+:1083A0008100810081008100BD0004CC82000801B1
+:1083B000FD000388250020D80003E5100008FC001C
+:1083C00004D310000801F9001301040000B82400D0
+:1083D00020B9240020B8240020B8240020FC000389
+:1083E000B8240020FC0007B8240020A4240020E0CA
+:1083F000001302040101F0290020402A0020F02986
+:108400000020F0290020FC0003F0290020FB0006DA
+:10841000250020EC240020E0001302080202A0291D
+:108420000020F0290020A0290020A0290020FC0025
+:1084300003A0290020FC0007482500203425002047
+:10844000DD00044800100048FD000D48E93F000829
+:10845000EF3F0008F53F00080FFD00000FFD000092
+:108460000FE5001BC8820008C8820008C882000807
+:10847000C8820008C8820008C8820008C8820008B4
+:10848000F8FF0BCA820008C8820008C8820008FAF8
+:10849000FFEA00F8FFF4000B74240020BC24002045
+:1084A00004250020EC00030DFF0183E20012484286
+:1084B00000007A440004004800040048000400481A
+:0B84C00001F9000010FC0002093D0063
+:04000005080082BDB0
:00000001FF
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_conf.h
index 1411b19f2..dd88d5aaa 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -292,6 +292,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -301,11 +305,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -313,6 +321,18 @@
#define CFG_BLE_MAX_TX_POWER (0)
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+ * which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -469,8 +489,9 @@
#endif
-/** tick timer value in us */
+/** tick timer values */
#define CFG_TS_TICK_VAL DIVR( (CFG_RTCCLK_DIV * 1000000), LSE_VALUE )
+#define CFG_TS_TICK_VAL_PS DIVR( ((uint64_t)CFG_RTCCLK_DIV * 1e12), (uint64_t)LSE_VALUE )
typedef enum
{
@@ -589,11 +610,11 @@ typedef enum
CFG_TASK_CONN_UPDATE_REG_ID,
#endif
CFG_TASK_HCI_ASYNCH_EVT_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */
CFG_TASK_SW1_BUTTON_PUSHED_ID,
CFG_TASK_SW2_BUTTON_PUSHED_ID,
CFG_TASK_SW3_BUTTON_PUSHED_ID,
-/* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITH_HCICMD, /**< Shall be LAST in the list */
} CFG_Task_Id_With_HCI_Cmd_t;
@@ -602,11 +623,12 @@ typedef enum
{
CFG_FIRST_TASK_ID_WITH_NO_HCICMD = CFG_LAST_TASK_ID_WITH_HCICMD - 1, /**< Shall be FIRST in the list */
CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID,
-/* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE BEGIN CFG_Task_Id_With_NO_HCI_Cmd_t */
-/* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
+ /* USER CODE END CFG_Task_Id_With_NO_HCI_Cmd_t */
CFG_LAST_TASK_ID_WITHO_NO_HCICMD /**< Shall be LAST in the list */
} CFG_Task_Id_With_NO_HCI_Cmd_t;
+
#define CFG_TASK_NBR CFG_LAST_TASK_ID_WITHO_NO_HCICMD
/**
@@ -639,9 +661,9 @@ typedef enum
{
CFG_LPM_APP,
CFG_LPM_APP_BLE,
- /* USER CODE BEGIN CFG_LPM_Id_t */
+ /* USER CODE BEGIN CFG_LPM_Id_t */
- /* USER CODE END CFG_LPM_Id_t */
+ /* USER CODE END CFG_LPM_Id_t */
} CFG_LPM_Id_t;
/******************************************************************************
@@ -652,5 +674,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_entry.h
index 008724b5c..4f47130d3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -70,5 +70,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_conf.h
index 8d9ecd40f..9ab15a5c6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -215,5 +215,3 @@
#define CFG_HW_USART1_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/main.h
index 8dd24a564..20ea9d15a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,5 +75,3 @@ void MX_USART1_UART_Init(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32_lpm_if.h
index e1aecd591..49bc3661f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
+ ******************************************************************************
* @file stm32_lpm_if.h
* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +76,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_hal_conf.h
index d832f678d..1c37faacb 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_it.h
index 86521af11..c1e2f2a3b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -74,5 +73,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_debug.c
index 562e3a22c..852be7f8e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -43,7 +43,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -128,8 +128,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -413,5 +421,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_entry.c
index b0658e5f2..ad9ff8cd1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -29,6 +29,8 @@
#include "shci_tl.h"
#include "stm32_lpm.h"
#include "app_debug.h"
+#include "dbg_trace.h"
+#include "shci.h"
#include "otp.h"
/* Private includes -----------------------------------------------------------*/
@@ -76,6 +78,8 @@ static void SystemPower_Config( void );
static void appe_Tl_Init( void );
static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
static void Init_Rtc( void );
/* USER CODE BEGIN PFP */
@@ -157,9 +161,8 @@ void Init_Smps( void )
void Init_Exti( void )
{
- /**< Disable all wakeup interrupt on CPU1 except IPCC(36), HSEM(38) */
- LL_EXTI_DisableIT_0_31(~0);
- LL_EXTI_DisableIT_32_63( (~0) & (~(LL_EXTI_LINE_36 | LL_EXTI_LINE_38)) );
+ /* Enable IPCC(36), HSEM(38) wakeup interrupts on CPU1 */
+ LL_EXTI_EnableIT_32_63( LL_EXTI_LINE_36 & LL_EXTI_LINE_38 );
return;
}
@@ -358,12 +361,151 @@ static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
*/
static void APPE_SysUserEvtRx( void * pPayload )
{
- UNUSED(pPayload);
- /* Traces channel initialization */
- APPD_EnableCPU2( );
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
+
+/**
+ * @brief Notify a system error coming from the M0 firmware
+ * @param ErrorCode : errorCode detected by the M0 firmware
+ *
+ * @retval None
+ */
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT)
+ {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON - ERR_BLE_INIT \n");
+ }
+ else
+ {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON - BLE ERROR \n");
+ }
+ return;
+}
+
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+ }
+ else
+ {
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - UNEXPECTED CASE \n");
+ }
- APP_BLE_Init( );
- UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
return;
}
@@ -464,6 +606,8 @@ void UTIL_SEQ_Idle( void )
void UTIL_SEQ_EvtIdle( UTIL_SEQ_bm_t task_id_bm, UTIL_SEQ_bm_t evt_waited_bm )
{
UTIL_SEQ_Run( UTIL_SEQ_DEFAULT );
+
+ return;
}
void shci_notify_asynch_evt(void* pdata)
@@ -508,4 +652,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_uart.c
index 6ae6ff9f9..43c681c1c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/hw_uart.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Src/hw_uart.c
- * Description : HW UART source file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file hw_uart.c
+ * @author MCD Application Team
+ * @brief HW UART source file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -316,5 +315,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/main.c
index 387cea96e..e4ad5d82a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -74,6 +74,7 @@ DMA_HandleTypeDef hdma_usart1_tx;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_RNG_Init(void);
/* USER CODE BEGIN PFP */
@@ -108,6 +109,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* IPCC initialisation */
MX_IPCC_Init();
@@ -147,7 +151,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Configure LSE Drive Capability
*/
@@ -183,17 +186,23 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP
- |RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART1
- |RCC_PERIPHCLK_RNG;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
- PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_LSE;
- PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP;
PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_LSE;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSE;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -413,5 +422,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/standby_stm32wb15.c
index 6644473f3..10d50cbba 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -164,4 +163,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_hal_msp.c
index 904fb32eb..86091aee5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -143,11 +142,21 @@ void HAL_IPCC_MspDeInit(IPCC_HandleTypeDef* hipcc)
*/
void HAL_RNG_MspInit(RNG_HandleTypeDef* hrng)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hrng->Instance==RNG)
{
/* USER CODE BEGIN RNG_MspInit 0 */
/* USER CODE END RNG_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RNG;
+ PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_LSE;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_RNG_CLK_ENABLE();
/* USER CODE BEGIN RNG_MspInit 1 */
@@ -187,6 +196,7 @@ void HAL_RNG_MspDeInit(RNG_HandleTypeDef* hrng)
*/
void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hrtc->Instance==RTC)
{
/* USER CODE BEGIN RTC_MspInit 0 */
@@ -200,6 +210,15 @@ void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
__HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); /**< Select LSI as RTC Input */
/* USER CODE END RTC_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
+ PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_RTC_ENABLE();
__HAL_RCC_RTCAPB_CLK_ENABLE();
@@ -248,11 +267,21 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -333,5 +362,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_it.c
index 33d5a81b6..7dd965b4a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -321,4 +320,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/system_stm32wbxx.c
index c0af3469e..1394ae132 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/BLE_p2pServer.ewp b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/BLE_p2pServer.ewp
index 63ef081d2..c382fa272 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/BLE_p2pServer.ewp
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/BLE_p2pServer.ewp
@@ -1126,67 +1126,67 @@
<group>
<name>STM32WBxx_HAL_Driver</name>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_ipcc.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rcc_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_flash_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_gpio.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_hsem.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_dma_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_pwr_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_cortex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_exti.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_exti.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.c</name>
</file>
- <file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rng.c</name>
- </file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rng.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_rtc_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_tim.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_tim_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Drivers\STM32WBxx_HAL_Driver\Src\stm32wbxx_hal_uart_ex.c</name>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c</name>
</file>
</group>
</group>
@@ -1195,68 +1195,68 @@
<group>
<name>STM32_WPAN</name>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\tl_mbox.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\shci\shci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\dbg_trace.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\otp.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/otp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_list.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_list.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\utilities\stm_queue.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/utilities/stm_queue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\template\osal.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/template/osal.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\svc_ctl.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gap_aci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_gatt_aci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hal_aci.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_hci_le.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\core\auto\ble_l2cap_aci.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\p2p_stm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\ble\svc\Src\p2p_stm.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\hci_tl_if.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Middlewares\ST\STM32_WPAN\interface\patterns\ble_thread\tl\shci_tl_if.c</name>
+ <name>$PROJ_DIR$/../../../../../../Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c</name>
</file>
</group>
</group>
<group>
<name>Utilities</name>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\lpm\tiny_lpm\stm32_lpm.c</name>
+ <name>$PROJ_DIR$/../../../../../../Utilities/lpm/tiny_lpm/stm32_lpm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\..\..\..\Utilities\sequencer\stm32_seq.c</name>
+ <name>$PROJ_DIR$/../../../../../../Utilities/sequencer/stm32_seq.c</name>
</file>
</group>
</project>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/stm32wb15xx_flash_cm4.icf
index 56d9d33c5..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/startup_stm32wb15xx_cm4.s
index f7cdf820d..3b925699a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 72feb3a18..4e53aee02 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -45,7 +44,7 @@ _Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 110K
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.c
index de355d9ca..a81da9be9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.c
- * Description : Application file for BLE Middleware.
- *
- *****************************************************************************
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -382,26 +381,27 @@ void APP_BLE_Init( void )
{
{{0,0,0}}, /**< Header unused */
{0, /** pBleBufferAddress not used */
- 0, /** BleBufferSize not used */
- CFG_BLE_NUM_GATT_ATTRIBUTES,
- CFG_BLE_NUM_GATT_SERVICES,
- CFG_BLE_ATT_VALUE_ARRAY_SIZE,
- CFG_BLE_NUM_LINK,
- CFG_BLE_DATA_LENGTH_EXTENSION,
- CFG_BLE_PREPARE_WRITE_LIST_SIZE,
- CFG_BLE_MBLOCK_COUNT,
- CFG_BLE_MAX_ATT_MTU,
- CFG_BLE_SLAVE_SCA,
- CFG_BLE_MASTER_SCA,
- CFG_BLE_LSE_SOURCE,
- CFG_BLE_MAX_CONN_EVENT_LENGTH,
- CFG_BLE_HSE_STARTUP_TIME,
- CFG_BLE_VITERBI_MODE,
- CFG_BLE_OPTIONS,
- 0,
- CFG_BLE_MAX_COC_INITIATOR_NBR,
- CFG_BLE_MIN_TX_POWER,
- CFG_BLE_MAX_TX_POWER}
+ 0, /** BleBufferSize not used */
+ CFG_BLE_NUM_GATT_ATTRIBUTES,
+ CFG_BLE_NUM_GATT_SERVICES,
+ CFG_BLE_ATT_VALUE_ARRAY_SIZE,
+ CFG_BLE_NUM_LINK,
+ CFG_BLE_DATA_LENGTH_EXTENSION,
+ CFG_BLE_PREPARE_WRITE_LIST_SIZE,
+ CFG_BLE_MBLOCK_COUNT,
+ CFG_BLE_MAX_ATT_MTU,
+ CFG_BLE_SLAVE_SCA,
+ CFG_BLE_MASTER_SCA,
+ CFG_BLE_LSE_SOURCE,
+ CFG_BLE_MAX_CONN_EVENT_LENGTH,
+ CFG_BLE_HSE_STARTUP_TIME,
+ CFG_BLE_VITERBI_MODE,
+ CFG_BLE_OPTIONS,
+ 0,
+ CFG_BLE_MAX_COC_INITIATOR_NBR,
+ CFG_BLE_MIN_TX_POWER,
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
};
/**
@@ -1268,6 +1268,8 @@ static void BLE_UserEvtRx( void * pPayload )
{
pParam->status = HCI_TL_UserEventFlow_Disable;
}
+
+ return;
}
static void BLE_StatusNot( HCI_TL_CmdStatus_t status )
@@ -1310,4 +1312,3 @@ void SVCCTL_ResumeUserEventFlow( void )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.h
index d2b6fc3d7..86f1d1046 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.h
- * Description : Application configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,5 +83,3 @@ void APP_BLE_Key_Button3_Action(void);
#endif
#endif /*APP_BLE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_conf.h
index 59768aa0d..746ff3696 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,4 +68,3 @@
#define BLE_CFG_OTA_REBOOT_CHAR 0/**< REBOOT OTA MODE CHARACTERISTIC */
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_dbg_conf.h
index 1721138d4..e54a6cc09 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -197,5 +196,3 @@
#endif
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.c
index 2a10b93a8..c354e9e16 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.c
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/p2p_server_app.c
- * Description : P2P Server Application
- ******************************************************************************
+ ******************************************************************************
+ * File Name : App/p2p_server_app.c
+ * Description : P2P Server Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -45,7 +44,7 @@
typedef struct
{
- uint8_t Notification_Status; /* used to chek if P2P Server is enabled to Notify */
+ uint8_t Notification_Status; /* used to check if P2P Server is enabled to Notify */
P2P_LedCharValue_t LedControl;
P2P_ButtonCharValue_t ButtonControl;
uint16_t ConnectionHandle;
@@ -385,4 +384,3 @@ void P2PS_Send_Notification(void)
/* USER CODE END FD_LOCAL_FUNCTIONS*/
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.h
index 234192bd6..8fd85526c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/p2p_server_app.h
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/p2p_server_app.h
- * Description : Header for p2p_server_app.c module
- ******************************************************************************
+ ******************************************************************************
+ * File Name : App/p2p_server_app.h
+ * Description : Header for p2p_server_app.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ typedef struct
#endif /*__P2P_SERVER_APP_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/tl_dbg_conf.h
index bd808a41b..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..57294e04f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,6 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +700,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/readme.txt
index 40b6a8f0f..561a8a4d7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE_p2pServer application
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Binary/BLE_p2pServer_ota_reference.bin b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Binary/BLE_p2pServer_ota_reference.bin
index 710f8286b..c709e8c4a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Binary/BLE_p2pServer_ota_reference.bin
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Binary/BLE_p2pServer_ota_reference.bin
Binary files differ
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_common.h
index 3981eb9da..62e8ad603 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_common.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_common.h
- * Description : App Common application configuration file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file app_common.h
+ * @author MCD Application Team
+ * @brief App Common application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -115,5 +114,3 @@ extern "C"{
#endif
#endif /*APP_COMMON_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_conf.h
index 2e937fc4a..565efb136 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_conf.h
- * Description : Application configuration file for STM32WPAN Middleware.
+ ******************************************************************************
+ * @file app_conf.h
+ * @author MCD Application Team
+ * @brief Application configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -290,6 +290,10 @@
* - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO
* - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW
+ * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV
+ * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2
+ * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1
* - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
* which are used to set following configuration bits:
@@ -299,11 +303,15 @@
* 0: with service change desc.
* (bit 2): 1: device name Read-Only
* 0: device name R/W
+ * (bit 3): 1: extended advertizing supported [NOT SUPPORTED]
+ * 0: extended advertizing not supported [NOT SUPPORTED]
+ * (bit 4): 1: CS Algo #2 supported
+ * 0: CS Algo #2 not supported
* (bit 7): 1: LE Power Class 1
* 0: LE Power Class 2-3
* other bits: reserved (shall be set to 0)
*/
-#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
+#define CFG_BLE_OPTIONS (SHCI_C2_BLE_INIT_OPTIONS_LL_HOST | SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC | SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW | SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV | SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 | SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3)
#define CFG_BLE_MAX_COC_INITIATOR_NBR (32)
@@ -311,6 +319,19 @@
#define CFG_BLE_MAX_TX_POWER (0)
+
+/**
+ * BLE Rx model configuration flags to be configured with:
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+ * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER
+* which are used to set following configuration bits:
+ * (bit 0): 1: agc_rssi model improved vs RF blockers
+ * 0: Legacy agc_rssi model
+ * other bits: reserved (shall be set to 0)
+ */
+
+#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY
+
/******************************************************************************
* Transport Layer
******************************************************************************/
@@ -642,5 +663,3 @@ typedef enum
#define CFG_OTP_END_ADRESS OTP_AREA_END_ADDR
#endif /*APP_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_debug.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_debug.h
index 9354bf8a9..9237f301f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_debug.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_debug.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.h
- * Description : Header for app_debug.c module
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.h
+ * @author MCD Application Team
+ * @brief Header for app_debug.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*__APP_DEBUG_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_entry.h
index c95d8bea9..286cf657d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/app_entry.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.h
- * Description : App entry configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.h
+ * @author MCD Application Team
+ * @brief Interface to the application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +65,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_conf.h
index 8d9ecd40f..9ab15a5c6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_conf.h
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_conf.h
- * Description : Hardware configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_conf.h
+ * @author MCD Application Team
+ * @brief Configuration of hardware interface
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -215,5 +215,3 @@
#define CFG_HW_USART1_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler
#endif /*HW_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_if.h
index 1015e87fe..834c17171 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,7 +146,7 @@ extern "C" {
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessful or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -246,5 +245,3 @@ extern "C" {
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/main.h
index 0d3694d72..b8a514d28 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,5 +75,3 @@ void MX_USART1_UART_Init(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32_lpm_if.h
index d8e67947f..45c31caa5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32_lpm_if.h
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
-******************************************************************************
-* @file stm32_lpm_if.h
-* @brief Header for stm32_lpm_if.c module (device specific LP management)
-******************************************************************************
-* @attention
-*
-* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-* All rights reserved.</center></h2>
-*
-* This software component is licensed by ST under BSD 3-Clause license,
-* the "License"; You may not use this file except in compliance with the
-* License. You may obtain a copy of the License at:
-* opensource.org/licenses/BSD-3-Clause
-*
-******************************************************************************
-*/
+ ******************************************************************************
+ * @file stm32_lpm_if.h
+ * @author MCD Application Team
+ * @brief Header for stm32_lpm_if.c module (device specific LP management)
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -77,5 +77,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_hal_conf.h
index 241a52197..4d222698e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_it.h
index dfa04b06e..e10b246f4 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -73,5 +72,3 @@ void PUSH_BUTTON_SW3_EXTI_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/utilities_conf.h
index 4edfbbacf..c34a6ca79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Inc/utilities_conf.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : utilities_conf.h
- * Description : Configuration file for STM32 Utilities.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file utilities_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for STM32 Utilities.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- *****************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -64,5 +63,3 @@ extern "C" {
#endif
#endif /*UTILITIES_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_debug.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_debug.c
index 562e3a22c..852be7f8e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_debug.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_debug.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_debug.c
- * Description : Debug capabilities source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_debug.c
+ * @author MCD Application Team
+ * @brief Debug capabilities source file for STM32WPAN Middleware
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -43,7 +43,7 @@ typedef PACKED_STRUCT
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define GPIO_NBR_OF_RF_SIGNALS 9
-#define GPIO_CFG_NBR_OF_FEATURES 34
+#define GPIO_CFG_NBR_OF_FEATURES 38
#define NBR_OF_TRACES_CONFIG_PARAMETERS 4
#define NBR_OF_GENERAL_CONFIG_PARAMETERS 4
@@ -128,8 +128,16 @@ static const APPD_GpioConfig_t aGpioConfigList[GPIO_CFG_NBR_OF_FEATURES] =
/* From v1.4.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* NVMA_START - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_EOP - Set on Entry / Reset on Exit */
+/* From v1.5.0 */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_WRITE - Set on Entry / Reset on Exit */
{ GPIOA, LL_GPIO_PIN_0, 0, 0}, /* FLASH_ERASE - Set on Entry / Reset on Exit */
+/* From v1.6.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_RESCHEDULE_EVENT - Set on Entry / Reset on Exit */
+/* From v1.8.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_CMD_RX - Set on Entry / Reset on Exit */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* IPCC_BLE_LLD_ACK_TX - Set on Entry / Reset on Exit */
+/* From v1.9.0 */
+ { GPIOA, LL_GPIO_PIN_0, 0, 0}, /* BLE_ASYNCH_EVENT_NACKED - Set on Entry / Reset on Exit */
};
/**
@@ -413,5 +421,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
return;
}
#endif
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_entry.c
index 5e80e5506..3d215290f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/app_entry.c
@@ -1,21 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : app_entry.c
- * Description : Entry application source file for STM32WPAN Middleware
- ******************************************************************************
+ ******************************************************************************
+ * @file app_entry.c
+ * @author MCD Application Team
+ * @brief Entry point of the Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
- */
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -30,6 +30,10 @@
#include "stm32_lpm.h"
#include "app_debug.h"
+#include "shci.h"
+#include "dbg_trace.h"
+
+
/* Private includes -----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
@@ -68,6 +72,8 @@ static void SystemPower_Config( void );
static void appe_Tl_Init( void );
static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status );
static void APPE_SysUserEvtRx( void * pPayload );
+static void APPE_SysEvtReadyProcessing( void * pPayload );
+static void APPE_SysEvtError( void * pPayload);
/* USER CODE BEGIN PFP */
@@ -181,22 +187,159 @@ static void APPE_SysStatusNot( SHCI_TL_CmdStatus_t status )
}
/**
- * The type of the payload for a system user event is tSHCI_UserEvtRxParam
- * When the system event is both :
- * - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
- * - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
- * The buffer shall not be released
- * ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
- * When the status is not filled, the buffer is released by default
- */
+* The type of the payload for a system user event is tSHCI_UserEvtRxParam
+* When the system event is both :
+* - a ready event (subevtcode = SHCI_SUB_EVT_CODE_READY)
+* - reported by the FUS (sysevt_ready_rsp == FUS_FW_RUNNING)
+* The buffer shall not be released
+* ( eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable )
+* When the status is not filled, the buffer is released by default
+*/
static void APPE_SysUserEvtRx( void * pPayload )
{
- UNUSED(pPayload);
- /* Traces channel initialization */
- APPD_EnableCPU2( );
+ TL_AsynchEvt_t *p_sys_event;
+ WirelessFwInfo_t WirelessInfo;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+
+ /* Read the firmware version of both the wireless firmware and the FUS */
+ SHCI_GetWirelessFwInfo( &WirelessInfo );
+ APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub);
+ APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType);
+ APP_DBG_MSG("FUS version %d.%d.%d\n\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub);
+
+ switch(p_sys_event->subevtcode)
+ {
+ case SHCI_SUB_EVT_CODE_READY:
+ APPE_SysEvtReadyProcessing(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_ERROR_NOTIF:
+ APPE_SysEvtError(pPayload);
+ break;
+
+ case SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE:
+ APP_DBG_MSG("-- BLE NVM RAM HAS BEEN UPDATED BY CMO+ \n");
+ APP_DBG_MSG("SHCI_SUB_EVT_BLE_NVM_RAM_UPDATE : StartAddress = %lx , Size = %ld\n",
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->StartAddress,
+ ((SHCI_C2_BleNvmRamUpdate_Evt_t*)p_sys_event->payload)->Size);
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_WRITE : NumberOfWords = %ld\n",
+ ((SHCI_C2_NvmStartWrite_Evt_t*)p_sys_event->payload)->NumberOfWords);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_WRITE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_WRITE\n");
+ break;
+
+ case SHCI_SUB_EVT_NVM_START_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_START_ERASE : NumberOfSectors = %ld\n",
+ ((SHCI_C2_NvmStartErase_Evt_t*)p_sys_event->payload)->NumberOfSectors);
+ break;
+
+ case SHCI_SUB_EVT_NVM_END_ERASE:
+ APP_DBG_MSG("SHCI_SUB_EVT_NVM_END_ERASE\n");
+ break;
+
+ default:
+ break;
+ }
+
+ return;
+}
- APP_BLE_Init( );
- UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+/**
+* @brief Notify when ready system event from the M0 firmware
+*/
+static void APPE_SysEvtReadyProcessing( void * pPayload )
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SHCI_C2_Ready_Evt_t *p_sys_ready_event;
+
+ SHCI_C2_CONFIG_Cmd_Param_t config_param = {0};
+ uint32_t RevisionID=0;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload;
+
+ if(p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING)
+ {
+ /**
+ * The wireless firmware is running on the CPU2
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - WIRELESS_FW_RUNNING \n");
+
+ /* Traces channel initialization */
+ APPD_EnableCPU2( );
+
+ /* Enable all events Notification */
+ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE;
+ config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE
+ + SHCI_C2_CONFIG_EVTMASK1_BIT6_NVM_END_ERASE_ENABLE;
+
+
+ /* Read revision identifier */
+ /**
+ * @brief Return the device revision identifier
+ * @note This field indicates the revision of the device.
+ * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
+ * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
+ */
+ RevisionID = LL_DBGMCU_GetRevisionID();
+
+ APP_DBG_MSG("DBGMCU_GetRevisionID= %lx \n\n", RevisionID);
+
+ config_param.RevisionID = RevisionID;
+ (void)SHCI_C2_Config(&config_param);
+
+ APP_BLE_Init( );
+ UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
+
+ }
+ else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)
+ {
+ /**
+ * The FUS firmware is running on the CPU2
+ * In the scope of this application, there should be no case when we get here
+ */
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY - FUS_FW_RUNNING \n");
+
+ /* The packet shall not be released as this is not supported by the FUS */
+ ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable;
+
+ } else {
+
+ APP_DBG_MSG("SHCI_SUB_EVT_CODE_READY – UNEXPECTED CASE \n");
+ }
+ return;
+}
+
+/**
+* @brief Notify a system error coming from the M0 firmware
+*/
+static void APPE_SysEvtError( void * pPayload)
+{
+ TL_AsynchEvt_t *p_sys_event;
+ SCHI_SystemErrCode_t *p_sys_error_code;
+
+ p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload);
+ p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload;
+
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON %x \n",(*p_sys_error_code));
+
+ if ((*p_sys_error_code) == ERR_BLE_INIT) {
+ /* Error during BLE stack initialization */
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – ERR_BLE_INIT \n");
+ } else {
+ APP_DBG_MSG("SHCI_SUB_EVT_ERROR_NOTIF WITH REASON – BLE ERROR \n");
+ }
return;
}
@@ -302,4 +445,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_timerserver.c
index c0af6a14a..23a5bcdc6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_timerserver.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : hw_timerserver.c
- * Description : Hardware timerserver source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_timerserver.c
+ * @author MCD Application Team
+ * @brief Hardware timerserver source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -891,5 +890,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_uart.c
index 6ae6ff9f9..43c681c1c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/hw_uart.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Src/hw_uart.c
- * Description : HW UART source file for STM32WPAN Middleware.
- *
+ ******************************************************************************
+ * @file hw_uart.c
+ * @author MCD Application Team
+ * @brief HW UART source file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -316,5 +315,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/main.c
index d79c758d9..e5665d6d4 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@verbatim
@@ -33,6 +32,7 @@
detailed procedure to change the Wireless Coprocessor binary.
@endverbatim
+ ******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -586,5 +586,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/standby_stm32wb15.c
index d5b40e046..e3fd2fd44 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -164,4 +163,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32_lpm_if.c
index c75f03aa7..169f4d3c5 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32_lpm_if.c
@@ -1,18 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ***************************************************************************************
- * File Name : stm32_lpm_if.c
- * Description : Low layer function to enter/exit low power modes (stop, sleep).
- ***************************************************************************************
+ ******************************************************************************
+ * @file stm32_lpm_if.c
+ * @author MCD Application Team
+ * @brief Low layer function to enter/exit low power modes (stop, sleep).
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -346,19 +346,11 @@ static void EnterLowPower( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -452,5 +444,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_hal_msp.c
index 9f1157cde..52630483c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -283,5 +282,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_it.c
index cbc072b39..45cbc8b18 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -311,4 +310,3 @@ void RTC_WKUP_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/system_stm32wbxx.c
index 1b2e121cb..1d92460c6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,7 +160,7 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
-#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB10xx)
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
@@ -352,5 +351,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/startup_stm32wb15xx_cm4.s
index 13a584f83..1a107ce9a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -84,7 +83,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -468,4 +467,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf
index 8a6d86378..1c5dd3ab9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/EWARM/stm32wb15xx_flash_cm4_ota.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08007000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08007000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -34,13 +34,13 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
keep { section TAG_OTA_START};
keep { section TAG_OTA_END };
place in OTA_TAG_region { section TAG_OTA_START };
place in ROM_region { readonly, last section TAG_OTA_END };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/BLE_p2pServer_ota.uvprojx b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/BLE_p2pServer_ota.uvprojx
index ca098f3d5..2fbaf3b52 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/BLE_p2pServer_ota.uvprojx
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/BLE_p2pServer_ota.uvprojx
@@ -54,7 +54,7 @@
<CreateLib>0</CreateLib>
<CreateHexFile>0</CreateHexFile>
<DebugInformation>1</DebugInformation>
- <BrowseInformation>1</BrowseInformation>
+ <BrowseInformation>0</BrowseInformation>
<ListingPath></ListingPath>
<HexFormatSelection>1</HexFormatSelection>
<Merge32K>0</Merge32K>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/startup_stm32wb15xx_cm4.s
index f7cdf820d..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -29,7 +29,7 @@
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
-Stack_Size EQU 0x1000
+Stack_Size EQU 0x400
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
@@ -40,7 +40,7 @@ __initial_sp
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
-Heap_Size EQU 0x400
+Heap_Size EQU 0x200
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
index cac6c00bd..60ea7fdde 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -14,21 +14,23 @@ LR_IROM2 0x08007140 0x4{ ; load region size_region
}
}
-LR_IROM3 0x08007144 0x146BC{
- ER_IROM1_HIGH 0x08007144 0x146BC { ; load address = execution address
- *(InRoot$$Sections)
- .ANY (+RO)
- *.o (TAG_OTA_END)
+LR_IROM3 0x08007144 0x116BC{
+ ER_IROM1_HIGH 0x08007144 0x116BC { ; load address = execution address
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ *.o (TAG_OTA_END)
}
-
+
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
- .ANY (+RW +ZI)
+ ANY (+RW +ZI)
}
-
- RW_RAM2aRet_SHARED 0x20030000 0x2800 { ; RW data
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
*(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
}
- \ No newline at end of file
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/Application/User/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 7320fe370..407cd567c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -45,7 +44,7 @@ _Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08007000, LENGTH = 82K
+FLASH (rx) : ORIGIN = 0x08007000, LENGTH = 70K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -147,7 +146,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.c
index 276ce54c4..a376d7c51 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.c
- * Description : Application file for BLE Middleware.
- *
- *****************************************************************************
+ ******************************************************************************
+ * @file app_ble.c
+ * @author MCD Application Team
+ * @brief BLE Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -395,7 +394,8 @@ void APP_BLE_Init( void )
0,
CFG_BLE_MAX_COC_INITIATOR_NBR,
CFG_BLE_MIN_TX_POWER,
- CFG_BLE_MAX_TX_POWER}
+ CFG_BLE_MAX_TX_POWER,
+ CFG_BLE_RX_MODEL_CONFIG}
};
/**
@@ -1251,4 +1251,3 @@ void SVCCTL_ResumeUserEventFlow( void )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.h
index d2b6fc3d7..86f1d1046 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/app_ble.h
- * Description : Application configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file app_ble.h
+ * @author MCD Application Team
+ * @brief Header for ble application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,5 +83,3 @@ void APP_BLE_Key_Button3_Action(void);
#endif
#endif /*APP_BLE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_conf.h
index 33920653b..6837c3807 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_conf.h
- * Description : Configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_conf.h
+ * @author MCD Application Team
+ * @brief Configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,4 +68,3 @@
#define BLE_CFG_OTA_REBOOT_CHAR 1/**< REBOOT OTA MODE CHARACTERISTIC */
#endif /*BLE_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_dbg_conf.h
index 1721138d4..e54a6cc09 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/ble_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/ble_dbg_conf.h
- * Description : Debug configuration file for BLE Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file ble_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for BLE Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -197,5 +196,3 @@
#endif
#endif /*__BLE_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.c
index 2a10b93a8..c354e9e16 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.c
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/p2p_server_app.c
- * Description : P2P Server Application
- ******************************************************************************
+ ******************************************************************************
+ * File Name : App/p2p_server_app.c
+ * Description : P2P Server Application
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -45,7 +44,7 @@
typedef struct
{
- uint8_t Notification_Status; /* used to chek if P2P Server is enabled to Notify */
+ uint8_t Notification_Status; /* used to check if P2P Server is enabled to Notify */
P2P_LedCharValue_t LedControl;
P2P_ButtonCharValue_t ButtonControl;
uint16_t ConnectionHandle;
@@ -385,4 +384,3 @@ void P2PS_Send_Notification(void)
/* USER CODE END FD_LOCAL_FUNCTIONS*/
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.h
index 234192bd6..8fd85526c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/p2p_server_app.h
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/p2p_server_app.h
- * Description : Header for p2p_server_app.c module
- ******************************************************************************
+ ******************************************************************************
+ * File Name : App/p2p_server_app.h
+ * Description : Header for p2p_server_app.c module
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ typedef struct
#endif /*__P2P_SERVER_APP_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/tl_dbg_conf.h
index bd808a41b..04ed3d88d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/App/tl_dbg_conf.h
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : App/tl_dbg_conf.h
- * Description : Debug configuration file for stm32wpan transport layer interface.
- *
+ ******************************************************************************
+ * @file tl_dbg_conf.h
+ * @author MCD Application Team
+ * @brief Debug configuration file for stm32wpan transport layer interface.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,5 +131,3 @@ extern "C" {
#endif
#endif /*__TL_DBG_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/Target/hw_ipcc.c
index aa440ff26..4eecadfdd 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/STM32_WPAN/Target/hw_ipcc.c
@@ -1,19 +1,18 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * File Name : Target/hw_ipcc.c
- * Description : Hardware IPCC source file for STM32WPAN Middleware.
- *
- ******************************************************************************
+ ******************************************************************************
+ * @file hw_ipcc.c
+ * @author MCD Application Team
+ * @brief Hardware IPCC source file for STM32WPAN Middleware.
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,10 +172,7 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
+
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -705,4 +701,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/readme.txt
index 861e1d538..e6f6ce6fe 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE_p2pServer_ota application
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_common.h
index 5bb0f82f1..a49e4fde7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_common.h
@@ -4,16 +4,15 @@
* File Name : app_common.h
* Description : App Common application configuration file for STM32WPAN Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -121,4 +120,3 @@ extern "C"{
#endif /*APP_COMMON_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_conf.h
index 7002bdab9..20fba7353 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_conf.h
@@ -3,16 +3,16 @@
******************************************************************************
* File Name : app_conf.h
* Description : Application configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ *
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -44,8 +44,8 @@
*/
#define CFG_TL_EVT_QUEUE_LENGTH 20
/**
- * TL_EVENT_FRAME_SIZE is the size of the packets transfered between M0 and M4 through IPCC.
- * Note 1 : thoose packets are first put in a trace queue (see DBG_TRACE_MSG_QUEUE_SIZE) before beeing sent to UART
+ * TL_EVENT_FRAME_SIZE is the size of the packets transferred between M0 and M4 through IPCC.
+ * Note 1 : thoose packets are first put in a trace queue (see DBG_TRACE_MSG_QUEUE_SIZE) before being sent to UART
* Note 2 : Queue size must be higher than a M0 trace buffer max size (see LOG_BUFFER_SIZE_MAX in M0 FW)
*/
#define CFG_TL_MOST_EVENT_PAYLOAD_SIZE 255
@@ -96,7 +96,7 @@
* The higher is the value, the better is the power consumption and the accuracy of the timerserver
* The lower is the value, the finest is the granularity
*
- * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to ouput
+ * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to output
* clock as low as possible) but the output clock should be equal or higher frequency compare to the clock feeding
* the wakeup timer. A lower clock speed would impact the accuracy of the timer server.
*
@@ -300,7 +300,7 @@ typedef enum
******************************************************************************/
/**
* Supported requester to the MCU Low Power Manager - can be increased up to 32
- * It lits a bit mapping of all user of the Low Power Manager
+ * It lists a bit mapping of all user of the Low Power Manager
*/
typedef enum
{
@@ -320,4 +320,3 @@ typedef enum
#endif /*APP_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_entry.h
index 77ead2384..1db7656d6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/app_entry.h
@@ -6,17 +6,16 @@
* @brief Interface to the application
******************************************************************************
* @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -65,5 +64,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_conf.h
index 855bf9e15..dacfcaea7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_conf.h
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : hw_conf.h
- * Description : Hardware configuration file for the application.
+ * Description : Hardware configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -122,4 +121,3 @@
#endif /*HW_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_if.h
index f318d3791..8f08c52f2 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -107,5 +106,3 @@ void MX_UART_Deinit(hw_uart_id_t uart);
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/main.h
index 0c024028b..05a9002bb 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -103,5 +102,3 @@ void SystemClock_Config_MSI(uint32_t usePLL);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32_lpm_if.h
index dac7e2cbb..293e9912d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32_lpm_if.h
@@ -1,20 +1,19 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file stm32_lpm_if.h
* @brief Header for stm32_lpm_if.c module (device specific LP management)
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_LPM_IF_H
@@ -75,5 +74,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_hal_conf.h
index 365809937..f7f0c092e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_it.h
index 485c7fc81..8710691e2 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm32wbxx_it.h
@@ -3,16 +3,15 @@
******************************************************************************
* @file stm32wbxx_it.h
* @brief This file contains the headers of the interrupt handlers.
- *******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -80,5 +79,3 @@ void TIM2_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm_logging.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm_logging.h
index 119d6e7a0..e60099e7c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm_logging.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/stm_logging.h
@@ -5,13 +5,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/utilities_conf.h
index 4dde3509a..fcab34b06 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Inc/utilities_conf.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,4 +64,3 @@ extern "C" {
#endif /*UTILITIES_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/app_entry.c
index 7e59c6279..84942ccd9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/app_entry.c
@@ -1,22 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* @file app_entry.c
* @author MCD Application Team
* @brief Entry point of the Application
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -415,4 +414,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/gpio_lld.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/gpio_lld.c
index 1ccb7b42f..2c64a7493 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/gpio_lld.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/gpio_lld.c
@@ -2,36 +2,18 @@
******************************************************************************
* @file gpio_lld.c
* @author MCD Application Team
- * @version $VERSION$
- * @date $DATE$
* @brief This file contains the init of all the GPIOs used by LLD tests.
* It is to be used on both M0 and M4.
******************************************************************************
* @attention
*
- * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ * Copyright (c) STMicroelectronics</center></h2>
+(-2021) STMicroelectronics.
+ * All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -128,5 +110,3 @@ void gpio_lld_lpuart_deInit(void) {
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/hw_uart.c
index 3c842b29a..a693ffc14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/hw_uart.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -439,4 +438,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/main.c
index 06aa251c7..efbb57dd1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/main.c
@@ -1,10 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* @file main.c
* @author MCD Application Team
* @brief RF LLD tests application
*
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
@verbatim
==============================================================================
##### IMPORTANT NOTE #####
@@ -24,18 +35,7 @@
@endverbatim
******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "app_common.h"
@@ -601,5 +601,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END assert_failed */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/standby_stm32wb15.c
index a0a8b4839..40bc409af 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -156,4 +155,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32_lpm_if.c
index e4e8fd597..1431bc734 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32_lpm_if.c
@@ -1,17 +1,17 @@
- /*******************************************************************************
+/**
+ ******************************************************************************
* @file stm32_lpm_if.c
* @author MCD Application Team
* @brief Low layer function to enter/exit low power modes (stop, sleep)
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -146,19 +146,11 @@ void PWR_EnterStopMode( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -284,5 +276,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_hal_msp.c
index b783825ba..966f21306 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -282,5 +281,3 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_it.c
index 43697aaa7..a40a4c652 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm32wbxx_it.c
@@ -3,16 +3,15 @@
******************************************************************************
* @file stm32wbxx_it.c
* @brief Interrupt Service Routines.
- *******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -330,4 +329,3 @@ void IPCC_C1_RX_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm_logging.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm_logging.c
index 40997ccd7..36ad5be14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm_logging.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/stm_logging.c
@@ -1,6 +1,6 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : stm_logging.c
* Description : This file contains all the defines and functions used
* for logging on Application examples.
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/system_stm32wbxx.c
index 791008e1d..1f4da1444 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,10 +160,12 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}};
+#endif
/**
* @}
@@ -351,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/startup_stm32wb15xx_cm4.s
index de618745d..fe8344a35 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/stm32wb15xx_flash_cm4.icf
index 9888197af..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B800;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 8f86b87c9..4e53aee02 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -39,13 +38,13 @@ ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x20003000; /* end of RAM */
/* Generate a link error if heap and stack don't fit into RAM */
-_Min_Heap_Size = 0x200 ; /* required amount of heap */
-_Min_Stack_Size = 0x400 ; /* required amount of stack */
+_Min_Heap_Size = 0x400 ; /* required amount of heap */
+_Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 110K
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -119,7 +118,7 @@ SECTIONS
_sidata = LOADADDR(.data);
/* Initialized data sections goes into RAM, load LMA copy after code */
- .data :
+ .data :
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start */
@@ -132,12 +131,11 @@ SECTIONS
_edata = .; /* define a global symbol at data end */
} >RAM1 AT> FLASH
-
/* Uninitialized data section */
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
@@ -160,8 +158,6 @@ SECTIONS
. = ALIGN(8);
} >RAM1
-
-
/* Remove information from the standard libraries */
/DISCARD/ :
{
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.c
index ea1573ea1..438c73df3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.c
@@ -5,13 +5,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -171,7 +170,7 @@ void APP_BLE_LLD_Error(uint32_t ErrId, uint32_t ErrCode)
/**
* @brief Check if the Coprocessor Wireless Firmware loaded supports Thread
- * and display associated informations
+ * and display associated information
* @param None
* @retval None
*/
@@ -387,4 +386,3 @@ void TL_BLE_LLD_ReceiveRsp( TL_CmdPacket_t * Notbuffer )
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.h
index 3bd87e32c..21899be1e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/app_ble_lld.h
@@ -5,16 +5,15 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
- */
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef APP_BLE_LLD_H
#define APP_BLE_LLD_H
@@ -68,4 +67,3 @@ void us_delay_32m(uint32_t microsec);
#endif /* APP_BLE_LLD_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.c
index 3dffc5b0f..c993c80c0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.c
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : chat_app.c
* Description : CHAT LLD BLE Application.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -354,4 +353,3 @@ void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
return;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.h
index 4a79927a7..fd6ea0f9b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/chat_app.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : chat_app.h
* Description : Header for BLE LLD application.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
- */
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef CHAT_APP_H
@@ -47,4 +46,3 @@ void Appli_TIM_PeriodElapsedCallback(void);
#endif
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/tl_dbg_conf.h
index b468b2863..d54b76ff0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/App/tl_dbg_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -42,7 +41,7 @@
#define TL_HCI_EVT_DBG_EN 0 /* Reports BLE Asynchronous Events received from CPU2 */
#define TL_HCI_EVT_DBG_RAW_EN 0 /* Reports raw data BLE Asynchronous Events received from CPU2 */
-#define TL_MM_DBG_EN 0 /* Reports the informations of the buffer released to CPU2 */
+#define TL_MM_DBG_EN 0 /* Reports the information of the buffer released to CPU2 */
/**
* Macro definition
@@ -123,4 +122,3 @@
#endif /*__TL_DBG_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/Target/hw_ipcc.c
index 7ce3de621..bed7dfbd3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/STM32_WPAN/Target/hw_ipcc.c
@@ -1,18 +1,17 @@
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : Target/hw_ipcc.c
* Description : Hardware IPCC source file for STM32WPAN Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -163,10 +162,7 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
+
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -673,4 +669,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/readme.txt
index 6258543b4..655525281 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE LLD BLE_LLD_Chat application
******************************************************************************
*
- * Copyright (c) 2021 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_common.h
index 5bb0f82f1..a49e4fde7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_common.h
@@ -4,16 +4,15 @@
* File Name : app_common.h
* Description : App Common application configuration file for STM32WPAN Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -121,4 +120,3 @@ extern "C"{
#endif /*APP_COMMON_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_conf.h
index b21ab05e2..70fd4ddf6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_conf.h
@@ -3,16 +3,16 @@
******************************************************************************
* File Name : app_conf.h
* Description : Application configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ *
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -44,8 +44,8 @@
*/
#define CFG_TL_EVT_QUEUE_LENGTH 20
/**
- * TL_EVENT_FRAME_SIZE is the size of the packets transfered between M0 and M4 through IPCC.
- * Note 1 : thoose packets are first put in a trace queue (see DBG_TRACE_MSG_QUEUE_SIZE) before beeing sent to UART
+ * TL_EVENT_FRAME_SIZE is the size of the packets transferred between M0 and M4 through IPCC.
+ * Note 1 : thoose packets are first put in a trace queue (see DBG_TRACE_MSG_QUEUE_SIZE) before being sent to UART
* Note 2 : Queue size must be higher than a M0 trace buffer max size (see LOG_BUFFER_SIZE_MAX in M0 FW)
*/
#define CFG_TL_MOST_EVENT_PAYLOAD_SIZE 255
@@ -96,7 +96,7 @@
* The higher is the value, the better is the power consumption and the accuracy of the timerserver
* The lower is the value, the finest is the granularity
*
- * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to ouput
+ * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to output
* clock as low as possible) but the output clock should be equal or higher frequency compare to the clock feeding
* the wakeup timer. A lower clock speed would impact the accuracy of the timer server.
*
@@ -314,7 +314,7 @@ typedef enum
******************************************************************************/
/**
* Supported requester to the MCU Low Power Manager - can be increased up to 32
- * It lits a bit mapping of all user of the Low Power Manager
+ * It lists a bit mapping of all user of the Low Power Manager
*/
typedef enum
{
@@ -334,4 +334,3 @@ typedef enum
#endif /*APP_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_entry.h
index 77ead2384..1db7656d6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/app_entry.h
@@ -6,17 +6,16 @@
* @brief Interface to the application
******************************************************************************
* @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -65,5 +64,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_conf.h
index cec656da9..56e0228a8 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_conf.h
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : hw_conf.h
- * Description : Hardware configuration file for the application.
+ * Description : Hardware configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -183,4 +182,3 @@
#endif /*HW_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_if.h
index 3fd93b322..b69817ff7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -181,7 +180,7 @@ void MX_USART1_UART_DeInit(void);
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessfull or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -283,5 +282,3 @@ void MX_UART_Deinit(hw_uart_id_t uart);
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/main.h
index 0c024028b..05a9002bb 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -103,5 +102,3 @@ void SystemClock_Config_MSI(uint32_t usePLL);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32_lpm_if.h
index dac7e2cbb..293e9912d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32_lpm_if.h
@@ -1,20 +1,19 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file stm32_lpm_if.h
* @brief Header for stm32_lpm_if.c module (device specific LP management)
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_LPM_IF_H
@@ -75,5 +74,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_hal_conf.h
index 365809937..f7f0c092e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_it.h
index fd3ff7829..f2fcc305a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm32wbxx_it.h
@@ -3,16 +3,15 @@
******************************************************************************
* @file stm32wbxx_it.h
* @brief This file contains the headers of the interrupt handlers.
- *******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -79,5 +78,3 @@ void TIM2_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm_logging.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm_logging.h
index 119d6e7a0..e60099e7c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm_logging.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/stm_logging.h
@@ -5,13 +5,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/utilities_conf.h
index 4dde3509a..fcab34b06 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Inc/utilities_conf.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,4 +64,3 @@ extern "C" {
#endif /*UTILITIES_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/app_entry.c
index a377e0f8a..bbe5b1355 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/app_entry.c
@@ -1,22 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* @file app_entry.c
* @author MCD Application Team
* @brief Entry point of the Application
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -418,4 +417,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/gpio_lld.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/gpio_lld.c
index 1ccb7b42f..2c64a7493 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/gpio_lld.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/gpio_lld.c
@@ -2,36 +2,18 @@
******************************************************************************
* @file gpio_lld.c
* @author MCD Application Team
- * @version $VERSION$
- * @date $DATE$
* @brief This file contains the init of all the GPIOs used by LLD tests.
* It is to be used on both M0 and M4.
******************************************************************************
* @attention
*
- * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ * Copyright (c) STMicroelectronics</center></h2>
+(-2021) STMicroelectronics.
+ * All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -128,5 +110,3 @@ void gpio_lld_lpuart_deInit(void) {
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_timerserver.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_timerserver.c
index e0e4fcb5d..f1444495a 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_timerserver.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_timerserver.c
@@ -1,18 +1,17 @@
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : hw_timerserver.c
* Description : Hardware timerserver source file for STM32WPAN Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -890,4 +889,3 @@ __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS
return;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_uart.c
index 3c842b29a..a693ffc14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/hw_uart.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -439,4 +438,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/main.c
index b1012309c..0a767b2d0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/main.c
@@ -1,10 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* @file main.c
* @author MCD Application Team
* @brief RF LLD tests application
*
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
@verbatim
==============================================================================
##### IMPORTANT NOTE #####
@@ -24,18 +35,7 @@
@endverbatim
******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "app_common.h"
@@ -603,5 +603,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END assert_failed */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/standby_stm32wb15.c
index a0a8b4839..40bc409af 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -156,4 +155,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32_lpm_if.c
index e4e8fd597..1431bc734 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32_lpm_if.c
@@ -1,17 +1,17 @@
- /*******************************************************************************
+/**
+ ******************************************************************************
* @file stm32_lpm_if.c
* @author MCD Application Team
* @brief Low layer function to enter/exit low power modes (stop, sleep)
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -146,19 +146,11 @@ void PWR_EnterStopMode( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -284,5 +276,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_hal_msp.c
index c789f48a8..57bfb1d7c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -328,5 +327,3 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
}
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_it.c
index 09fb8f08f..556af7d2f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm32wbxx_it.c
@@ -3,16 +3,15 @@
******************************************************************************
* @file stm32wbxx_it.c
* @brief Interrupt Service Routines.
- *******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -320,4 +319,3 @@ void IPCC_C1_RX_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm_logging.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm_logging.c
index 40997ccd7..36ad5be14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm_logging.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/stm_logging.c
@@ -1,6 +1,6 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : stm_logging.c
* Description : This file contains all the defines and functions used
* for logging on Application examples.
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/system_stm32wbxx.c
index 791008e1d..1f4da1444 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,10 +160,12 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}};
+#endif
/**
* @}
@@ -351,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/startup_stm32wb15xx_cm4.s
index de618745d..fe8344a35 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/stm32wb15xx_flash_cm4.icf
index 9888197af..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B800;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 8f86b87c9..4e53aee02 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -39,13 +38,13 @@ ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x20003000; /* end of RAM */
/* Generate a link error if heap and stack don't fit into RAM */
-_Min_Heap_Size = 0x200 ; /* required amount of heap */
-_Min_Stack_Size = 0x400 ; /* required amount of stack */
+_Min_Heap_Size = 0x400 ; /* required amount of heap */
+_Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 110K
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -119,7 +118,7 @@ SECTIONS
_sidata = LOADADDR(.data);
/* Initialized data sections goes into RAM, load LMA copy after code */
- .data :
+ .data :
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start */
@@ -132,12 +131,11 @@ SECTIONS
_edata = .; /* define a global symbol at data end */
} >RAM1 AT> FLASH
-
/* Uninitialized data section */
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
@@ -160,8 +158,6 @@ SECTIONS
. = ALIGN(8);
} >RAM1
-
-
/* Remove information from the standard libraries */
/DISCARD/ :
{
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.c
index ea1573ea1..438c73df3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.c
@@ -5,13 +5,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -171,7 +170,7 @@ void APP_BLE_LLD_Error(uint32_t ErrId, uint32_t ErrCode)
/**
* @brief Check if the Coprocessor Wireless Firmware loaded supports Thread
- * and display associated informations
+ * and display associated information
* @param None
* @retval None
*/
@@ -387,4 +386,3 @@ void TL_BLE_LLD_ReceiveRsp( TL_CmdPacket_t * Notbuffer )
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.h
index 3bd87e32c..21899be1e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/app_ble_lld.h
@@ -5,16 +5,15 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
- */
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef APP_BLE_LLD_H
#define APP_BLE_LLD_H
@@ -68,4 +67,3 @@ void us_delay_32m(uint32_t microsec);
#endif /* APP_BLE_LLD_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.c
index 4063e0755..484545618 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.c
@@ -1,17 +1,16 @@
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : lowpower_app.c
* Description : BLE LLD simple demo to control LEDs remotely
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -164,4 +163,3 @@ void Appli_TS_Callback(void)
UTIL_SEQ_SetTask(1U << CFG_TASK_TIMER, CFG_SCH_PRIO_0);
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.h
index 3024b6884..7f7ac8684 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/lowpower_app.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : lowpower_app.h
* Description : Header for BLE LLD application.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
- */
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef LOWPOWER_APP_H
@@ -47,4 +46,3 @@ void Appli_TS_Callback(void);
#endif
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/tl_dbg_conf.h
index b468b2863..d54b76ff0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/App/tl_dbg_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -42,7 +41,7 @@
#define TL_HCI_EVT_DBG_EN 0 /* Reports BLE Asynchronous Events received from CPU2 */
#define TL_HCI_EVT_DBG_RAW_EN 0 /* Reports raw data BLE Asynchronous Events received from CPU2 */
-#define TL_MM_DBG_EN 0 /* Reports the informations of the buffer released to CPU2 */
+#define TL_MM_DBG_EN 0 /* Reports the information of the buffer released to CPU2 */
/**
* Macro definition
@@ -123,4 +122,3 @@
#endif /*__TL_DBG_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/Target/hw_ipcc.c
index 7ce3de621..bed7dfbd3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/STM32_WPAN/Target/hw_ipcc.c
@@ -1,18 +1,17 @@
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : Target/hw_ipcc.c
* Description : Hardware IPCC source file for STM32WPAN Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -163,10 +162,7 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
+
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -673,4 +669,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/readme.txt
index 7541ff8c4..5005d7c08 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Lowpower/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BLE LLD BLE_LLD_Lowpower application
******************************************************************************
*
- * Copyright (c) 2021 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_common.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_common.h
index 5bb0f82f1..a49e4fde7 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_common.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_common.h
@@ -4,16 +4,15 @@
* File Name : app_common.h
* Description : App Common application configuration file for STM32WPAN Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -121,4 +120,3 @@ extern "C"{
#endif /*APP_COMMON_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_conf.h
index f24d94eb9..ae2abf61f 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_conf.h
@@ -3,16 +3,16 @@
******************************************************************************
* File Name : app_conf.h
* Description : Application configuration file for STM32WPAN Middleware.
- ******************************************************************************
+ *
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -44,8 +44,8 @@
*/
#define CFG_TL_EVT_QUEUE_LENGTH 20
/**
- * TL_EVENT_FRAME_SIZE is the size of the packets transfered between M0 and M4 through IPCC.
- * Note 1 : thoose packets are first put in a trace queue (see DBG_TRACE_MSG_QUEUE_SIZE) before beeing sent to UART
+ * TL_EVENT_FRAME_SIZE is the size of the packets transferred between M0 and M4 through IPCC.
+ * Note 1 : thoose packets are first put in a trace queue (see DBG_TRACE_MSG_QUEUE_SIZE) before being sent to UART
* Note 2 : Queue size must be higher than a M0 trace buffer max size (see LOG_BUFFER_SIZE_MAX in M0 FW)
*/
#define CFG_TL_MOST_EVENT_PAYLOAD_SIZE 255
@@ -96,7 +96,7 @@
* The higher is the value, the better is the power consumption and the accuracy of the timerserver
* The lower is the value, the finest is the granularity
*
- * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to ouput
+ * CFG_RTC_ASYNCH_PRESCALER: This sets the asynchronous prescaler of the RTC. It should as high as possible ( to output
* clock as low as possible) but the output clock should be equal or higher frequency compare to the clock feeding
* the wakeup timer. A lower clock speed would impact the accuracy of the timer server.
*
@@ -298,7 +298,7 @@ typedef enum
******************************************************************************/
/**
* Supported requester to the MCU Low Power Manager - can be increased up to 32
- * It lits a bit mapping of all user of the Low Power Manager
+ * It lists a bit mapping of all user of the Low Power Manager
*/
typedef enum
{
@@ -318,4 +318,3 @@ typedef enum
#endif /*APP_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_entry.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_entry.h
index 77ead2384..1db7656d6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_entry.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_entry.h
@@ -6,17 +6,16 @@
* @brief Interface to the application
******************************************************************************
* @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -65,5 +64,3 @@ extern "C" {
#endif
#endif /*APP_ENTRY_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_conf.h
index 571f5d77a..de25f60a2 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_conf.h
@@ -1,18 +1,17 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : hw_conf.h
- * Description : Hardware configuration file for the application.
+ * Description : Hardware configuration file for STM32WPAN Middleware.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -183,4 +182,3 @@
#endif /*HW_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_if.h
index 1499891d6..e23278583 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_if.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,7 +172,7 @@ void MX_USART1_UART_DeInit(void);
* @param pTimerId: Timer Id returned to the user to request operation (start, stop, delete)
* @param TimerMode: Mode of the virtual timer (Single shot or repeated)
* @param pTimerCallBack: Callback when the virtual timer expires
- * @retval HW_TS_ReturnStatus_t: Return whether the creation is sucessfull or not
+ * @retval HW_TS_ReturnStatus_t: Return whether the creation is successful or not
*/
HW_TS_ReturnStatus_t HW_TS_Create(uint32_t TimerProcessID, uint8_t *pTimerId, HW_TS_Mode_t TimerMode, HW_TS_pTimerCb_t pTimerCallBack);
@@ -275,5 +274,3 @@ void MX_UART_Deinit(hw_uart_id_t uart);
#endif
#endif /*HW_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/main.h
index 0c024028b..05a9002bb 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -103,5 +102,3 @@ void SystemClock_Config_MSI(uint32_t usePLL);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32_lpm_if.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32_lpm_if.h
index dac7e2cbb..293e9912d 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32_lpm_if.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32_lpm_if.h
@@ -1,20 +1,19 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file stm32_lpm_if.h
* @brief Header for stm32_lpm_if.c module (device specific LP management)
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_LPM_IF_H
@@ -75,5 +74,3 @@ void PWR_ExitSleepMode( void );
#endif
#endif /*__STM32_LPM_IF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_hal_conf.h
index 365809937..f7f0c092e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_it.h
index 485c7fc81..8710691e2 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_it.h
@@ -3,16 +3,15 @@
******************************************************************************
* @file stm32wbxx_it.h
* @brief This file contains the headers of the interrupt handlers.
- *******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -80,5 +79,3 @@ void TIM2_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm_logging.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm_logging.h
index 119d6e7a0..e60099e7c 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm_logging.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm_logging.h
@@ -5,13 +5,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/utilities_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/utilities_conf.h
index 4dde3509a..fcab34b06 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/utilities_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/utilities_conf.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,4 +64,3 @@ extern "C" {
#endif /*UTILITIES_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/app_entry.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/app_entry.c
index 4a8eab1cd..6ab0e3050 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/app_entry.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/app_entry.c
@@ -1,22 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* @file app_entry.c
* @author MCD Application Team
* @brief Entry point of the Application
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -415,4 +414,3 @@ void DbgOutputTraces( uint8_t *p_data, uint16_t size, void (*cb)(void) )
/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/gpio_lld.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/gpio_lld.c
index 1ccb7b42f..2c64a7493 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/gpio_lld.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/gpio_lld.c
@@ -2,36 +2,18 @@
******************************************************************************
* @file gpio_lld.c
* @author MCD Application Team
- * @version $VERSION$
- * @date $DATE$
* @brief This file contains the init of all the GPIOs used by LLD tests.
* It is to be used on both M0 and M4.
******************************************************************************
* @attention
*
- * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ * Copyright (c) STMicroelectronics</center></h2>
+(-2021) STMicroelectronics.
+ * All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -128,5 +110,3 @@ void gpio_lld_lpuart_deInit(void) {
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c
index 3c842b29a..a693ffc14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -439,4 +438,3 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
return;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/main.c
index 03067aa28..a3a1c2bb3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/main.c
@@ -1,10 +1,21 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* @file main.c
* @author MCD Application Team
* @brief RF LLD tests application
*
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
@verbatim
==============================================================================
##### IMPORTANT NOTE #####
@@ -24,18 +35,7 @@
@endverbatim
******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
- */
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "app_common.h"
@@ -550,5 +550,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END assert_failed */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/standby_stm32wb15.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/standby_stm32wb15.c
index a0a8b4839..40bc409af 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/standby_stm32wb15.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/standby_stm32wb15.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -156,4 +155,3 @@ uint32_t standby_boot_mng(void)
return boot_after_standby;
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32_lpm_if.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32_lpm_if.c
index e4e8fd597..1431bc734 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32_lpm_if.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32_lpm_if.c
@@ -1,17 +1,17 @@
- /*******************************************************************************
+/**
+ ******************************************************************************
* @file stm32_lpm_if.c
* @author MCD Application Team
* @brief Low layer function to enter/exit low power modes (stop, sleep)
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -146,19 +146,11 @@ void PWR_EnterStopMode( void )
/* Release ENTRY_STOP_MODE semaphore */
LL_HSEM_ReleaseLock( HSEM, CFG_HW_ENTRY_STOP_MODE_SEMID, 0 );
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
}
else
{
- /**
- * The switch on HSI before entering Stop Mode is required on Cut2.0
- * It is useless from Cut2.1
- */
Switch_On_HSI( );
}
@@ -284,5 +276,3 @@ static void Switch_On_HSI( void )
/* USER CODE END Private_Functions */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_hal_msp.c
index b783825ba..966f21306 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -282,5 +281,3 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_it.c
index 3b91552d1..1ac915757 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32wbxx_it.c
@@ -3,16 +3,15 @@
******************************************************************************
* @file stm32wbxx_it.c
* @brief Interrupt Service Routines.
- *******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -323,4 +322,3 @@ void IPCC_C1_RX_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm_logging.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm_logging.c
index 40997ccd7..36ad5be14 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm_logging.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm_logging.c
@@ -1,6 +1,6 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : stm_logging.c
* Description : This file contains all the defines and functions used
* for logging on Application examples.
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/system_stm32wbxx.c
index 791008e1d..1f4da1444 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,10 +160,12 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}};
+#endif
/**
* @}
@@ -351,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/startup_stm32wb15xx_cm4.s
index de618745d..fe8344a35 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/stm32wb15xx_flash_cm4.icf
index 9888197af..a67befac1 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/EWARM/stm32wb15xx_flash_cm4.icf
@@ -6,7 +6,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
/***** FLASH Part dedicated to M4 *****/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x0801B800;
+define symbol __ICFEDIT_region_ROM_end__ = 0x080187FF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
@@ -33,10 +33,10 @@ do not initialize { section .noinit,
section MB_MEM1 };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+place at address mem:__ICFEDIT_region_RAM_SHARED_start__ { section MAPPING_TABLE };
place in ROM_region { readonly };
place in RAM_region { block CSTACK, block HEAP };
-place in Total_RAM_region { readwrite };
-place in RAM_SHARED_region { first section MAPPING_TABLE};
place in RAM_SHARED_region { section MB_MEM1};
place in RAM_SHARED_region { section MB_MEM2};
+place in Total_RAM_region { readwrite };
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/stm32wb15xx_flash_cm4.sct b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/stm32wb15xx_flash_cm4.sct
index 28aca4068..c94aa2008 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/stm32wb15xx_flash_cm4.sct
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/MDK-ARM/stm32wb15xx_flash_cm4.sct
@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
- ER_IROM1 0x08000000 0x0001B800 { ; load address = execution address
+LR_IROM1 0x08000000 0x00018800 { ; load region size_region
+ ER_IROM1 0x08000000 0x00018800 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
@@ -11,11 +11,16 @@ LR_IROM1 0x08000000 0x0001B800 { ; load region size_region
RW_IRAM1 0x20000008 0x2FF8 { ; RW data
.ANY (+RW +ZI)
}
- RW_RAM_SHARED 0x20030000 0x2800 { ; RW data
- *(MAPPING_TABLE)
- *(MB_MEM1)
- *(MB_MEM2)
- }
+
+ RW_RAM_SHARED1 0x20030000 0x28 { ; RW data
+ *(MAPPING_TABLE)
+ }
+ RW_RAM_SHARED2 0x20030028 0x27D8 { ; RW data
+ *(MB_MEM1)
+ *(MB_MEM2)
+ .ANY (+RW +ZI)
+ }
+
}
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/Application/User/Core/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index 8f86b87c9..4e53aee02 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -39,13 +38,13 @@ ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x20003000; /* end of RAM */
/* Generate a link error if heap and stack don't fit into RAM */
-_Min_Heap_Size = 0x200 ; /* required amount of heap */
-_Min_Stack_Size = 0x400 ; /* required amount of stack */
+_Min_Heap_Size = 0x400 ; /* required amount of heap */
+_Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 110K
+FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 98K
RAM1 (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FF8
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}
@@ -119,7 +118,7 @@ SECTIONS
_sidata = LOADADDR(.data);
/* Initialized data sections goes into RAM, load LMA copy after code */
- .data :
+ .data :
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start */
@@ -132,12 +131,11 @@ SECTIONS
_edata = .; /* define a global symbol at data end */
} >RAM1 AT> FLASH
-
/* Uninitialized data section */
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
@@ -160,8 +158,6 @@ SECTIONS
. = ALIGN(8);
} >RAM1
-
-
/* Remove information from the standard libraries */
/DISCARD/ :
{
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.c
index ea1573ea1..438c73df3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.c
@@ -5,13 +5,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -171,7 +170,7 @@ void APP_BLE_LLD_Error(uint32_t ErrId, uint32_t ErrCode)
/**
* @brief Check if the Coprocessor Wireless Firmware loaded supports Thread
- * and display associated informations
+ * and display associated information
* @param None
* @retval None
*/
@@ -387,4 +386,3 @@ void TL_BLE_LLD_ReceiveRsp( TL_CmdPacket_t * Notbuffer )
/* USER CODE END FD_WRAP_FUNCTIONS */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.h
index 3bd87e32c..21899be1e 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.h
@@ -5,16 +5,15 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
- */
+ */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef APP_BLE_LLD_H
#define APP_BLE_LLD_H
@@ -68,4 +67,3 @@ void us_delay_32m(uint32_t microsec);
#endif /* APP_BLE_LLD_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.c
index caa507a85..37a1be6fa 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.c
@@ -1,17 +1,16 @@
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : pressbutton_app.c
* Description : BLE LLD simple demo to control LEDs remotely
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -158,4 +157,3 @@ static inline uint32_t timeDifference(uint32_t old, uint32_t new){
}
}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.h
index 602d7c8c4..1d0de164b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.h
@@ -1,21 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : pressbutton_app.h
* Description : Header for BLE LLD application.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
- */
+ */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef PRESSBUTTON_APP_H
@@ -46,4 +45,3 @@ void PRESSBUTTON_APP_Init(void);
#endif
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/tl_dbg_conf.h b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/tl_dbg_conf.h
index b468b2863..d54b76ff0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/tl_dbg_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/tl_dbg_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -42,7 +41,7 @@
#define TL_HCI_EVT_DBG_EN 0 /* Reports BLE Asynchronous Events received from CPU2 */
#define TL_HCI_EVT_DBG_RAW_EN 0 /* Reports raw data BLE Asynchronous Events received from CPU2 */
-#define TL_MM_DBG_EN 0 /* Reports the informations of the buffer released to CPU2 */
+#define TL_MM_DBG_EN 0 /* Reports the information of the buffer released to CPU2 */
/**
* Macro definition
@@ -123,4 +122,3 @@
#endif /*__TL_DBG_CONF_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/Target/hw_ipcc.c b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/Target/hw_ipcc.c
index 7ce3de621..bed7dfbd3 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/Target/hw_ipcc.c
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/Target/hw_ipcc.c
@@ -1,18 +1,17 @@
/**
- ******************************************************************************
+ ******************************************************************************
* File Name : Target/hw_ipcc.c
* Description : Hardware IPCC source file for STM32WPAN Middleware.
*
- ******************************************************************************
+ ******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -163,10 +162,7 @@ void HW_IPCC_Tx_Handler( void )
HW_IPCC_ZIGBEE_CmdEvtHandler();
}
#endif /* ZIGBEE_WB */
- else if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ))
- {
- HW_IPCC_SYS_CmdEvtHandler();
- }
+
else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ))
{
HW_IPCC_MM_FreeBufHandler();
@@ -673,4 +669,3 @@ static void HW_IPCC_TRACES_EvtHandler( void )
__weak void HW_IPCC_TRACES_EvtNot( void ){};
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
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 83d962024..3a1b7877e 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
@@ -8,12 +8,12 @@
* @brief Description of the BLE LLD BLE_LLD_Pressbutton application
******************************************************************************
*
- * Copyright (c) 2020 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2020-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/FreeRTOS_Mutexes.ioc b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/FreeRTOS_Mutexes.ioc
index de57b7f70..cc2d97d73 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/FreeRTOS_Mutexes.ioc
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/FreeRTOS_Mutexes.ioc
@@ -72,8 +72,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -91,6 +91,11 @@ NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.TimeBase=TIM2_IRQn
NVIC.TimeBaseIP=TIM2
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/main.h b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/main.h
index 4a8633c9a..9f12f3c17 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/main.h
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_hal_conf.h
index 037eb1704..740d9ac81 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_it.h
index baa6d17f9..00a760848 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void TIM2_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/app_freertos.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/app_freertos.c
index 979763a6c..e0968c1c9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/app_freertos.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/app_freertos.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -58,5 +57,3 @@
/* USER CODE BEGIN Application */
/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/main.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/main.c
index 8f55b5a44..93810e6f9 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/main.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -57,6 +56,7 @@ __IO uint32_t HighPriorityThreadCycles = 0, MediumPriorityThreadCycles = 0, LowP
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
void MutexHighPriorityThreadr(void const * argument);
void MutexMediumPriorityThread(void const * argument);
void MutexLowPriorityThread(void const * argument);
@@ -101,6 +101,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Initialize LEDs */
BSP_LED_Init(LED1);
@@ -174,7 +177,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -212,11 +214,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -421,7 +434,7 @@ void MutexLowPriorityThread(void const * argument)
/* USER CODE END MutexLowPriorityThread */
}
- /**
+/**
* @brief Period elapsed callback in non blocking mode
* @note This function is called when TIM2 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
@@ -474,5 +487,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_msp.c
index 8c51e2b32..c5e70e398 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -80,5 +79,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_timebase_tim.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_timebase_tim.c
index 77492fd60..f7fa29b01 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_timebase_tim.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_hal_timebase_tim.c
@@ -7,9 +7,20 @@
*
* This file overrides the native HAL time base functions (defined as weak)
* the TIM time base:
- * + Intializes the TIM peripheral to generate a Period elapsed Event each 1ms
+ * + Initializes the TIM peripheral to generate a Period elapsed Event each 1ms
* + HAL_IncTick is called inside HAL_TIM_PeriodElapsedCallback ie each 1ms
*
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
@verbatim
==============================================================================
##### How to use this driver #####
@@ -26,17 +37,6 @@
@endverbatim
******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * 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
- *
- ******************************************************************************
*/
/* USER CODE END Header */
@@ -72,6 +72,7 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
/* Enable the TIM2 global Interrupt */
HAL_NVIC_EnableIRQ(TIM2_IRQn);
+
/* Enable TIM2 clock */
__HAL_RCC_TIM2_CLK_ENABLE();
@@ -96,6 +97,7 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
htim2.Init.Prescaler = uwPrescalerValue;
htim2.Init.ClockDivision = 0;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
+
if(HAL_TIM_Base_Init(&htim2) == HAL_OK)
{
/* Start the TIM time Base generation in interrupt mode */
@@ -129,5 +131,3 @@ void HAL_ResumeTick(void)
/* Enable TIM2 Update interrupt */
__HAL_TIM_ENABLE_IT(&htim2, TIM_IT_UPDATE);
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_it.c
index ed1fb0d55..93b9981a2 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -179,4 +178,3 @@ void TIM2_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/system_stm32wbxx.c
index c0af3469e..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,7 +160,7 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
-#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB10xx)
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/readme.txt b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/readme.txt
index e73a201cf..c372e5f29 100644
--- a/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/FreeRTOS/FreeRTOS_Mutexes/readme.txt
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 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
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/ADC_MultiChannelSingleConversion.ioc b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/ADC_MultiChannelSingleConversion.ioc
index 1da3565c4..ca1416ceb 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/ADC_MultiChannelSingleConversion.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/ADC_MultiChannelSingleConversion.ioc
@@ -58,8 +58,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.ADC1_IRQn=true\:1\:0\:true\:false\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:2\:0\:true\:false\:true\:false\:true
@@ -78,6 +78,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/main.h
index 43b85e9a9..74a19a54f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_hal_conf.h
index c839e59b8..3b733dc39 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_it.h
index 8680946b7..8f89c0b1e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void ADC1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/main.c
index bbe980a60..e5e2cb4c4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -86,6 +85,7 @@ uint32_t ubAdcGrpRegularSequenceConvCount = 0UL; /* Variable set into ADC interr
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_ADC1_Init(void);
@@ -127,6 +127,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -244,7 +247,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -282,12 +284,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_ADC;
- PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_HSI;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -485,5 +497,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_hal_msp.c
index e91fd7706..33412017d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,11 +83,21 @@ void HAL_MspInit(void)
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hadc->Instance==ADC1)
{
/* USER CODE BEGIN ADC1_MspInit 0 */
/* USER CODE END ADC1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC;
+ PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_HSI;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_ADC_CLK_ENABLE();
@@ -165,5 +174,3 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_it.c
index 5825e919d..8455316f3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -233,4 +232,3 @@ void ADC1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/readme.txt b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/readme.txt
index 4bb1105a2..b7fb2db7a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_MultiChannelSingleConversion/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ADC_MultiChannelSingleConversion example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/ADC_SingleConversion_TriggerSW_IT.ioc b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/ADC_SingleConversion_TriggerSW_IT.ioc
index 11106b7eb..26ab3a1a5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/ADC_SingleConversion_TriggerSW_IT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/ADC_SingleConversion_TriggerSW_IT.ioc
@@ -27,8 +27,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.ADC1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -46,6 +46,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/main.h
index 8d3343126..838d00c5e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_hal_conf.h
index c839e59b8..3b733dc39 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_it.h
index 52664d358..d49216f20 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void ADC1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/main.c
index 0a21b1415..53416523f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -73,6 +72,7 @@ __IO uint8_t ubAdcGrpRegularUnitaryConvStatus = 2; /* Variable set into ADC inte
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_ADC1_Init(void);
/* USER CODE BEGIN PFP */
@@ -106,6 +106,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -138,7 +141,7 @@ int main(void)
Error_Handler();
}
- /* For this example purpose, wait untill conversion is done */
+ /* For this example purpose, wait until conversion is done */
while (ubAdcGrpRegularUnitaryConvStatus != 1);
/* Reset status variable of ADC group regular unitary conversion */
@@ -175,7 +178,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -213,12 +215,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_ADC;
- PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_HSI;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -389,5 +401,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_hal_msp.c
index 5982349da..ce1548b0c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -83,11 +82,21 @@ void HAL_MspInit(void)
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hadc->Instance==ADC1)
{
/* USER CODE BEGIN ADC1_MspInit 0 */
/* USER CODE END ADC1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC;
+ PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_HSI;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_ADC_CLK_ENABLE();
@@ -143,5 +152,3 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_it.c
index 0d1b2822d..8d4402747 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -218,4 +217,3 @@ void ADC1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/readme.txt b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/readme.txt
index bea3cb91e..e163533b8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerSW_IT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ADC_SingleConversion_TriggerSW_IT example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/ADC_SingleConversion_TriggerTimer_DMA.ioc b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/ADC_SingleConversion_TriggerTimer_DMA.ioc
index 70534b22b..257c9db96 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/ADC_SingleConversion_TriggerTimer_DMA.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/ADC_SingleConversion_TriggerTimer_DMA.ioc
@@ -51,8 +51,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.ADC1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:false\:true
@@ -71,6 +71,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/main.h
index 5d4b014bf..2fe8ef61b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_hal_conf.h
index 17894879e..bb414ffe9 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_it.h
index 3c080084a..5868569d5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void ADC1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/main.c
index eb311725d..66f187eb8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/main.c
@@ -12,13 +12,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -90,6 +89,7 @@ __IO uint8_t ubDmaTransferStatus = 2U; /* Variable set into DMA interruption cal
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_ADC1_Init(void);
@@ -132,6 +132,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -211,7 +214,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -249,12 +251,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_ADC;
- PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_HSI;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -439,7 +451,7 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
/* Note: For debug purpose, if program is halted with a breakpoint then
this error will be raised (due to ADC and DMA continuing to operate
in background).
- To not block debug of this exemple, replace error handler by
+ To not block debug of this example, replace error handler by
dummy LED toggle. */
/* Error_Handler(); */
BSP_LED_Toggle(LED2);
@@ -479,7 +491,7 @@ void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc)
/* Note: For debug purpose, if program is halted with a breakpoint then
this error will be raised (due to ADC and DMA continuing to operate
in background).
- To not block debug of this exemple, replace error handler by
+ To not block debug of this example, replace error handler by
dummy LED toggle. */
/* Error_Handler(); */
BSP_LED_Toggle(LED2);
@@ -559,5 +571,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_hal_msp.c
index e869d9cb0..fda21f227 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,11 +83,21 @@ void HAL_MspInit(void)
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hadc->Instance==ADC1)
{
/* USER CODE BEGIN ADC1_MspInit 0 */
/* USER CODE END ADC1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC;
+ PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_HSI;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_ADC_CLK_ENABLE();
@@ -209,5 +218,3 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_it.c
index d8da79e0d..c29dbd49b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -233,4 +232,3 @@ void ADC1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/readme.txt b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/readme.txt
index def7af2bc..ba2e9ca2e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/ADC/ADC_SingleConversion_TriggerTimer_DMA/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ADC_SingleConversion_TriggerTimer_DMA example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/BSP_Example.ioc b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/BSP_Example.ioc
index fe80891cd..d21ee28ec 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/BSP_Example.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/BSP_Example.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/main.h
index db9a924f9..99ad11ef2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_it.h
index b615faca6..8fb9522f1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void EXTI9_5_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/main.c
index 569266798..34a357da0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/main.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -49,6 +48,7 @@ static uint32_t delay = 250;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -93,6 +93,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -134,7 +137,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -172,11 +174,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -244,5 +257,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_hal_msp.c
index 88e676a14..dff820efa 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ void HAL_MspInit(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_it.c
index cb76a87ab..ea168da57 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/stm32wbxx_it.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -228,4 +227,3 @@ void EXTI9_5_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/readme.txt b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/readme.txt
index 9d46f26e6..d94a42fee 100644
--- a/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/BSP/BSP_Example/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the BSP example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/COMP_CompareGpioVsVrefInt_IT.ioc b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/COMP_CompareGpioVsVrefInt_IT.ioc
index 7592bda89..203869011 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/COMP_CompareGpioVsVrefInt_IT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/COMP_CompareGpioVsVrefInt_IT.ioc
@@ -23,8 +23,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.COMP_IRQn=true\:3\:0\:true\:false\:true\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
@@ -39,6 +39,11 @@ NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
PA1.Mode=INP
PA1.Signal=COMP1_INP
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_sram_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_sram_cm4.icf
index b4d87081e..9b2c8a377 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_sram_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/EWARM/stm32wb15xx_sram_cm4.icf
@@ -17,7 +17,7 @@ define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x2000AFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/main.h
index 905b85cdc..2aa9986eb 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_hal_conf.h
index 41e32d32e..673eed277 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_it.h
index 562d26c3c..a3169e096 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void COMP_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/main.c
index e15b67856..8ac287020 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@ COMP_HandleTypeDef hcomp1;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_COMP1_Init(void);
/* USER CODE BEGIN PFP */
@@ -94,6 +94,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -149,7 +152,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -187,11 +189,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -351,5 +364,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_hal_msp.c
index 8eb24e073..12246fbde 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -139,5 +138,3 @@ void HAL_COMP_MspDeInit(COMP_HandleTypeDef* hcomp)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_it.c
index 40fc587eb..41730ac20 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -205,4 +204,3 @@ void COMP_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/readme.txt b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/readme.txt
index 7e4df4852..5707ada55 100644
--- a/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/COMP/COMP_CompareGpioVsVrefInt_IT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the COMP_CompareGpioVsVrefInt_IT Example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/CORTEXM_SysTick.ioc b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/CORTEXM_SysTick.ioc
index 7b1f613d9..9686afe3d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/CORTEXM_SysTick.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/CORTEXM_SysTick.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/main.h
index d63920c4a..1ce19b9c1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_it.h
index 9e0184c37..ea9677fa2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -62,5 +61,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/main.c
index 6ee833ae3..22cb1d7f9 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/main.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -49,6 +48,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -88,6 +88,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -159,7 +162,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -197,11 +199,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -248,5 +261,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_hal_msp.c
index 8efc7d79c..7984c9d47 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,5 +77,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_it.c
index 04dd72fc0..c92e97004 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -146,4 +145,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/readme.txt b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/readme.txt
index 7fb6af58d..a36954f76 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/CORTEX/CORTEXM_SysTick/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the CortexM SysTick example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/CRC_Example.ioc b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/CRC_Example.ioc
index d94a2ab36..566a2fe5a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/CRC_Example.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/CRC_Example.ioc
@@ -22,8 +22,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -35,6 +35,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/main.h
index da5147d12..864c97735 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_hal_conf.h
index 4ddfc4ca8..97d05904a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_it.h
index 71ec15999..d2665e35f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -60,5 +59,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/main.c
index 9146f417f..4c3c27807 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -80,6 +79,7 @@ uint32_t uwExpectedCRCValue = 0x379E9F06;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_CRC_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -120,6 +120,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -168,7 +171,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -206,11 +208,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -285,5 +298,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_hal_msp.c
index 276b7cfc9..bbd5e2bb0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -121,5 +120,3 @@ void HAL_CRC_MspDeInit(CRC_HandleTypeDef* hcrc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_it.c
index a5b2a62b5..f14050492 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -119,4 +118,3 @@ void SysTick_Handler(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/readme.txt b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/readme.txt
index e9e1ddab4..4e5c7772f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/CRC/CRC_Example/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of Cyclic Redundancy Check Example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/CRYP_DMA.ioc b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/CRYP_DMA.ioc
index 71ee27b21..b34a12591 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/CRYP_DMA.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/CRYP_DMA.ioc
@@ -61,8 +61,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:false\:false\:false
NVIC.DMA1_Channel2_IRQn=true\:0\:0\:false\:false\:false\:false\:false
@@ -76,6 +76,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/main.h
index b9e34e70e..0bec6dd4a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_hal_conf.h
index 2a545f561..d04217e4a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_it.h
index 1dbbecc8b..a0ad0a8d7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void DMA1_Channel2_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 85adaf400..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/main.c
index d2bccd5ba..e8bd646e0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -154,7 +153,7 @@ uint32_t aPlaintext[AES_TEXT_SIZE] =
0xF69F2445 ,0xDF4F9B17 ,0xAD2B417B ,0xE66C3710};
-/* Cyphertext */
+/* Ciphertext */
uint32_t aEncryptedtextExpected[AES_TEXT_SIZE] =
{0x3AD77BB4 ,0x0D7A3660 ,0xA89ECAF3 ,0x2466EF97 ,
0xF5D3D585 ,0x03B9699D ,0xE785895A ,0x96FDBAAF ,
@@ -171,6 +170,7 @@ uint32_t aDecryptedText[PLAINTEXT_SIZE] = {0};
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_DMA_Init(void);
static void MX_AES2_Init(void);
/* USER CODE BEGIN PFP */
@@ -226,6 +226,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -376,7 +379,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -414,11 +416,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -638,5 +651,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_hal_msp.c
index 4993138f1..fbabc4231 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -164,5 +163,3 @@ void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef* hcryp)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_it.c
index b18413bdc..ab415c50d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -231,4 +230,3 @@ void DMA1_Channel2_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/readme.txt b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/readme.txt
index d75a010fb..23a8f8e46 100644
--- a/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/CRYP/CRYP_DMA/readme.txt
@@ -9,12 +9,12 @@
* @brief Description of the CRYP AES Algorithm in ECB mode with DMA Example
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -41,7 +41,7 @@ When resorting to STM32CubeIDE:
Command Code is displayed on debugger as follows: Window--> Show View--> Console.
In Debug configuration :
- Window\Debugger, select the Debug probe : ST-LINK(OpenOCD)
-- window\ Startup,add the command "monitor arm semihosting enable"
+- Window\Startup, add the command "monitor arm semihosting enable"
When all ciphering and deciphering operations are successful, LED2 is turned on.
In case of ciphering or deciphering issue, LED3 toggle each 200ms.
@@ -49,11 +49,6 @@ In case of ciphering or deciphering issue, LED3 toggle each 200ms.
The Plain data, encrypted data and decrypted data can be displayed on a PC
HyperTerminal using the UART. USE_VCP_CONNECTION=1 must be added in command line.
-@par Keywords
-
-Security, Cryptography, CRYPT, AES, ECB, DMA, cipher, UART
-
-
@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
@@ -64,6 +59,10 @@ Security, Cryptography, CRYPT, AES, ECB, DMA, cipher, UART
@note The application need to ensure that the SysTick time base is always set to 1 millisecond
to have correct HAL operation.
+@par Keywords
+
+Security, Cryptography, CRYPT, AES, ECB, DMA, cipher, UART
+
@par Directory contents
- CRYP/CRYP_DMA/Inc/nucleo_wb15cc_conf.h BSP configuration file
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc
index db0ba0d63..d1cff8af3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc
@@ -34,8 +34,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
@@ -48,6 +48,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/main.h
index 15c939744..d5c9b7479 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h
index b80608160..d941efbf3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -61,5 +60,3 @@ void DMA1_Channel1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/main.c
index a978092c0..c987e488e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,6 +66,7 @@ static __IO uint32_t transferCompleteDetected; /* Set to 1 if transfer is correc
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_DMA_Init(void);
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
@@ -112,6 +112,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -174,7 +177,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -212,11 +214,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -321,5 +334,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c
index f9463e6fe..a933382c8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c
index abb2534e1..61a8809a0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -131,4 +130,3 @@ void DMA1_Channel1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/readme.txt b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/readme.txt
index 1d7ed38a0..9c97cfe98 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_FLASHToRAM/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the DMA FLASH to RAM example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/DMA_MUXSYNC.ioc b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/DMA_MUXSYNC.ioc
index b125108b4..97f578bb9 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/DMA_MUXSYNC.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/DMA_MUXSYNC.ioc
@@ -43,8 +43,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.DMAMUX1_OVR_IRQn=true\:0\:0\:false\:false\:true\:false\:true
@@ -69,6 +69,11 @@ PB7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB7.Locked=true
PB7.Mode=Asynchronous
PB7.Signal=USART1_RX
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/main.h
index 5d425ade9..7616b3ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/main.h
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -102,5 +101,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_hal_conf.h
index 1482060e7..e9d703140 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_it.h
index 3ec3c3a0a..5bd1ec95e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void DMAMUX1_OVR_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/main.c
index 80999f8da..be65b00c8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -62,6 +61,7 @@ uint8_t TxEndMessage[] = "\n\r\n\rExample Finished\n\r";
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_LPTIM1_Init(void);
@@ -102,6 +102,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -177,7 +180,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -215,14 +217,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_USART1
- |RCC_PERIPHCLK_LPTIM1;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
- PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_PCLK1;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -388,5 +398,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_hal_msp.c
index dd7750660..b8f862631 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -83,11 +82,21 @@ void HAL_MspInit(void)
*/
void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hlptim->Instance==LPTIM1)
{
/* USER CODE BEGIN LPTIM1_MspInit 0 */
/* USER CODE END LPTIM1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LPTIM1;
+ PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_LPTIM1_CLK_ENABLE();
/* USER CODE BEGIN LPTIM1_MspInit 1 */
@@ -129,11 +138,21 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
HAL_DMA_MuxSyncConfigTypeDef pSyncConfig;
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -224,5 +243,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_it.c
index 1ec66ea0e..4f8b48d3d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/stm32wbxx_it.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -246,4 +245,3 @@ void DMAMUX1_OVR_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/readme.txt b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/readme.txt
index f21ed7c8c..08ffc2a12 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUXSYNC/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the DMA & DMAMUX Synchronization Example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/DMA_MUX_RequestGen.ioc b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/DMA_MUX_RequestGen.ioc
index 0258f8e6b..fd476b166 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/DMA_MUX_RequestGen.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/DMA_MUX_RequestGen.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/main.h
index 07d1584e2..7044265c3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_it.h
index 1d8b1f501..f639e66fd 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void DMAMUX1_OVR_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/main.c
index 82282ccc8..8261b9406 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/main.c
@@ -8,16 +8,15 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
- */
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -54,6 +53,7 @@ DMA_HandleTypeDef DMA_Handle;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
static void HAL_TransferError(DMA_HandleTypeDef *hdma);
/* USER CODE END PFP */
@@ -84,6 +84,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -168,7 +171,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -206,11 +208,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -268,5 +281,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_hal_msp.c
index a44a9a3c6..d93dae433 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_hal_msp.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -79,5 +78,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_it.c
index daa45e349..57bc5c128 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/stm32wbxx_it.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -210,4 +209,3 @@ void DMAMUX1_OVR_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/readme.txt b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/readme.txt
index 4bf4c6fe8..a02331561 100644
--- a/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/DMA/DMA_MUX_RequestGen/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the DMA & request generator Example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/FLASH_EraseProgram.ioc b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/FLASH_EraseProgram.ioc
index 924ceab3e..9bbecefca 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/FLASH_EraseProgram.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/FLASH_EraseProgram.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/main.h
index 50af193c1..0aeefcb85 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -229,5 +228,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_it.h
index 2f93cc2e1..574bc866b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -60,5 +59,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/main.c
index 4f7ee93cb..3de199b37 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -62,6 +61,7 @@ static FLASH_EraseInitTypeDef EraseInitStruct;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
static uint32_t GetPage(uint32_t Address);
@@ -104,6 +104,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -233,7 +236,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -271,11 +273,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -337,5 +350,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_hal_msp.c
index bbd5520b1..43e345ae5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_it.c
index 56a9e76d9..efdbee9d0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/stm32wbxx_it.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -116,4 +115,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/readme.txt b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/readme.txt
index 716e58ec3..0cf38fe7f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_EraseProgram/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the FLASH Erase and Program example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/FLASH_WriteProtection.ioc b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/FLASH_WriteProtection.ioc
index c729b8e8e..edc70187a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/FLASH_WriteProtection.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/FLASH_WriteProtection.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/main.h
index 067ef2f2a..94b1dbc81 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -230,5 +229,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_it.h
index 8daac8538..e3cba24f2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -60,5 +59,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/main.c
index 64c218fea..7c62c5daa 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,6 +75,7 @@ static FLASH_OBProgramInitTypeDef OptionsBytesStruct, OptionsBytesStruct2;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
static uint32_t GetPage(uint32_t Address);
@@ -118,6 +118,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -492,7 +495,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -530,11 +532,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -606,5 +619,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_hal_msp.c
index 00262ec15..64e81dd7d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_it.c
index e63677736..36d00fbf4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/stm32wbxx_it.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -116,4 +115,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/readme.txt b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/readme.txt
index fe7aec5f1..cf98e764a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/FLASH/FLASH_WriteProtection/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the FLASH write protection example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/GPIO_EXTI.ioc b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/GPIO_EXTI.ioc
index 91c49b18b..242541c09 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/GPIO_EXTI.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/GPIO_EXTI.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:true\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/main.h
index c804d01c6..8b69e043e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_it.h
index 5290aca7a..97ab9bd6b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/main.c
index 762ddeea4..68ea545c3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -159,11 +158,6 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
- */
- /* USER CODE BEGIN Smps */
-
- /* USER CODE END Smps */
}
/* USER CODE BEGIN 4 */
@@ -245,5 +239,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_hal_msp.c
index fc9051292..a18a377d0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,5 +77,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_it.c
index 74da4abd9..4e26f2251 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -184,4 +183,3 @@ void EXTI0_IRQHandler(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/readme.txt b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/readme.txt
index 2f31b0971..32dd59c4f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_EXTI/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the GPIO EXTI example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/GPIO_IOToggle.ioc b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/GPIO_IOToggle.ioc
index 0e45a467d..16c0e4bef 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/GPIO_IOToggle.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/GPIO_IOToggle.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:true\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/main.h
index 0ac4165ee..9a35030bd 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_it.h
index 98da6a49d..a816e5381 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/main.c
index 4129b5feb..420fed657 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ static GPIO_InitTypeDef GPIO_InitStruct;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -91,6 +91,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -140,7 +143,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -178,11 +180,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -230,5 +243,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_hal_msp.c
index 1d6bb7052..eb5216308 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,5 +77,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_it.c
index e7191b6fc..1bc94d07d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file GPIO/GPIO_IOToggle/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,4 +172,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/readme.txt b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/readme.txt
index 8f986e481..8450d8e6c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/GPIO/GPIO_IOToggle/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the GPIO IO Toggle example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/HAL_TimeBase.ioc b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/HAL_TimeBase.ioc
index f42a9176b..50b7c8163 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/HAL_TimeBase.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/HAL_TimeBase.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/main.h
index 359d63588..b628a6106 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_hal_conf.h
index 037eb1704..740d9ac81 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_it.h
index c02ba766c..d47a43900 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -61,5 +60,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/main.c
index d5dd82348..ed772891c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/main.c
@@ -8,29 +8,13 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
+ * Copyright (c) STMicroelectronics</center></h2>
+(-2021) STMicroelectronics.
+ * All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -172,11 +156,6 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
- */
- /* USER CODE BEGIN Smps */
-
- /* USER CODE END Smps */
}
/* USER CODE BEGIN 4 */
@@ -353,5 +332,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_hal_msp.c
index e16fa9915..5a6bf1134 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ void HAL_MspInit(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_it.c
index 24aa74671..ef5e0453a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -154,4 +153,3 @@ void EXTI0_IRQHandler(void)
}*/
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/readme.txt b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/readme.txt
index cd37d59a7..882bf0b70 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the HAL time base example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/HAL_TimeBase_RTC_WKUP.ioc b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/HAL_TimeBase_RTC_WKUP.ioc
index 3357da1bf..369da5ae6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/HAL_TimeBase_RTC_WKUP.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/HAL_TimeBase_RTC_WKUP.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/main.h
index bedef28c0..5742666d7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_hal_conf.h
index 4908f17fc..28588fc88 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_it.h
index e14205c07..1ce6e294f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -60,5 +59,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/main.c
index 97fe45d0d..768d505ca 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/main.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -158,11 +157,6 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
- */
- /* USER CODE BEGIN Smps */
-
- /* USER CODE END Smps */
}
/* USER CODE BEGIN 4 */
@@ -223,5 +217,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_msp.c
index e16fa9915..5a6bf1134 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ void HAL_MspInit(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_timebase_rtc_wakeup.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_timebase_rtc_wakeup.c
index 705d1d32c..abe650e24 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_timebase_rtc_wakeup.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_hal_timebase_rtc_wakeup.c
@@ -6,11 +6,22 @@
*
* This file overrides the native HAL time base functions (defined as weak)
* to use the RTC WAKEUP for the time base generation:
- * + Intializes the RTC peripheral and configures the wakeup timer to be
+ * + Initializes the RTC peripheral and configures the wakeup timer to be
* incremented each 1ms
* + The wakeup feature is configured to assert an interrupt each 1ms
* + HAL_IncTick is called inside the HAL_RTCEx_WakeUpTimerEventCallback
* + HSE (default), LSE or LSI can be selected as RTC clock source
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
@verbatim
==============================================================================
##### How to use this driver #####
@@ -31,17 +42,6 @@
@endverbatim
******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
@@ -275,5 +275,3 @@ void RTC_WKUP_IRQHandler(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_it.c
index 68e625289..a1f268585 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/stm32wbxx_it.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -134,4 +133,3 @@ void EXTI0_IRQHandler(void)
}*/
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/readme.txt b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/readme.txt
index ee3c60b4c..4b62b855b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_RTC_WKUP/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the HAL TimeBase RTC WakeUp example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/HAL_TimeBase_TIM.ioc b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/HAL_TimeBase_TIM.ioc
index 115ed8dc4..4035f987c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/HAL_TimeBase_TIM.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/HAL_TimeBase_TIM.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -30,6 +30,11 @@ NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.TimeBase=TIM2_IRQn
NVIC.TimeBaseIP=TIM2
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/main.h
index 5a502d34f..ede4f5978 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_hal_conf.h
index 037eb1704..740d9ac81 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_it.h
index 57cf95874..579d693b8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -61,5 +60,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/main.c
index e7e3d633f..11a05e221 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -166,11 +165,6 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
- */
- /* USER CODE BEGIN Smps */
-
- /* USER CODE END Smps */
}
/* USER CODE BEGIN 4 */
@@ -205,7 +199,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
/* USER CODE END 4 */
- /**
+/**
* @brief Period elapsed callback in non blocking mode
* @note This function is called when TIM2 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
@@ -256,5 +250,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_msp.c
index e16fa9915..5a6bf1134 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ void HAL_MspInit(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_timebase_tim.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_timebase_tim.c
index 517db51fd..a5d69f4c2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_timebase_tim.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_hal_timebase_tim.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,6 +49,7 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
/* Enable the TIM2 global Interrupt */
HAL_NVIC_EnableIRQ(TIM2_IRQn);
+
/* Enable TIM2 clock */
__HAL_RCC_TIM2_CLK_ENABLE();
@@ -74,6 +74,7 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
htim2.Init.Prescaler = uwPrescalerValue;
htim2.Init.ClockDivision = 0;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
+
if(HAL_TIM_Base_Init(&htim2) == HAL_OK)
{
/* Start the TIM time Base generation in interrupt mode */
@@ -107,5 +108,3 @@ void HAL_ResumeTick(void)
/* Enable TIM2 Update interrupt */
__HAL_TIM_ENABLE_IT(&htim2, TIM_IT_UPDATE);
}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_it.c
index 674b0ddaa..0680ed9ef 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -155,4 +154,3 @@ void EXTI0_IRQHandler(void)
{
}*/
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/readme.txt b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/readme.txt
index fb7e82703..d63c20ef0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/HAL/HAL_TimeBase_TIM/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the HAL time base example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/I2C_TwoBoards_ComDMA.ioc b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/I2C_TwoBoards_ComDMA.ioc
index 3b9ae7b18..0f566f57b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/I2C_TwoBoards_ComDMA.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/I2C_TwoBoards_ComDMA.ioc
@@ -70,8 +70,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=I2C_ADDRESS,0x30F
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.DMA1_Channel2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -87,10 +87,19 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PB8.GPIOParameters=GPIO_Pu
+PB8.GPIO_Pu=GPIO_PULLUP
PB8.Mode=I2C
PB8.Signal=I2C1_SCL
+PB9.GPIOParameters=GPIO_Pu
+PB9.GPIO_Pu=GPIO_PULLUP
PB9.Mode=I2C
PB9.Signal=I2C1_SDA
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/main.h
index db112b857..c6246e911 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -72,5 +71,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_hal_conf.h
index 2324ed02b..fd85e83a7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_it.h
index 1de8a59ad..6d3048f81 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void I2C1_ER_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/main.c
index 125305938..2e4612c1e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -59,6 +58,7 @@ uint8_t aRxBuffer[RXBUFFERSIZE];
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_I2C1_Init(void);
@@ -103,6 +103,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -275,7 +278,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -313,12 +315,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_I2C1;
- PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -532,5 +544,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_hal_msp.c
index 3b0b5ec35..8e7017e38 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -86,6 +85,7 @@ void HAL_MspInit(void)
void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hi2c->Instance==I2C1)
{
/* USER CODE BEGIN I2C1_MspInit 0 */
@@ -96,6 +96,14 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
RCC_PeriphCLKInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_SYSCLK;
HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphCLKInitStruct);
/* USER CODE END I2C1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
+ PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
__HAL_RCC_GPIOB_CLK_ENABLE();
/**I2C1 GPIO Configuration
@@ -200,5 +208,3 @@ void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_it.c
index e8ce49bd2..0688d673e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -203,4 +202,3 @@ void I2C1_ER_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/readme.txt b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/readme.txt
index 267aa15cf..e356ae092 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComDMA/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the I2C Two Boards Communication DMA example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/I2C_TwoBoards_ComIT.ioc b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/I2C_TwoBoards_ComIT.ioc
index efa57277d..10c661312 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/I2C_TwoBoards_ComIT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/I2C_TwoBoards_ComIT.ioc
@@ -32,8 +32,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=I2C_ADDRESS,0x30F
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -47,10 +47,19 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PB8.GPIOParameters=GPIO_Pu
+PB8.GPIO_Pu=GPIO_PULLUP
PB8.Mode=I2C
PB8.Signal=I2C1_SCL
+PB9.GPIOParameters=GPIO_Pu
+PB9.GPIO_Pu=GPIO_PULLUP
PB9.Mode=I2C
PB9.Signal=I2C1_SDA
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/main.h
index 06a0372bd..7db29d9e4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -72,5 +71,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_hal_conf.h
index 2324ed02b..fd85e83a7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_it.h
index 5d5a2f997..53e07fd42 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void I2C1_ER_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/main.c
index 013c49ca6..1302d066c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -57,6 +56,7 @@ uint8_t aRxBuffer[RXBUFFERSIZE];
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_I2C1_Init(void);
/* USER CODE BEGIN PFP */
@@ -101,6 +101,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -272,7 +275,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -310,12 +312,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_I2C1;
- PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -509,5 +521,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_hal_msp.c
index b741515fd..3f24df0ea 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -83,6 +82,7 @@ void HAL_MspInit(void)
void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hi2c->Instance==I2C1)
{
/* USER CODE BEGIN I2C1_MspInit 0 */
@@ -93,6 +93,14 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
RCC_PeriphCLKInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_SYSCLK;
HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphCLKInitStruct);
/* USER CODE END I2C1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
+ PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
__HAL_RCC_GPIOB_CLK_ENABLE();
/**I2C1 GPIO Configuration
@@ -157,5 +165,3 @@ void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_it.c
index e60ba26c0..8652235b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -173,4 +172,3 @@ void I2C1_ER_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/readme.txt b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/readme.txt
index 7db9d3367..6220f3f41 100644
--- a/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/I2C/I2C_TwoBoards_ComIT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the I2C Two Boards Communication IT example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/IWDG_WindowMode.ioc b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/IWDG_WindowMode.ioc
index f9bd1074b..120ecf5e5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/IWDG_WindowMode.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/IWDG_WindowMode.ioc
@@ -21,8 +21,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -34,6 +34,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/main.h
index c9576e944..1fe456228 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_hal_conf.h
index 7638a8771..7f17b0ab2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_it.h
index e4943cc41..0106719c4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/main.c
index 7bde990a2..f64149d06 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -58,6 +57,7 @@ uint32_t WaitingDelay = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_IWDG_Init(void);
/* USER CODE BEGIN PFP */
@@ -89,6 +89,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED2 and LED3 */
BSP_LED_Init(LED2);
@@ -155,7 +158,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -195,11 +197,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -291,5 +304,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_hal_msp.c
index e16fa9915..5a6bf1134 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ void HAL_MspInit(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_it.c
index 2344d24d6..10f8b26b5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -212,4 +211,3 @@ void EXTI0_IRQHandler(void)
HAL_GPIO_EXTI_IRQHandler(BUTTON_SW1_PIN);
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/readme.txt b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/readme.txt
index b31077707..2d9033997 100644
--- a/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/IWDG/IWDG_WindowMode/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the IWDG Reset with window mode.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/main.h
index 5866ba224..1efc450fc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -71,5 +70,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_hal_conf.h
index 8a67fd5c2..6fc86867f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_it.h
index a4961e504..d70cc3fa6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/LPTIM_PWMExternalClock.ioc b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/LPTIM_PWMExternalClock.ioc
index 33c9ffbe6..713974f09 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/LPTIM_PWMExternalClock.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/LPTIM_PWMExternalClock.ioc
@@ -23,8 +23,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -44,6 +44,11 @@ PB2.Signal=LPTIM1_OUT
PB5.Locked=true
PB5.Mode=Counts_external_clock_standalone_1X_occur1
PB5.Signal=LPTIM1_IN1
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/main.c
index 6872047a0..29064fbe2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@ LPTIM_HandleTypeDef hlptim1;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_LPTIM1_Init(void);
/* USER CODE BEGIN PFP */
@@ -94,6 +94,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED3 */
@@ -154,7 +157,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -192,12 +194,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_LPTIM1;
- PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_PCLK1;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -296,5 +308,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_hal_msp.c
index 29789d5fc..c770a21b9 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,11 +83,21 @@ void HAL_MspInit(void)
void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hlptim->Instance==LPTIM1)
{
/* USER CODE BEGIN LPTIM1_MspInit 0 */
/* USER CODE END LPTIM1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LPTIM1;
+ PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_LPTIM1_CLK_ENABLE();
@@ -151,4 +160,3 @@ void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef* hlptim)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_it.c
index 2ed3fde7d..e5594af0a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file LPTIM/LPTIM_PWMExternalClock/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -213,4 +212,3 @@ void EXTI0_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/readme.txt b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/readme.txt
index ac6a086bc..09f958f0a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PWMExternalClock/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the LPTIM PWM with an External clock example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/main.h
index c86f4b653..9a5ae11c2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_hal_conf.h
index 8a67fd5c2..6fc86867f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_it.h
index 2e7c1babc..e70c6d9ea 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void LPTIM1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/LPTIM_PulseCounter.ioc b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/LPTIM_PulseCounter.ioc
index 389340ba1..fbb5b1e6a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/LPTIM_PulseCounter.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/LPTIM_PulseCounter.ioc
@@ -21,8 +21,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -38,6 +38,11 @@ NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
PB5.Locked=true
PB5.Mode=Counts_external_clock_with_synchro_01_occur1
PB5.Signal=LPTIM1_IN1
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/main.c
index 80b3ca8f5..a86530324 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ LPTIM_HandleTypeDef hlptim1;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_LPTIM1_Init(void);
/* USER CODE BEGIN PFP */
@@ -93,6 +93,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED2 & LED3 */
@@ -143,7 +146,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -181,12 +183,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_LPTIM1;
- PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_PCLK1;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -297,4 +309,3 @@ void assert_failed(uint8_t *file, uint32_t line)
}
#endif /* USE_FULL_ASSERT */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_hal_msp.c
index edc9963ec..6b7e04694 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,6 +83,7 @@ void HAL_MspInit(void)
void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hlptim->Instance==LPTIM1)
{
/* USER CODE BEGIN LPTIM1_MspInit 0 */
@@ -112,6 +112,15 @@ void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim)
__HAL_RCC_LPTIM1_RELEASE_RESET();
/* USER CODE END LPTIM1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LPTIM1;
+ PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_LPTIM1_CLK_ENABLE();
@@ -193,4 +202,3 @@ void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef* hlptim)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_it.c
index c8811b104..ce4f64cb4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file LPTIM/LPTIM_PulseCounter/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -217,4 +216,4 @@ void LPTIM1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/readme.txt b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/readme.txt
index 6bea2fce8..4e84ead0f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/LPTIM/LPTIM_PulseCounter/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the LPTIM Pulse counter example
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/SigGen.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/SigGen.h
index 8309ef30d..8df540ad6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/SigGen.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/SigGen.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -47,5 +46,3 @@ extern const uint32_t SigGen_S_len;
#endif
#endif /* __SIGGEN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/main.h
index c049a577d..665b7e93e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -71,5 +70,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h
index de2fff994..68e2b9a4e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,5 +49,3 @@ extern const uint32_t prime256v1_Seed_len;
#endif
#endif /* __PRIME256V1_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_hal_conf.h
index d8fec0cc2..4115d1eec 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h
index 34ee8556a..8273ad59b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc
index c1192f013..1006eda2e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -29,6 +29,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/SigGen.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/SigGen.c
index 17e05c36c..48dadb33d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/SigGen.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/SigGen.c
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,5 +92,3 @@ const uint8_t SigGen_S[] = {
0xef, 0x97, 0xb2, 0x18, 0xe9, 0x6f, 0x17, 0x5a, 0x3c, 0xcd, 0xda, 0x2a, 0xcc, 0x05, 0x89, 0x03
};
const uint32_t SigGen_S_len = 32;
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/main.c
index e5abc86c1..20109be35 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -53,6 +52,7 @@ __IO uint32_t operationComplete = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_PKA_Init(void);
/* USER CODE BEGIN PFP */
@@ -94,6 +94,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED2 */
BSP_LED_Init(LED2);
@@ -178,7 +181,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -216,11 +218,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -299,5 +312,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/prime256v1.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/prime256v1.c
index ce2dc5e3c..c3c2dd671 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/prime256v1.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/prime256v1.c
@@ -5,17 +5,16 @@
* @brief This file contains reference buffers containing the description of
* nist P-256 (ECDSA-256) published by NIST in Federal Information
* Processing Standards Publication FIPS PUB 186-4.
- * Additionnal buffer are provided to be used with PKA like abs(A)
+ * Additional buffer are provided to be used with PKA like abs(A)
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -92,5 +91,3 @@ const uint8_t prime256v1_Seed[] = {
0xb7, 0x81, 0x9f, 0x7e, 0x90
};
const uint32_t prime256v1_Seed_len = 20;
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_hal_msp.c
index a87ebeab0..a333a5cae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -124,5 +123,3 @@ void HAL_PKA_MspDeInit(PKA_HandleTypeDef* hpka)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c
index 17aac81a1..c06e07fdc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -204,4 +203,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/readme.txt b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/readme.txt
index 17e37d58e..75e980eef 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Sign/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ECDSA signature example
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -28,8 +28,8 @@ For this example, a test vector have been extracted from National Institute of S
This reference files can be found under:
"http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3ecdsatestvectors.zip (SigGen.txt)"
-This test vector has been choosen to demonstrate how to sign a message. The inputs and outputs definitions are included
-in SigGen.c. The output signature is composed of two parts called "R" and "S". You can refer to this file for more informations.
+This test vector has been chosen to demonstrate how to sign a message. The inputs and outputs definitions are included
+in SigGen.c. The output signature is composed of two parts called "R" and "S". You can refer to this file for more information.
The selected curve for this example is P-256 (ECDSA-256) published by NIST in
Federal Information Processing Standards Publication FIPS PUB 186-4. The description
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/SigVer.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/SigVer.h
index c83985dd5..cebf00d75 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/SigVer.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/SigVer.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -45,5 +44,3 @@ extern const uint32_t SigVer_Result;
#endif
#endif /* __SIGVER_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/main.h
index 6b3df6eca..dc0737a38 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/prime256v1.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/prime256v1.h
index 44394c803..ca1e1f507 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/prime256v1.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/prime256v1.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,5 +49,3 @@ extern const uint32_t prime256v1_Seed_len;
#endif
#endif /* __PRIME256V1_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_hal_conf.h
index d8fec0cc2..4115d1eec 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_it.h
index bf9a57808..0129a7ed4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void PKA_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/PKA_ECDSA_Verify_IT.ioc b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/PKA_ECDSA_Verify_IT.ioc
index 0f06b8a8f..965e03580 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/PKA_ECDSA_Verify_IT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/PKA_ECDSA_Verify_IT.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -30,6 +30,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/SigVer.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/SigVer.c
index 0da224a1a..1b640e7dc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/SigVer.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/SigVer.c
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -90,5 +89,3 @@ const uint8_t SigVer_S[] = {
const uint32_t SigVer_S_len = 32;
const uint32_t SigVer_Result = SET;
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/main.c
index 67c2ec964..de1e854d1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@ __IO uint32_t operationComplete = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_PKA_Init(void);
/* USER CODE BEGIN PFP */
@@ -93,6 +93,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED2 */
BSP_LED_Init(LED2);
@@ -187,7 +190,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -225,11 +227,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -326,5 +339,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/prime256v1.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/prime256v1.c
index 90f329ea7..5b92870a6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/prime256v1.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/prime256v1.c
@@ -5,17 +5,16 @@
* @brief This file contains reference buffers containing the description of
* nist P-256 (ECDSA-256) published by NIST in Federal Information
* Processing Standards Publication FIPS PUB 186-4.
- * Additionnal buffer are provided to be used with PKA like abs(A)
+ * Additional buffer are provided to be used with PKA like abs(A)
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -92,5 +91,3 @@ const uint8_t prime256v1_Seed[] = {
0xb7, 0x81, 0x9f, 0x7e, 0x90
};
const uint32_t prime256v1_Seed_len = 20;
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_hal_msp.c
index 144882c1f..d98e89b8a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -130,5 +129,3 @@ void HAL_PKA_MspDeInit(PKA_HandleTypeDef* hpka)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_it.c
index 5f94f4f1b..1d4360e13 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -217,4 +216,3 @@ void PKA_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/readme.txt b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/readme.txt
index 5158181e4..f1349edcb 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/PKA/PKA_ECDSA_Verify_IT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ECDSA verification example
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -28,10 +28,10 @@ For this example, a test vector have been extracted from National Institute of S
This reference files can be found under:
"http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3ecdsatestvectors.zip (ZIP SigGen.rsp)"
-This test vector has been choosen to demonstrate the behavior in a case where the input signature
+This test vector has been chosen to demonstrate the behavior in a case where the input signature
is valid. A second input is provided where one element of the hash message has been modified to
demonstrate the behavior in a case where the signature is invalid. Their definitions are included
-in SigVer.c. You can refer to this file for more informations.
+in SigVer.c. You can refer to this file for more information.
The selected curve for this example is P-256 (ECDSA-256) published by NIST in
Federal Information Processing Standards Publication FIPS PUB 186-4. The description
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/main.h
index 6ff18a7a2..1e025c677 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_it.h
index b2bd5454e..750dbb9da 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/PWR_LPRUN.ioc b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/PWR_LPRUN.ioc
index 5162b081e..19ce1a09d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/PWR_LPRUN.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/PWR_LPRUN.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/main.c
index 183f5cb03..7cefbfc88 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ static uint32_t TimingDelay;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Decrease(void);
@@ -85,6 +85,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -151,7 +154,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -189,11 +191,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -299,5 +312,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_hal_msp.c
index 9a8c656b2..438a52158 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_it.c
index 13b06458e..dd189fd2c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -204,4 +203,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/readme.txt b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/readme.txt
index 5fac97e02..5d5a69f22 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPRUN/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the Low Power Run Mode example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/main.h
index ec58fbb67..50752b6b1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_it.h
index 4715e7544..632505ede 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/PWR_LPSLEEP.ioc b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/PWR_LPSLEEP.ioc
index 27b776891..99b68aa9e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/PWR_LPSLEEP.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/PWR_LPSLEEP.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/main.c
index a7e900ea4..ae4cf9e4d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ static uint32_t TimingDelay;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Decrease(void);
@@ -83,6 +83,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -161,7 +164,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -199,11 +201,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -310,5 +323,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_hal_msp.c
index 02ae5b10a..5e580d215 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_hal_msp.c
@@ -3,19 +3,16 @@
******************************************************************************
* @file PWR/PWR_LPSLEEPS/Src/stm32wbxx_hal_msp.c
* @author MCD Application Team
- * @version $VERSION$
- * @date $DATE$
* @brief HAL MSP module.
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -79,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_it.c
index 92a626bf3..7871959ea 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -213,4 +212,3 @@ void EXTI0_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/readme.txt b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/readme.txt
index 394d2a7a9..d4f684435 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_LPSLEEP/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the Low Power Sleep Mode example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/main.h
index 0c75708e2..c3f032691 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_it.h
index 4b6b81db9..577b23557 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void PVD_PVM_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/PWR_PVD.ioc b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/PWR_PVD.ioc
index fa9c6c5ca..613398886 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/PWR_PVD.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/PWR_PVD.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/main.c
index 3ffefe40c..b12cab5ea 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -53,6 +52,7 @@ __IO uint32_t uwToggleOn = 1;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
static void PVD_Config(void);
@@ -86,6 +86,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -125,7 +128,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -163,11 +165,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -186,7 +199,7 @@ void SystemClock_Config(void)
static void PVD_Config(void)
{
/*##-1- Enable Power Clock #################################################*/
- /* Note: On this STM32 serie, Power Clock is enabled automatically */
+ /* Note: On this STM32 series, Power Clock is enabled automatically */
/*##-2- Configure the NVIC for PVD #########################################*/
HAL_NVIC_SetPriority(PVD_PVM_IRQn, 0, 0);
@@ -255,5 +268,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_hal_msp.c
index c9282fd07..626155869 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_it.c
index 2b7051f00..2550a39c7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -212,4 +211,3 @@ void PVD_PVM_IRQHandler(void)
HAL_PWREx_PVD_PVM_IRQHandler();
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/readme.txt b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/readme.txt
index 0cfdff521..823a0cde7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_PVD/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PWR Programmable Voltage Detector (PVD) example
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/main.h
index 86ad00e71..4ab3da6c6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_hal_conf.h
index 4908f17fc..28588fc88 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_it.h
index 5ef1cec09..461f9a6e9 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void RTC_WKUP_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/PWR_STANDBY_RTC.ioc b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/PWR_STANDBY_RTC.ioc
index cff45f4f2..fbec69963 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/PWR_STANDBY_RTC.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/PWR_STANDBY_RTC.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -29,6 +29,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
@@ -62,6 +67,7 @@ RCC.APB1TimFreq_Value=64000000
RCC.APB2Freq_Value=64000000
RCC.APB2TimFreq_Value=64000000
RCC.APB3Freq_Value=16000000
+RCC.CodegenConfigPeriph=false
RCC.Cortex2Freq_Value=32000000
RCC.CortexFreq_Value=64000000
RCC.FCLK2Freq_Value=32000000
@@ -74,7 +80,7 @@ RCC.HCLKRFFreq_Value=16000000
RCC.HSE_VALUE=8000000
RCC.HSI_VALUE=16000000
RCC.I2C1Freq_Value=64000000
-RCC.IPParameters=AHB2CLKDivider,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SMPS1Freq_Value,SMPSFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
+RCC.IPParameters=AHB2CLKDivider,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CodegenConfigPeriph,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SMPS1Freq_Value,SMPSFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
RCC.LPTIM1Freq_Value=64000000
RCC.LPTIM2Freq_Value=64000000
RCC.LPUART1Freq_Value=64000000
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/main.c
index ffea0148c..11c1603fe 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/main.c
@@ -1,7 +1,6 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
-
* @file PWR/PWR_STANDBY_RTC/Src/main.c
* @author MCD Application Team
* @brief This sample code shows how to use STM32WBxx PWR HAL API to enter
@@ -9,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -204,19 +202,14 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI1
- |RCC_OSCILLATORTYPE_MSI;
- RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI;
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
- RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;
- RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI;
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1;
@@ -244,19 +237,6 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
- */
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RTC;
- PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
- PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
- PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN Smps */
-
- /* USER CODE END Smps */
}
/**
@@ -354,5 +334,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_hal_msp.c
index 1fce5a1c9..2f3e2762a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -154,5 +153,3 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_it.c
index f86b33710..d4fd29e41 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -213,4 +212,3 @@ void RTC_WKUP_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/readme.txt b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/readme.txt
index 406c17281..ab83e2c44 100644
--- a/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/PWR/PWR_STANDBY_RTC/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PWR Standby RTC example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/main.h
index 032a4114c..bdb25f7a2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_it.h
index 226077864..f1f6792bc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -60,5 +59,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/RCC_ClockConfig.ioc b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/RCC_ClockConfig.ioc
index 38b7158e4..4014dcc80 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/RCC_ClockConfig.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/RCC_ClockConfig.ioc
@@ -15,8 +15,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -33,6 +33,11 @@ PA8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA8.Locked=true
PA8.Mode=Clock-out
PA8.Signal=RCC_MCO
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/main.c
index 38362d567..9cabfa9b8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@ __IO uint32_t ClockSourceStatus = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
@@ -87,6 +87,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -136,7 +139,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -174,11 +176,23 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+ HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -186,7 +200,6 @@ void SystemClock_Config(void)
/* USER CODE BEGIN Smps */
/* USER CODE END Smps */
- HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1);
}
/**
@@ -519,5 +532,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_hal_msp.c
index 26322c832..1dc8f62e2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_it.c
index 2250e767a..2eab6c9b9 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -126,4 +125,3 @@ void EXTI0_IRQHandler(void)
HAL_GPIO_EXTI_IRQHandler(BUTTON_SW1_PIN);
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/readme.txt b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/readme.txt
index dc3d4ab51..afd3a3b59 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/RCC/RCC_ClockConfig/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the RCC Clock Config example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/main.h
index fc4caf823..08bbf07b0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_hal_conf.h
index 77871b154..98cf0f8b2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_it.h
index 86f592a75..573a0c591 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -62,5 +61,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/RNG_MultiRNG.ioc b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/RNG_MultiRNG.ioc
index ad230aaaa..819ce5a36 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/RNG_MultiRNG.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/RNG_MultiRNG.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -29,6 +29,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
@@ -62,6 +67,7 @@ RCC.APB1TimFreq_Value=64000000
RCC.APB2Freq_Value=64000000
RCC.APB2TimFreq_Value=64000000
RCC.APB3Freq_Value=16000000
+RCC.CodegenConfigPeriph=false
RCC.Cortex2Freq_Value=32000000
RCC.CortexFreq_Value=64000000
RCC.FCLK2Freq_Value=32000000
@@ -74,7 +80,7 @@ RCC.HCLKRFFreq_Value=16000000
RCC.HSE_VALUE=8000000
RCC.HSI_VALUE=16000000
RCC.I2C1Freq_Value=64000000
-RCC.IPParameters=AHB2CLKDivider,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SMPS1Freq_Value,SMPSFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
+RCC.IPParameters=AHB2CLKDivider,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CodegenConfigPeriph,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SMPS1Freq_Value,SMPSFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
RCC.LPTIM1Freq_Value=64000000
RCC.LPTIM2Freq_Value=64000000
RCC.LPUART1Freq_Value=64000000
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/main.c
index e081e4656..aaf8574c0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -153,19 +152,14 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI1
- |RCC_OSCILLATORTYPE_MSI;
- RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI;
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
- RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;
- RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI;
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1;
@@ -193,19 +187,6 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
- */
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RNG;
- PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_LSI;
- PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
- PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN Smps */
-
- /* USER CODE END Smps */
}
/**
@@ -286,5 +267,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_hal_msp.c
index 2801b8eee..47454b0b4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -134,5 +133,3 @@ void HAL_RNG_MspDeInit(RNG_HandleTypeDef* hrng)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_it.c
index 131859fd9..29851a34b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -126,4 +125,3 @@ void EXTI0_IRQHandler(void)
HAL_GPIO_EXTI_IRQHandler(BUTTON_SW1_PIN);
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/readme.txt b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/readme.txt
index 1a0d5c098..57d24507f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/RNG/RNG_MultiRNG/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of multiple random numbers generation example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/main.h
index 53d1f375d..e1b0d0508 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -82,5 +81,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_hal_conf.h
index 4908f17fc..28588fc88 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_it.h
index 2dc170054..abedd54fa 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void RTC_Alarm_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/RTC_Alarm.ioc b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/RTC_Alarm.ioc
index c567d6905..2eb9a16e6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/RTC_Alarm.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/RTC_Alarm.ioc
@@ -18,8 +18,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -32,6 +32,11 @@ NVIC.RTC_Alarm_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
@@ -65,6 +70,7 @@ RCC.APB1TimFreq_Value=64000000
RCC.APB2Freq_Value=64000000
RCC.APB2TimFreq_Value=64000000
RCC.APB3Freq_Value=16000000
+RCC.CodegenConfigPeriph=false
RCC.Cortex2Freq_Value=32000000
RCC.CortexFreq_Value=64000000
RCC.FCLK2Freq_Value=32000000
@@ -77,7 +83,7 @@ RCC.HCLKRFFreq_Value=16000000
RCC.HSE_VALUE=8000000
RCC.HSI_VALUE=16000000
RCC.I2C1Freq_Value=64000000
-RCC.IPParameters=AHB2CLKDivider,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SMPS1Freq_Value,SMPSFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
+RCC.IPParameters=AHB2CLKDivider,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CodegenConfigPeriph,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SMPS1Freq_Value,SMPSFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
RCC.LPTIM1Freq_Value=64000000
RCC.LPTIM2Freq_Value=64000000
RCC.LPUART1Freq_Value=64000000
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/main.c
index 39389ea14..af45827f2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -128,19 +127,14 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI1
- |RCC_OSCILLATORTYPE_MSI;
- RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI;
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
- RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;
- RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI;
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1;
@@ -168,19 +162,6 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
- */
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RTC;
- PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
- PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
- PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN Smps */
-
- /* USER CODE END Smps */
}
/**
@@ -332,5 +313,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_hal_msp.c
index 3ce6b81c7..f59ae3ada 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -192,5 +191,3 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_it.c
index be88d482f..30f7c8c13 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -218,4 +217,3 @@ void RTC_Alarm_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/readme.txt b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/readme.txt
index ac764a1f9..b60a95dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Alarm/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the RTC Alarm example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/main.h
index d736b84ae..02f9441e4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_hal_conf.h
index 4908f17fc..28588fc88 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_it.h
index c1eeffa9b..9f6111610 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Inc/stm32wbxx_it.h
@@ -7,15 +7,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -67,5 +66,3 @@ void TAMP_STAMP_LSECSS_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/RTC_Tamper.ioc b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/RTC_Tamper.ioc
index 1031deb32..2e7802be9 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/RTC_Tamper.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/RTC_Tamper.ioc
@@ -19,8 +19,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -39,6 +39,11 @@ PC14-OSC32_IN.Mode=LSE-External-Oscillator
PC14-OSC32_IN.Signal=RCC_OSC32_IN
PC15-OSC32_OUT.Mode=LSE-External-Oscillator
PC15-OSC32_OUT.Signal=RCC_OSC32_OUT
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/main.c
index b6fa76d8e..991b2d390 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@ __IO FlagStatus TamperStatus;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_RTC_Init(void);
/* USER CODE BEGIN PFP */
@@ -98,6 +98,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -162,7 +165,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Configure LSE Drive Capability
*/
@@ -206,12 +208,25 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+ /** Enable MSI Auto calibration
+ */
+ HAL_RCCEx_EnableMSIPLLMode();
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RTC;
- PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -219,9 +234,6 @@ void SystemClock_Config(void)
/* USER CODE BEGIN Smps */
/* USER CODE END Smps */
- /** Enable MSI Auto calibration
- */
- HAL_RCCEx_EnableMSIPLLMode();
}
/**
@@ -344,5 +356,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_hal_msp.c
index 0a4978794..db006212a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -82,11 +81,21 @@ void HAL_MspInit(void)
*/
void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(hrtc->Instance==RTC)
{
/* USER CODE BEGIN RTC_MspInit 0 */
/* USER CODE END RTC_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
+ PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_RTC_ENABLE();
__HAL_RCC_RTCAPB_CLK_ENABLE();
@@ -129,5 +138,3 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_it.c
index 7d61707be..bfb4555ac 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -217,4 +216,3 @@ void TAMP_STAMP_LSECSS_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/readme.txt b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/readme.txt
index d97c8f510..457e41a18 100644
--- a/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/RTC/RTC_Tamper/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the RTC Tamper example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/main.h
index b73bdf654..ef8aea8e2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_hal_conf.h
index 2339f9595..396a1c948 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_it.h
index 9948ece14..549c2c5a3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void DMA1_Channel3_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/SPI_FullDuplex_ComDMA_Master.ioc b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/SPI_FullDuplex_ComDMA_Master.ioc
index 36fce6a07..fbfd2577d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/SPI_FullDuplex_ComDMA_Master.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/SPI_FullDuplex_ComDMA_Master.ioc
@@ -56,8 +56,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DMA1_Channel2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.DMA1_Channel3_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -79,6 +79,11 @@ PA7.GPIOParameters=GPIO_PuPd
PA7.GPIO_PuPd=GPIO_PULLDOWN
PA7.Mode=Full_Duplex_Master
PA7.Signal=SPI1_MOSI
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/main.c
index c9903de20..a75e0b4eb 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,6 +67,7 @@ __IO uint32_t varState = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_SPI1_Init(void);
@@ -111,6 +111,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -195,7 +198,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -233,11 +235,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -407,5 +420,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_hal_msp.c
index 85ef7844d..e1936e6b4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -195,5 +194,3 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_it.c
index a8b44cff6..ad9bb3295 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -174,4 +173,3 @@ void DMA1_Channel3_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/readme.txt b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/readme.txt
index 2ff7659c9..2ce4b5b48 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Master/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the SPI Full Duplex DMA example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/main.h
index c06215c01..83fa3056a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_hal_conf.h
index 2339f9595..396a1c948 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_it.h
index 496ad1385..fc230d45f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,5 +63,3 @@ void DMA1_Channel3_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/SPI_FullDuplex_ComDMA_Slave.ioc b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/SPI_FullDuplex_ComDMA_Slave.ioc
index 168389fff..2dbb51d71 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/SPI_FullDuplex_ComDMA_Slave.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/SPI_FullDuplex_ComDMA_Slave.ioc
@@ -56,8 +56,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DMA1_Channel2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.DMA1_Channel3_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -79,6 +79,11 @@ PA7.GPIOParameters=GPIO_PuPd
PA7.GPIO_PuPd=GPIO_PULLDOWN
PA7.Mode=Full_Duplex_Slave
PA7.Signal=SPI1_MOSI
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/main.c
index 2c178af93..554065852 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,6 +66,7 @@ __IO uint32_t wTransferState = TRANSFER_WAIT;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_SPI1_Init(void);
@@ -110,6 +110,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -181,7 +184,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -219,11 +221,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -392,5 +405,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_hal_msp.c
index 05b42a3a8..9885bbed0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -195,5 +194,3 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_it.c
index 26ce64721..cbc48801f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -174,4 +173,3 @@ void DMA1_Channel3_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/readme.txt b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/readme.txt
index 752536fff..11363fb52 100644
--- a/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/SPI/SPI_FullDuplex_ComDMA_Slave/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the SPI Full Duplex DMA example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/main.h
index 385e3342c..c436276ca 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,5 +75,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_hal_conf.h
index 037eb1704..740d9ac81 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_it.h
index 6d6a1f2da..ffb120259 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -60,5 +59,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/main.c
index 6e035af5d..8a09151be 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ TIM_HandleTypeDef htim2;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM2_Init(void);
/* USER CODE BEGIN PFP */
@@ -93,6 +93,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED2, LED3 */
@@ -157,7 +160,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -195,11 +197,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -327,5 +340,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_hal_msp.c
index 9a7f98d3d..6c4e931b1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -154,4 +153,3 @@ void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef* htim_oc)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_it.c
index 77152999d..e214f7338 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file TIM/TIM_OCActive/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -117,4 +116,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/TIM_OCActive.ioc b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/TIM_OCActive.ioc
index 6d85c9898..9654727ac 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/TIM_OCActive.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/TIM_OCActive.ioc
@@ -19,8 +19,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -48,6 +48,11 @@ PA3.GPIOParameters=GPIO_Speed,GPIO_PuPd
PA3.GPIO_PuPd=GPIO_PULLUP
PA3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA3.Signal=S_TIM2_CH4
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/readme.txt b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/readme.txt
index 1ff930ab3..e5b547065 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_OCActive/readme.txt
@@ -9,12 +9,12 @@
* delayed signals.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/main.h
index b6be344f7..8c8bbb178 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h
index 037eb1704..740d9ac81 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h
index 2a01e7758..409329beb 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -63,5 +62,3 @@ void TIM2_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/main.c
index 233ec6a6f..9b1a3a73f 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -56,6 +55,7 @@ __IO uint32_t uwFrequency = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM2_Init(void);
/* USER CODE BEGIN PFP */
@@ -98,6 +98,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED3 */
@@ -160,7 +163,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -198,11 +200,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -362,5 +375,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c
index 022962439..9010e1d75 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -147,4 +146,3 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_it.c
index bcf3c81e4..a81c129c5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file TIM/TIM_PWMInput/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,4 +160,3 @@ void TIM2_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/TIM_PWMInput.ioc b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/TIM_PWMInput.ioc
index 3eb0ac252..4a6493819 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/TIM_PWMInput.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/TIM_PWMInput.ioc
@@ -17,8 +17,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -32,6 +32,11 @@ NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
PA1.Signal=S_TIM2_CH2
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/readme.txt b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/readme.txt
index b0ce52b4b..41d7dcc4a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMInput/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the TIM PWM_Input example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/main.h
index bd0fca873..265ecbbbd 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -116,5 +115,3 @@ TIM2 Configuration: generate 4 PWM signals with 4 different duty cycles.
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_hal_conf.h
index 037eb1704..740d9ac81 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_it.h
index 451b794d6..cafdb5fac 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -62,5 +61,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/main.c
index c5208dba6..1817a8d7a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ TIM_HandleTypeDef htim2;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM2_Init(void);
/* USER CODE BEGIN PFP */
@@ -94,6 +94,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED3 */
@@ -154,7 +157,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -192,11 +194,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -323,5 +336,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_hal_msp.c
index c8ccadc59..a27c827b5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_hal_msp.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -154,4 +153,3 @@ void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_it.c
index 122b8a1b2..ac4a9add4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file TIM/TIM_PWMOutput/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -145,4 +144,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/TIM_PWMOutput.ioc b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/TIM_PWMOutput.ioc
index d70c00dfa..3f3d7ca7c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/TIM_PWMOutput.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/TIM_PWMOutput.ioc
@@ -19,8 +19,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -48,6 +48,11 @@ PA3.GPIOParameters=GPIO_Speed,GPIO_PuPd
PA3.GPIO_PuPd=GPIO_PULLUP
PA3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA3.Signal=S_TIM2_CH4
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/readme.txt b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/readme.txt
index 997af5d45..f85e367a5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/TIM/TIM_PWMOutput/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PWM signals generation using TIM2
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/main.h
index 2fb4cf670..eedde38d8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -73,5 +72,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_hal_conf.h
index 86c72980d..c6760a8b3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_it.h
index 770422b0d..c2b33db53 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +64,3 @@ void USART1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/main.c
index 763b9b453..d39030405 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -59,6 +58,7 @@ uint8_t aRxBuffer[RXBUFFERSIZE];
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_USART1_UART_Init(void);
@@ -102,6 +102,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED2 and LED3 */
BSP_LED_Init(LED2);
@@ -196,7 +199,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -234,12 +236,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_USART1;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -404,5 +416,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_hal_msp.c
index 126708d13..90a78a4e1 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -86,11 +85,21 @@ void HAL_MspInit(void)
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -190,5 +199,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_it.c
index c3348a74b..3b2849496 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -190,4 +189,3 @@ void USART1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/UART_HyperTerminal_DMA.ioc b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/UART_HyperTerminal_DMA.ioc
index 7a6572b6b..7bcdbfcf2 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/UART_HyperTerminal_DMA.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/UART_HyperTerminal_DMA.ioc
@@ -55,8 +55,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.DMA1_Channel2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -79,6 +79,11 @@ PA9.GPIOParameters=GPIO_PuPd
PA9.GPIO_PuPd=GPIO_PULLUP
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/readme.txt b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/readme.txt
index 2058ffa5e..70c29bfec 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_DMA/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the UART Hyperterminal example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/main.h
index 5de029ac7..d8b163f12 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -73,5 +72,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h
index 86c72980d..c6760a8b3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h
index ce95c0687..db3a90430 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -61,5 +60,3 @@ void USART1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/main.c
index f0688b0b1..4c6157b9a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -57,6 +56,7 @@ uint8_t aRxBuffer[RXBUFFERSIZE];
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
/* USER CODE BEGIN PFP */
@@ -98,6 +98,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure leds */
/* Configure LED2 and LED3 */
@@ -194,7 +197,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -232,12 +234,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_USART1;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -384,5 +396,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c
index ef6b9c66f..45d4ab97c 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -83,11 +82,21 @@ void HAL_MspInit(void)
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -150,5 +159,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c
index c1b6bc0ea..00de3c8c0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -132,4 +131,3 @@ void USART1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc
index 06614e96e..48851bb13 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc
@@ -17,8 +17,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -39,6 +39,11 @@ PA9.GPIOParameters=GPIO_PuPd
PA9.GPIO_PuPd=GPIO_PULLUP
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/readme.txt b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/readme.txt
index 646a30f61..98eb39c99 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_HyperTerminal_IT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the UART Hyperterminal example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/main.h
index 3465d0033..1a3b9e05e 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_hal_conf.h
index 86c72980d..c6760a8b3 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_it.h
index 59c23db84..aea60a65a 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -62,5 +61,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/main.c
index a16e6d5cd..6657fac15 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -49,6 +48,7 @@ UART_HandleTypeDef huart1;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
/* USER CODE BEGIN PFP */
@@ -98,6 +98,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Initialize BSP Led for LED3 */
BSP_LED_Init(LED3);
@@ -133,7 +136,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -171,12 +173,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_USART1;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -299,5 +311,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_hal_msp.c
index 82dd053cb..684809742 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -83,11 +82,21 @@ void HAL_MspInit(void)
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -143,5 +152,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_it.c
index 217b9a730..92f7fe141 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -146,4 +145,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/UART_Printf.ioc b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/UART_Printf.ioc
index 1dc5d9f78..e3b3f7a9b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/UART_Printf.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/UART_Printf.ioc
@@ -17,8 +17,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.ForceEnableDMAVector=true
@@ -38,6 +38,11 @@ PA9.GPIOParameters=GPIO_PuPd
PA9.GPIO_PuPd=GPIO_PULLUP
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/readme.txt b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/readme.txt
index 056c0a2f7..28d46051d 100644
--- a/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/UART/UART_Printf/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the UART Printf example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/main.h
index c7794f4e9..f15509dd4 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_hal_conf.h
index 004004144..1bfe9ca12 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_it.h
index 6fa6bfb01..a627c40d8 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/main.c b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/main.c
index 1b3924c93..646423a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -55,6 +54,7 @@ uint32_t WwdgStatus = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_WWDG_Init(void);
/* USER CODE BEGIN PFP */
static uint32_t TimeoutCalculation(uint32_t timevalue);
@@ -98,6 +98,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED2 and LED1 */
BSP_LED_Init(LED2);
@@ -164,7 +167,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -202,11 +204,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -319,5 +332,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_hal_msp.c
index a6955784e..2c09ff7b7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -97,5 +96,3 @@ void HAL_WWDG_MspInit(WWDG_HandleTypeDef* hwwdg)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_it.c
index f3a38591c..f836dfee7 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -219,4 +218,3 @@ void EXTI0_IRQHandler(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/WWDG_Example.ioc b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/WWDG_Example.ioc
index 81fe65291..f82002b10 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/WWDG_Example.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/WWDG_Example.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -29,6 +29,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/readme.txt b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/readme.txt
index 32cb2030f..fc3e1c0e5 100644
--- a/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples/WWDG/WWDG_Example/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the Window Watchdog example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/ADC_MultiChannelSingleConversion_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/ADC_MultiChannelSingleConversion_Init.ioc
index 361930799..c0bf536ec 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/ADC_MultiChannelSingleConversion_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/ADC_MultiChannelSingleConversion_Init.ioc
@@ -59,8 +59,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.ADC1_IRQn=true\:1\:0\:true\:false\:false\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:2\:0\:true\:false\:false\:false\:true
@@ -79,6 +79,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/main.h
index 6fe93431e..6b19ecbe0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -112,5 +111,3 @@ void AdcGrpRegularOverrunError_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32wbxx_it.h
index 2496f3a8c..6ca2a202d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void ADC1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/main.c
index 61d3ab4d9..3f325729c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/main.c
@@ -11,13 +11,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -119,6 +118,7 @@ uint32_t ubAdcGrpRegularSequenceConvCount = 0UL; /* Variable set into ADC interr
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_ADC1_Init(void);
@@ -168,6 +168,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -340,7 +343,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetADCClockSource(LL_RCC_ADC_CLKSOURCE_HSI);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -367,6 +377,8 @@ static void MX_ADC1_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetADCClockSource(LL_RCC_ADC_CLKSOURCE_HSI);
+
/* Peripheral clock enable */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_ADC);
@@ -891,5 +903,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/stm32wbxx_it.c
index b78a88248..f89f9929b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -266,4 +265,3 @@ void ADC1_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/readme.txt
index 76565d7ee..27689b469 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_MultiChannelSingleConversion_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ADC_MultiChannelSingleConversion_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/ADC_SingleConversion_TriggerSW_IT_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/ADC_SingleConversion_TriggerSW_IT_Init.ioc
index e8f5a5d4a..232502bde 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/ADC_SingleConversion_TriggerSW_IT_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/ADC_SingleConversion_TriggerSW_IT_Init.ioc
@@ -27,8 +27,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.ADC1_IRQn=true\:0\:0\:false\:false\:false\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -46,6 +46,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/main.h
index 689312a15..8a9ab8f56 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -109,5 +108,3 @@ void AdcGrpRegularOverrunError_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32wbxx_it.h
index 701394bf1..d58303e42 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void ADC1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/main.c
index 861afaeec..c5b80f3ac 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -103,6 +102,7 @@ __IO uint8_t ubAdcGrpRegularUnitaryConvStatus = 2; /* Variable set into ADC inte
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_ADC1_Init(void);
/* USER CODE BEGIN PFP */
@@ -144,6 +144,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -188,7 +191,7 @@ int main(void)
Error_Handler();
}
- /* For this example purpose, wait untill conversion is done */
+ /* For this example purpose, wait until conversion is done */
while (ubAdcGrpRegularUnitaryConvStatus != 1);
/* Reset status variable of ADC group regular unitary conversion */
@@ -273,7 +276,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetADCClockSource(LL_RCC_ADC_CLKSOURCE_HSI);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -300,6 +310,8 @@ static void MX_ADC1_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetADCClockSource(LL_RCC_ADC_CLKSOURCE_HSI);
+
/* Peripheral clock enable */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_ADC);
@@ -685,5 +697,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/stm32wbxx_it.c
index 4a925399e..b56d2e135 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -233,4 +232,3 @@ void ADC1_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/readme.txt
index f56a369af..443ceee8c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_IT_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ADC_SingleConversion_TriggerSW_IT_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/ADC_SingleConversion_TriggerTimer_DMA_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/ADC_SingleConversion_TriggerTimer_DMA_Init.ioc
index bc1c18585..2345e49b7 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/ADC_SingleConversion_TriggerTimer_DMA_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/ADC_SingleConversion_TriggerTimer_DMA_Init.ioc
@@ -51,8 +51,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.ADC1_IRQn=true\:0\:0\:false\:false\:false\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:false\:false\:true
@@ -71,6 +71,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/main.h
index 63641788f..7c5fe1832 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -112,5 +111,3 @@ void AdcGrpRegularOverrunError_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32wbxx_it.h
index 2bafe0807..a34f970dd 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void ADC1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/main.c
index e8b12908a..82b123794 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/main.c
@@ -13,13 +13,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -116,6 +115,7 @@ __IO uint8_t ubDmaTransferStatus = 2U; /* Variable set into DMA interruption cal
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_ADC1_Init(void);
@@ -166,6 +166,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -299,7 +302,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetADCClockSource(LL_RCC_ADC_CLKSOURCE_HSI);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -326,6 +336,8 @@ static void MX_ADC1_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetADCClockSource(LL_RCC_ADC_CLKSOURCE_HSI);
+
/* Peripheral clock enable */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_ADC);
@@ -759,7 +771,7 @@ void AdcDmaTransferComplete_Callback()
/* Note: For debug purpose, if program is halted with a breakpoint then
this error will be raised (due to ADC and DMA continuing to operate
in background).
- To not block debug of this exemple, replace error handler by
+ To not block debug of this example, replace error handler by
dummy LED toggle. */
/* Error_Handler(); */
LED_Toggle();
@@ -799,7 +811,7 @@ void AdcDmaTransferHalf_Callback()
/* Note: For debug purpose, if program is halted with a breakpoint then
this error will be raised (due to ADC and DMA continuing to operate
in background).
- To not block debug of this exemple, replace error handler by
+ To not block debug of this example, replace error handler by
dummy LED toggle. */
/* Error_Handler(); */
LED_Toggle();
@@ -897,5 +909,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/stm32wbxx_it.c
index 114203f5b..d69c6d2e8 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -265,4 +264,3 @@ void ADC1_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/readme.txt
index cce232214..8feda68b3 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the ADC_SingleConversion_TriggerTimer_DMA_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/CRC_CalculateAndCheck.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/CRC_CalculateAndCheck.ioc
index 4f1136949..ee55bb3b7 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/CRC_CalculateAndCheck.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/CRC_CalculateAndCheck.ioc
@@ -23,8 +23,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -40,6 +40,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/main.h
index 0d447bf51..18dd4642c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -106,5 +105,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32wbxx_it.h
index 18188579e..1c0da3418 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/main.c
index 53b596adc..c62c73d09 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,6 +65,7 @@ uint32_t uwExpectedCRCValue = 0xA9866043;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_CRC_Init(void);
/* USER CODE BEGIN PFP */
@@ -104,6 +104,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -188,6 +191,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -377,5 +388,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/stm32wbxx_it.c
index 969869e4e..b55ee9ba8 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -204,4 +203,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/readme.txt
index e4dec49e8..c295e3514 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/CRC/CRC_CalculateAndCheck/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the CRC_CalculateAndCheck example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/DMA_CopyFromFlashToMemory_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/DMA_CopyFromFlashToMemory_Init.ioc
index f7bc1d71f..8f4e98e2a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/DMA_CopyFromFlashToMemory_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/DMA_CopyFromFlashToMemory_Init.ioc
@@ -35,8 +35,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -53,6 +53,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/main.h
index 6eda44124..82d5fac63 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -98,5 +97,3 @@ void TransferError(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32wbxx_it.h
index c9db63451..d635f3611 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void DMA1_Channel1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/main.c
index 34bdef24b..fddcba4b5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -72,6 +71,7 @@ static uint32_t aDST_Buffer[BUFFER_SIZE];
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
/* USER CODE BEGIN PFP */
@@ -112,6 +112,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -209,6 +212,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -409,5 +420,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/stm32wbxx_it.c
index 8dae09652..4b6cc2d48 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -226,4 +225,3 @@ void DMA1_Channel1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/readme.txt
index 4ae7d7548..63fba62cf 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the DMA example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EXTI_ToggleLedOnIT_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EXTI_ToggleLedOnIT_Init.ioc
index 369f12c89..e354221a5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EXTI_ToggleLedOnIT_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/EXTI_ToggleLedOnIT_Init.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -39,6 +39,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/main.h
index 9e658a512..c5d18d53d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -97,5 +96,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32wbxx_it.h
index 889fad5fb..7e4dd79fc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/main.c
index e4d1cb08f..c5fd9b06c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -85,6 +85,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -162,6 +165,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -263,5 +274,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/stm32wbxx_it.c
index 5f25015ae..4629f4109 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -226,4 +225,3 @@ void EXTI0_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/readme.txt
index c0d87ce76..7379021d3 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the EXTI example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/GPIO_InfiniteLedToggling_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/GPIO_InfiniteLedToggling_Init.ioc
index da30ab8d6..e51818201 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/GPIO_InfiniteLedToggling_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/GPIO_InfiniteLedToggling_Init.ioc
@@ -15,8 +15,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -32,6 +32,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/main.h
index 5aa29b35d..28d705a5d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -98,5 +97,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32wbxx_it.h
index d7ce588ac..b5a4d539f 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/main.c
index 2315a9794..0be7d0969 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
@@ -86,6 +86,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -167,6 +170,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -238,5 +249,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/stm32wbxx_it.c
index f5a188088..787c8f74c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -204,4 +203,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/readme.txt
index 30852f5a1..df90a5ec4 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the GPIO example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/HSEM_DualProcess_IT.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/HSEM_DualProcess_IT.ioc
index 170990430..898aee07a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/HSEM_DualProcess_IT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/HSEM_DualProcess_IT.ioc
@@ -15,8 +15,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -32,6 +32,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/main.h
index e05036a38..b6af6838a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -112,5 +111,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32wbxx_it.h
index 7c3c78ec8..e008c318f 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void HSEM_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/main.c
index 23974a528..6b4456366 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
@@ -94,6 +94,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -199,6 +202,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -318,5 +329,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/stm32wbxx_it.c
index 05b85a41c..b94cd4e2b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -218,4 +217,3 @@ void HSEM_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt
index a2e3562b6..d8c5f5c30 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the HSEM_DualProcess_IT example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -40,7 +40,7 @@ PROCESS_B releases the semaphore with success.
After successful sequence, LED2 is turned On.
In case of errors, LED2 is slowly blinking (1sec period).
-Additionnaly, this example demonstrate how to:
+Additionally, this example demonstrate how to:
Retrieve the current process locking a semaphore.
Retrieve the current core locking a semaphore.
@@ -48,7 +48,7 @@ Remarks:
As this example uses two processes to demonstrate the lock/unlock mechanism, it is not
possible to use the function LL_HSEM_1StepLock which does not use process identifier. Those
identifier are set to 0. This function is only interesting in the context of multicore where
- the core identifers are used to determine the owner of the semaphore.
+ the core identifiers are used to determine the owner of the semaphore.
@par Keywords
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init.ioc
index 6be7f9efc..00010211c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init.ioc
@@ -33,8 +33,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -57,14 +57,21 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
-PB8.GPIOParameters=GPIO_Speed
+PB8.GPIOParameters=GPIO_Speed,GPIO_Pu
+PB8.GPIO_Pu=GPIO_PULLUP
PB8.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB8.Mode=I2C
PB8.Signal=I2C1_SCL
-PB9.GPIOParameters=GPIO_Speed
+PB9.GPIOParameters=GPIO_Speed,GPIO_Pu
+PB9.GPIO_Pu=GPIO_PULLUP
PB9.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB9.Mode=I2C
PB9.Signal=I2C1_SDA
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/main.h
index e54bec254..74b6147d7 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -125,5 +124,3 @@ void Error_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32wbxx_it.h
index 08e8473f7..28bd0e7d0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -73,5 +72,3 @@ void I2C1_ER_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/main.c
index 072e1cf0f..c21197ba5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -72,6 +71,7 @@ __IO uint8_t ubButtonPress = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_I2C1_Init(void);
/* USER CODE BEGIN PFP */
@@ -117,6 +117,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -209,7 +212,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetI2CClockSource(LL_RCC_I2C1_CLKSOURCE_PCLK1);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -234,6 +244,8 @@ static void MX_I2C1_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetI2CClockSource(LL_RCC_I2C1_CLKSOURCE_PCLK1);
+
LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOB);
/**I2C1 GPIO Configuration
PB8 ------> I2C1_SCL
@@ -577,5 +589,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/stm32wbxx_it.c
index 1b7f8817b..90a952e62 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -364,4 +363,3 @@ void I2C1_ER_IRQHandler(void)
#endif /* SLAVE_BOARD */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/readme.txt
index 81361a5e6..94520a8f6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the I2C_TwoBoards_MasterRx_SlaveTx_IT_Init I2C example (IT Mode).
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init.ioc
index fddc44ca2..c9df8f1c1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init.ioc
@@ -70,8 +70,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel2_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.DMA1_Channel3_IRQn=true\:0\:0\:false\:false\:true\:false\:true
@@ -89,14 +89,21 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
-PB8.GPIOParameters=GPIO_Speed
+PB8.GPIOParameters=GPIO_Speed,GPIO_Pu
+PB8.GPIO_Pu=GPIO_PULLUP
PB8.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB8.Mode=I2C
PB8.Signal=I2C1_SCL
-PB9.GPIOParameters=GPIO_Speed
+PB9.GPIOParameters=GPIO_Speed,GPIO_Pu
+PB9.GPIO_Pu=GPIO_PULLUP
PB9.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB9.Mode=I2C
PB9.Signal=I2C1_SDA
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/main.h
index a0283884f..68f008e7a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -138,5 +137,3 @@ void Error_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32wbxx_it.h
index 8f758399b..55206bf0d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,5 +75,3 @@ void DMA1_Channel2_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/main.c
index 9b415e7b2..cff1a8d9f 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -92,6 +91,7 @@ __IO uint8_t ubButtonPress = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_I2C1_Init(void);
@@ -142,6 +142,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -237,7 +240,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetI2CClockSource(LL_RCC_I2C1_CLKSOURCE_PCLK1);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -262,6 +272,8 @@ static void MX_I2C1_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetI2CClockSource(LL_RCC_I2C1_CLKSOURCE_PCLK1);
+
LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOB);
/**I2C1 GPIO Configuration
PB8 ------> I2C1_SCL
@@ -825,5 +837,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/stm32wbxx_it.c
index e6be9c9bc..f1a8acb32 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -271,4 +270,3 @@ void USER_BUTTON_IRQHANDLER(void)
}
#endif
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/readme.txt
index c01d6eedf..6e7b5ca69 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init I2C example (DMA Mode).
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/IWDG_RefreshUntilUserEvent_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/IWDG_RefreshUntilUserEvent_Init.ioc
index f3a64cca7..5da530fcb 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/IWDG_RefreshUntilUserEvent_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/IWDG_RefreshUntilUserEvent_Init.ioc
@@ -22,8 +22,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -42,6 +42,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/main.h
index 612819f4f..e71fa7e9a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -107,5 +106,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h
index f2e581ef9..1607df5d8 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void UserButton_Callback(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/main.c
index 0d397353d..8ddb0e632 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ static __IO uint8_t ubKeyPressed = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_IWDG_Init(void);
/* USER CODE BEGIN PFP */
@@ -87,6 +87,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Check if the system has resumed from IWDG reset */
@@ -188,6 +191,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -359,5 +370,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c
index 233f3f089..10bef218f 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -227,4 +226,3 @@ void EXTI0_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/readme.txt
index c62b0d473..66add6f13 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/IWDG/IWDG_RefreshUntilUserEvent_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the IWDG_RefreshUntilUserEvent_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/main.h
index 88941d4e0..46d400c05 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -96,5 +95,3 @@ void LPTimerAutoreloadMatch_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32wbxx_it.h
index cbab43966..d43204176 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void LPTIM1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/LPTIM_PulseCounter_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/LPTIM_PulseCounter_Init.ioc
index 7b3248440..94df48d3c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/LPTIM_PulseCounter_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/LPTIM_PulseCounter_Init.ioc
@@ -22,8 +22,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -46,6 +46,11 @@ PB5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB5.Locked=true
PB5.Mode=Counts_external_clock_with_synchro_01_occur1
PB5.Signal=LPTIM1_IN1
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/main.c
index 01b2fc417..9b218e75e 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_LPTIM1_Init(void);
/* USER CODE BEGIN PFP */
@@ -88,6 +88,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Enable the LSI Clock */
@@ -179,7 +182,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetLPTIMClockSource(LL_RCC_LPTIM1_CLKSOURCE_LSI);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -202,6 +212,8 @@ static void MX_LPTIM1_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetLPTIMClockSource(LL_RCC_LPTIM1_CLKSOURCE_LSI);
+
/* Peripheral clock enable */
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_LPTIM1);
@@ -362,5 +374,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/stm32wbxx_it.c
index 8579abe1b..64af8b6b4 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -227,4 +226,3 @@ void LPTIM1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/readme.txt
index 8e1e4896c..06950f0f9 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPTIM/LPTIM_PulseCounter_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the LPTIM_PulseCounter_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/main.h
index 97fc36e44..7cababffb 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -112,5 +111,3 @@ void Error_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32wbxx_it.h
index 4f3d4a4f3..6ed5d87b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void LPUART1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/LPUART_WakeUpFromStop_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/LPUART_WakeUpFromStop_Init.ioc
index cc1231ac1..0b09b54dd 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/LPUART_WakeUpFromStop_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/LPUART_WakeUpFromStop_Init.ioc
@@ -36,8 +36,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -64,6 +64,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/main.c
index 900aa8b94..feb95210d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -61,6 +60,7 @@ uint8_t aTextInfo[] = "\r\nLPUART Example : MCU will now enter in Stop 0 mode.\n
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_LPUART1_UART_Init(void);
/* USER CODE BEGIN PFP */
@@ -104,6 +104,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -187,7 +190,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(16000000);
- LL_RCC_SetLPUARTClockSource(LL_RCC_LPUART1_CLKSOURCE_HSI);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -528,5 +538,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/stm32wbxx_it.c
index 692a5d03d..b4252eead 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -233,4 +232,3 @@ void LPUART1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/readme.txt
index 2888aed9e..a3e039d21 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/LPUART/LPUART_WakeUpFromStop_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the LPUART_WakeUpFromStop_Init LPUART example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/SigGen.h b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/SigGen.h
index 8309ef30d..8df540ad6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/SigGen.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/SigGen.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -47,5 +46,3 @@ extern const uint32_t SigGen_S_len;
#endif
#endif /* __SIGGEN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/main.h
index 61ad1aeb9..bc3fa1233 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -105,5 +104,3 @@ void PKA_PROCEND_callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h
index de2fff994..68e2b9a4e 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/prime256v1.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,5 +49,3 @@ extern const uint32_t prime256v1_Seed_len;
#endif
#endif /* __PRIME256V1_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h
index 5c928b14d..299c3ee47 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void PKA_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc
index 5d20d38bc..982639c82 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/PKA_ECDSA_Sign.ioc
@@ -17,8 +17,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -34,6 +34,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/SigGen.c b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/SigGen.c
index 17e05c36c..48dadb33d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/SigGen.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/SigGen.c
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,5 +92,3 @@ const uint8_t SigGen_S[] = {
0xef, 0x97, 0xb2, 0x18, 0xe9, 0x6f, 0x17, 0x5a, 0x3c, 0xcd, 0xda, 0x2a, 0xcc, 0x05, 0x89, 0x03
};
const uint32_t SigGen_S_len = 32;
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/main.c
index 795628612..da7bcfd96 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -55,6 +54,7 @@ uint8_t SBuffer[32] = {0};
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_PKA_Init(void);
/* USER CODE BEGIN PFP */
@@ -99,6 +99,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -157,7 +160,7 @@ int main(void)
/* Wait for the interrupt callback */
while(endOfProcess != 1);
- /* Retreive the result and output buffer */
+ /* Retrieve the result and output buffer */
result = PKA->RAM[PKA_ECDSA_SIGN_OUT_ERROR];
PKA_Memcpy_u32_to_u8(RBuffer, &PKA->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_R], prime256v1_Prime_len / 4);
PKA_Memcpy_u32_to_u8(SBuffer, &PKA->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_S], prime256v1_Prime_len / 4);
@@ -251,6 +254,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -455,5 +466,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/prime256v1.c b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/prime256v1.c
index ce2dc5e3c..c3c2dd671 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/prime256v1.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/prime256v1.c
@@ -5,17 +5,16 @@
* @brief This file contains reference buffers containing the description of
* nist P-256 (ECDSA-256) published by NIST in Federal Information
* Processing Standards Publication FIPS PUB 186-4.
- * Additionnal buffer are provided to be used with PKA like abs(A)
+ * Additional buffer are provided to be used with PKA like abs(A)
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -92,5 +91,3 @@ const uint8_t prime256v1_Seed[] = {
0xb7, 0x81, 0x9f, 0x7e, 0x90
};
const uint32_t prime256v1_Seed_len = 20;
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c
index 231a39769..39d03ffc5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -232,4 +231,3 @@ void PKA_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/readme.txt
index 1c58f7d38..35989c2de 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PKA/PKA_ECDSA_Sign/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PKA_ECDSA_Sign example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -37,7 +37,7 @@ The example:
Loads the input buffers to PKA RAM.
Launch the computation in interrupt mode.
Wait for the interrupt callback.
- Retreive the output buffer.
+ Retrieve the output buffer.
Compare to expected results.
After successful sequence, LED2 is turned On.
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/startup_stm32wb15xx_cm4.s
index f072f4d2e..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/main.h
index ad999b884..a4f7697fa 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -120,5 +119,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32wbxx_it.h
index aacde0e97..6bf7de9ca 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void USER_BUTTON_IRQHANDLER(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/PWR_EnterStandbyMode.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/PWR_EnterStandbyMode.ioc
index 4258195d2..7e1415fa7 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/PWR_EnterStandbyMode.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/PWR_EnterStandbyMode.ioc
@@ -15,8 +15,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -32,6 +32,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/main.c
index 2645183d4..3de5dc660 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
@@ -94,6 +94,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Initialize User push-button (SW1) in GPIO mode */
UserButton_Init(BUTTON_MODE_GPIO);
@@ -181,6 +184,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -446,5 +457,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/stm32wbxx_it.c
index 52b119b9e..26f0bb18c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -219,4 +218,3 @@ void USER_BUTTON_IRQHANDLER(void)
}
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/system_stm32wbxx.c
index 2d34e14f8..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/readme.txt
index 5101a1491..190655e1c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStandbyMode/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PWR STANDBY mode example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/startup_stm32wb15xx_cm4.s
index f072f4d2e..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/main.h
index 4729ed29a..dd67d270a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -95,5 +94,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32wbxx_it.h
index 292455e67..498989de3 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void USER_BUTTON_IRQHANDLER(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/PWR_EnterStopMode.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/PWR_EnterStopMode.ioc
index 2ca415ccd..8ac75c88a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/PWR_EnterStopMode.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/PWR_EnterStopMode.ioc
@@ -15,8 +15,8 @@ Mcu.PinsNb=2
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -32,6 +32,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/main.c
index 52acaf771..3b89bd4fc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,6 +49,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
@@ -91,6 +91,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -183,6 +186,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -312,5 +323,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/stm32wbxx_it.c
index 35102f52d..63349834c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -204,4 +203,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/system_stm32wbxx.c
index 2d34e14f8..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/readme.txt
index 6cbc2c217..77f1767df 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_EnterStopMode/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PWR Stop 1 mode example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/startup_stm32wb15xx_cm4.s
index f072f4d2e..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/main.h
index d399ba49f..491858c48 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -107,5 +106,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32wbxx_it.h
index 1512c5301..bc870dde6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/PWR_OptimizedRunMode.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/PWR_OptimizedRunMode.ioc
index 2d30c5271..8ef79e875 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/PWR_OptimizedRunMode.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/PWR_OptimizedRunMode.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:false\:true\:false
@@ -40,6 +40,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/main.c
index 302e58381..16469508d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,6 +64,7 @@ __IO uint16_t uhLedBlinkSpeed = LED_BLINK_FAST;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
@@ -109,6 +109,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -192,6 +195,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(48000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -473,5 +484,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/stm32wbxx_it.c
index 03b271aca..9bf0f9bcb 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -218,4 +217,3 @@ void EXTI0_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/system_stm32wbxx.c
index 2d34e14f8..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/readme.txt
index 3554ddcb8..e67b5c258 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/PWR/PWR_OptimizedRunMode/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PWR Optimized Run Mode example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/main.h
index e816c3c6f..1d449b6e1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -130,5 +129,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32wbxx_it.h
index 5b3d8d27b..6e17adadc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void USER_BUTTON_IRQHANDLER(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/RCC_UseHSI_PLLasSystemClock.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/RCC_UseHSI_PLLasSystemClock.ioc
index 026278aed..ffcf77780 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/RCC_UseHSI_PLLasSystemClock.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/RCC_UseHSI_PLLasSystemClock.ioc
@@ -16,8 +16,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -39,6 +39,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/main.c
index f4537c344..3d8faf12d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -90,6 +89,7 @@ uint32_t Timeout = 0; /* Variable used for Timeout management */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */
@@ -130,6 +130,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -236,6 +239,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -573,5 +584,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/stm32wbxx_it.c
index 2fddf8bad..f561b95dd 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -228,4 +227,3 @@ void EXTI0_IRQHandler(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/readme.txt
index 54c03e328..f9a8d0830 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the RCC_UseHSI_PLLasSystemClock example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/main.h
index 32bad7bb0..198c77059 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -117,5 +116,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32wbxx_it.h
index 25e717a32..fda985bcc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void RNG_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/RNG_GenerateRandomNumbers_IT.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/RNG_GenerateRandomNumbers_IT.ioc
index 81f8c677b..3afcbb677 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/RNG_GenerateRandomNumbers_IT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/RNG_GenerateRandomNumbers_IT.ioc
@@ -18,8 +18,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.3.0
-MxDb.Version=DB.6.0.30
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -43,6 +43,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/main.c
index 735026751..8f84625af 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,6 +66,7 @@ __IO uint32_t aRandom32bit[NB_OF_GENERATED_RANDOM_NUMBERS];
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_RNG_Init(void);
/* USER CODE BEGIN PFP */
@@ -108,6 +108,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -199,7 +202,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetRNGClockSource(LL_RCC_RNG_CLKSOURCE_LSI);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -220,6 +230,8 @@ static void MX_RNG_Init(void)
/* USER CODE END RNG_Init 0 */
+ LL_RCC_SetRNGClockSource(LL_RCC_RNG_CLKSOURCE_LSI);
+
/* Peripheral clock enable */
LL_AHB3_GRP1_EnableClock(LL_AHB3_GRP1_PERIPH_RNG);
@@ -467,5 +479,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/stm32wbxx_it.c
index 05dd8f691..e7533f956 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -248,4 +247,3 @@ void RNG_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/readme.txt
index d25f5fee8..69a4ae021 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/RNG/RNG_GenerateRandomNumbers_IT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the RNG_GenerateRandomNumbers_IT example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/main.h
index 6d7861b47..adab9e588 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -125,5 +124,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32wbxx_it.h
index 96542a44e..3f0378d3e 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void DMA1_Channel1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/SPI_TwoBoards_FullDuplex_DMA_Master_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/SPI_TwoBoards_FullDuplex_DMA_Master_Init.ioc
index 6145a30a3..dd12e8f3b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/SPI_TwoBoards_FullDuplex_DMA_Master_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/SPI_TwoBoards_FullDuplex_DMA_Master_Init.ioc
@@ -57,8 +57,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:false\:false\:false
NVIC.DMA1_Channel3_IRQn=true\:0\:0\:false\:false\:false\:false\:false
@@ -91,6 +91,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/main.c
index 5830491d6..0bdc74953 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -63,6 +62,7 @@ __IO uint8_t ubReceptionComplete = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_SPI1_Init(void);
@@ -109,6 +109,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -241,6 +244,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -640,5 +651,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/stm32wbxx_it.c
index 01d094c16..0b288ec70 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -260,4 +259,3 @@ void USER_BUTTON_IRQHANDLER(void)
}
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/readme.txt
index acdb29362..d4b390662 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the SPI_TwoBoards_FullDuplex_DMA_Master_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -46,7 +46,7 @@ The communication is done with 2 boards through SPI.
This example shows how to configure GPIO and SPI peripherals
to use a Full-Duplex communication using DMA Transfer mode through the STM32WBxx SPI LL API.
-This example is splitted in two projects, Master board and Slave board:
+This example is split in two projects, Master board and Slave board:
- Master Board
SPI1 Peripheral is configured in Master mode.
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/main.h
index 832b35a21..3cd011da2 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -111,5 +110,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32wbxx_it.h
index b50e87719..607eb94ce 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void DMA1_Channel1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/SPI_TwoBoards_FullDuplex_DMA_Slave_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/SPI_TwoBoards_FullDuplex_DMA_Slave_Init.ioc
index 1b20e6cfc..528cc4b0f 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/SPI_TwoBoards_FullDuplex_DMA_Slave_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/SPI_TwoBoards_FullDuplex_DMA_Slave_Init.ioc
@@ -57,8 +57,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:false\:false\:false
NVIC.DMA1_Channel3_IRQn=true\:0\:0\:false\:false\:false\:false\:false
@@ -91,6 +91,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/main.c
index 9d19c678a..11258f026 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -63,6 +62,7 @@ __IO uint8_t ubReceptionComplete = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_SPI1_Init(void);
@@ -106,6 +106,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -235,6 +238,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -578,5 +589,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/stm32wbxx_it.c
index 9d209a79c..60c292bf6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -245,4 +244,3 @@ void DMA1_Channel1_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/readme.txt
index 1aaa94c3e..6bc204ca5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the SPI_TwoBoards_FullDuplex_DMA_Slave_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@@ -46,7 +46,7 @@ The communication is done with 2 boards through SPI.
This example shows how to configure GPIO and SPI peripherals
to use a Full-Duplex communication using DMA Transfer mode through the STM32WBxx SPI LL API.
-This example is splitted in two projects, Master board and Slave board:
+This example is split in two projects, Master board and Slave board:
- Master Board
SPI1 Peripheral is configured in Master mode.
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/main.h
index 0d6f31d45..203c1ea95 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -98,5 +97,3 @@ void TimerUpdate_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32wbxx_it.h
index a03901b40..ae79ca4b4 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void TIM1_UP_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/main.c
index 9b8a0df5e..ee4d32f18 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -57,6 +56,7 @@ static uint8_t AutoreloadMult = 1;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM1_Init(void);
/* USER CODE BEGIN PFP */
@@ -91,6 +91,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Set the pre-scaler value to have TIM1 counter clock equal to 10 kHz */
/*
@@ -188,6 +191,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -357,5 +368,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/stm32wbxx_it.c
index 8cf4345f3..ed51060da 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/stm32wbxx_it.c
@@ -1,5 +1,5 @@
/* USER CODE BEGIN Header */
-/**
+/**
******************************************************************************
* @file Examples_LL/TIM/TIM_TimeBase_Init/Src/stm32wbxx_it.c
* @author MCD Application Team
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -261,4 +260,3 @@ void TIM1_UP_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/TIM_TimeBase_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/TIM_TimeBase_Init.ioc
index d5abe6225..73c54bbaa 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/TIM_TimeBase_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/TIM_TimeBase_Init.ioc
@@ -18,8 +18,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -43,6 +43,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/readme.txt
index 9a15f897f..eb19b7e16 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/TIM/TIM_TimeBase_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the TIM_TimeBase_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/main.h
index e1fa07e4f..9d348bcf5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -105,5 +104,3 @@ void Error_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32wbxx_it.h
index 15162d388..e6b87e230 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void USART1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/main.c
index 13e3accd7..3a57afef4 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
/* USER CODE BEGIN PFP */
@@ -89,6 +89,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -177,7 +180,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetUSARTClockSource(LL_RCC_USART1_CLKSOURCE_PCLK2);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -202,6 +212,8 @@ static void MX_USART1_UART_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetUSARTClockSource(LL_RCC_USART1_CLKSOURCE_PCLK2);
+
/* Peripheral clock enable */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1);
@@ -444,5 +456,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/stm32wbxx_it.c
index 47291ab58..23d3fbb58 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -251,4 +250,3 @@ void USART1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/USART_Communication_Rx_IT_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/USART_Communication_Rx_IT_Init.ioc
index 44016c5d9..12ddb08f7 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/USART_Communication_Rx_IT_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/USART_Communication_Rx_IT_Init.ioc
@@ -19,8 +19,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -53,6 +53,11 @@ PB0.GPIO_Label=LED2
PB0.GPIO_PuPd=GPIO_NOPULL
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/readme.txt
index 4425864ab..4c8bccc7d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Rx_IT_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the USART_Communication_Rx_IT_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/main.h
index 683bc8a52..97861a73d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -108,5 +107,3 @@ void Error_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32wbxx_it.h
index 9bae76a17..42169ccf3 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/main.c
index 20254d1b1..e5509872e 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -63,6 +62,7 @@ const uint8_t aStringToSend[] = "STM32WBxx USART LL API Example : TX in Polling
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
/* USER CODE BEGIN PFP */
@@ -104,6 +104,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -193,7 +196,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
- LL_RCC_SetUSARTClockSource(LL_RCC_USART1_CLKSOURCE_PCLK2);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -218,6 +228,8 @@ static void MX_USART1_UART_Init(void)
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
+ LL_RCC_SetUSARTClockSource(LL_RCC_USART1_CLKSOURCE_PCLK2);
+
/* Peripheral clock enable */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1);
@@ -488,5 +500,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/stm32wbxx_it.c
index d14314f1c..0ab105f58 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -227,4 +226,3 @@ void EXTI0_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/USART_Communication_Tx_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/USART_Communication_Tx_Init.ioc
index e85957cfd..0fcbc2c8c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/USART_Communication_Tx_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/USART_Communication_Tx_Init.ioc
@@ -19,8 +19,8 @@ Mcu.PinsNb=5
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -52,6 +52,11 @@ PB0.GPIO_Label=LED2
PB0.GPIO_PuPd=GPIO_NOPULL
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/readme.txt
index ef22f0004..c4615ae8d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/USART/USART_Communication_Tx_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the USART_Communication_Tx_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/main.h
index a3c7b1574..8551ce2f9 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,5 +92,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32wbxx_it.h
index 75bbd9fb5..0fce6a845 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/main.c
index d8960db72..7c9c23325 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -56,6 +55,7 @@ uint8_t aShowLotNumber[30] = {0};
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
void GetMCUInfo(void);
/* USER CODE END PFP */
@@ -90,6 +90,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -167,6 +170,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -234,5 +245,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/stm32wbxx_it.c
index 7b74f9c66..fbfb0738d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -204,4 +203,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/UTILS_ReadDeviceInfo.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/UTILS_ReadDeviceInfo.ioc
index 401b57b80..d82523357 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/UTILS_ReadDeviceInfo.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/UTILS_ReadDeviceInfo.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/readme.txt
index 3b355d8e5..6d1669c78 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/UTILS/UTILS_ReadDeviceInfo/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the UTILS example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/main.h
index 91071b5fd..76353640c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -107,5 +106,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h
index f086878e3..1b4b5fbd1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32_assert.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32_assert.h
@@ -5,16 +6,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32_ASSERT_H
@@ -49,5 +50,3 @@
#endif
#endif /* __STM32_ASSERT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h
index 28165a78e..a105291f9 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void UserButton_Callback(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/main.c
index 86bdfaa85..59dc055fc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -51,6 +50,7 @@ static __IO uint8_t KeyPressed = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_WWDG_Init(void);
/* USER CODE BEGIN PFP */
@@ -88,6 +88,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Check if the system has resumed from WWDG reset*/
@@ -177,6 +180,14 @@ void SystemClock_Config(void)
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(64000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
@@ -352,5 +363,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c
index e5b4adeea..2086f868d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -227,4 +226,3 @@ void EXTI0_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/WWDG_RefreshUntilUserEvent_Init.ioc b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/WWDG_RefreshUntilUserEvent_Init.ioc
index bf3f63698..2a31fa7d8 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/WWDG_RefreshUntilUserEvent_Init.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/WWDG_RefreshUntilUserEvent_Init.ioc
@@ -18,8 +18,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.EXTI0_IRQn=true\:0\:0\:false\:false\:true\:true\:true
@@ -38,6 +38,11 @@ PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=LED2
PB0.Locked=true
PB0.Signal=GPIO_Output
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/readme.txt b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/readme.txt
index e977e13f6..c4abf95a2 100644
--- a/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_LL/WWDG/WWDG_RefreshUntilUserEvent_Init/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the WWDG_RefreshUntilUserEvent_Init example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc
index 44e048b96..641a19068 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/DMA_FLASHToRAM.ioc
@@ -34,8 +34,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:false\:true\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -48,6 +48,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/main.h
index b4f7b2553..91b8e39d3 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -73,5 +72,3 @@ void TransferError(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h
index a5fe643dc..b8640e68e 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void DMA1_Channel1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/main.c
index f3e599d97..1448293fb 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/main.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -72,6 +71,7 @@ static __IO uint32_t transferCompleteDetected; /* Set to 1 if transfer is correc
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_DMA_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -119,6 +119,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Set to 1 if an transfer error is detected */
@@ -193,7 +196,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -231,11 +233,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -337,5 +350,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c
index f9463e6fe..a933382c8 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -77,5 +76,3 @@ void HAL_MspInit(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c
index b6b12448a..d63067dc2 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -235,4 +234,3 @@ void DMA1_Channel1_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/readme.txt b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/readme.txt
index 571a0a4cb..740733610 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/DMA/DMA_FLASHToRAM/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the DMA example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/main.h
index 104889a33..8512e893a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -81,5 +80,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_it.h
index 3e0b59c9c..626d7897b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -68,5 +67,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/PWR_STOP1.ioc b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/PWR_STOP1.ioc
index 3f65234b2..f6398ed78 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/PWR_STOP1.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/PWR_STOP1.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/main.c
index 3d3950705..bef45dda1 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -52,6 +51,7 @@ static __IO uint32_t TimingDelay;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
@@ -100,10 +100,13 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Set low-power mode of CPU2 */
- /* Note: Typically, action peformed by CPU2 on a dual core application.
+ /* Note: Typically, action performed by CPU2 on a dual core application.
Since this example is single core, perform it by CPU1. */
/* Note: On STM32WB, both CPU1 and CPU2 must be in low-power mode
to set the entire System in low-power mode, corresponding to
@@ -162,7 +165,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -200,11 +202,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -317,5 +330,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_hal_msp.c
index e16fa9915..5a6bf1134 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ void HAL_MspInit(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_it.c
index 6c46bb6a3..0aa91214f 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -213,4 +212,3 @@ void EXTI0_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/readme.txt b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/readme.txt
index 81a3f558a..f3374fac6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/PWR/PWR_STOP1/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the PWR_STOP1 example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/main.h
index eb85ca196..fa74b14b2 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_hal_conf.h
index 2339f9595..396a1c948 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_it.h
index d814ca29a..e72091e71 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/SPI_HalfDuplex_ComPollingIT_Master.ioc b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/SPI_HalfDuplex_ComPollingIT_Master.ioc
index 37c3ea32b..ee7176c5c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/SPI_HalfDuplex_ComPollingIT_Master.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/SPI_HalfDuplex_ComPollingIT_Master.ioc
@@ -17,8 +17,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -41,6 +41,11 @@ PA7.GPIO_PuPd=GPIO_PULLDOWN
PA7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA7.Mode=Simplex_Bidirectional_Master
PA7.Signal=SPI1_MOSI
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/main.c
index 518fe3725..604a7add4 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,6 +65,7 @@ __IO uint32_t wTransferState = TRANSFER_WAIT;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_SPI1_Init(void);
/* USER CODE BEGIN PFP */
@@ -109,6 +109,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -184,7 +187,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -222,11 +224,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -323,5 +336,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_hal_msp.c
index 8fdc863ce..0578b7a02 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -145,5 +144,3 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_it.c
index 1315043a3..4972960c5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -202,4 +201,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/readme.txt b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/readme.txt
index 9c0e388dc..5ce77c3a3 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Master/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the SPI Half Duplex IT example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/main.h
index 096587c3a..e3697307a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,5 +68,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_hal_conf.h
index 2339f9595..396a1c948 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_it.h
index b11c268d2..8c630643e 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void SPI1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/SPI_HalfDuplex_ComPollingIT_Slave.ioc b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/SPI_HalfDuplex_ComPollingIT_Slave.ioc
index 9a79202dc..ff76980ea 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/SPI_HalfDuplex_ComPollingIT_Slave.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/SPI_HalfDuplex_ComPollingIT_Slave.ioc
@@ -17,8 +17,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -43,6 +43,11 @@ PA6.GPIO_PuPd=GPIO_PULLDOWN
PA6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA6.Mode=Simplex_Bidirectional_Slave
PA6.Signal=SPI1_MISO
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/main.c
index 25f7145ce..99c5ccd8c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/main.c
@@ -10,13 +10,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -64,6 +63,7 @@ __IO uint32_t wTransferState = TRANSFER_WAIT;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_SPI1_Init(void);
/* USER CODE BEGIN PFP */
@@ -108,6 +108,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -183,7 +186,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -221,11 +223,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -371,5 +384,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_hal_msp.c
index c9448229a..e0128a773 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -150,5 +149,3 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_it.c
index 186988cf1..12b90786d 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -216,4 +215,3 @@ void SPI1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/readme.txt b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/readme.txt
index 1751c82a5..44ea5aed2 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/SPI/SPI_HalfDuplex_ComPollingIT_Slave/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the SPI Half Duplex IT example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/main.h
index 9dc62fb8f..b1d2e6438 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -74,5 +73,3 @@ void UserButton_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h
index 037eb1704..740d9ac81 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h
index fc593c9dc..4eeaa81ec 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Inc/stm32wbxx_it.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -65,5 +64,3 @@ void EXTI0_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/main.c
index bb416f04b..eb4502760 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/main.c
@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -82,6 +81,7 @@ static uint32_t aDutyCycle[TIM_DUTYCYCLE_NB] = {
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM2_Init(void);
static void MX_TIM1_Init(void);
@@ -127,6 +127,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* Configure LED3 */
@@ -184,7 +187,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -222,11 +224,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -470,5 +483,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c
index 31dcf4344..d1c5deff5 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -219,5 +218,3 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_it.c
index 1f9ec09db..b0273155a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -212,4 +211,3 @@ void EXTI0_IRQHandler(void)
}
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/system_stm32wbxx.c
index c0af3469e..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -161,7 +160,7 @@
const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
-#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx) || defined (STM32WB10xx)
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
{2UL,6UL,4UL,3UL,2UL,4UL}, \
{4UL,12UL,8UL,6UL,4UL,8UL}, \
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/TIM_PWMInput.ioc b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/TIM_PWMInput.ioc
index e76c22b9a..3fb9e6ce7 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/TIM_PWMInput.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/TIM_PWMInput.ioc
@@ -19,8 +19,8 @@ Mcu.PinsNb=4
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -34,6 +34,11 @@ NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
PA1.Signal=S_TIM2_CH2
PA8.Signal=S_TIM1_CH1
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/readme.txt b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/readme.txt
index 1536a171b..e1a352925 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/TIM/TIM_PWMInput/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the TIM PWM_Input example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/main.h b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/main.h
index 5d1c72e0a..7ae671f9e 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -84,5 +83,3 @@ void UART_Error_Callback(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h
index 45c29d955..0593858cc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/nucleo_wb15cc_conf.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -50,7 +49,7 @@
#define USE_COM_LOG 0U
/* IRQ priorities */
-#define BSP_BUTTON_SWx_IT_PRIORITY 15U
+#define BSP_BUTTON_USER_IT_PRIORITY 15U
/**
* @}
@@ -73,5 +72,3 @@
#endif
#endif /* NUCLEO_WB15CC_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h
index 86c72980d..c6760a8b3 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h
index 5053e8434..d520a0fb6 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Inc/stm32wbxx_it.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -66,5 +65,3 @@ void USART1_IRQHandler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
index 7794948c3..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/main.c b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/main.c
index 0e4a6e28c..3f6d99d0a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/main.c
@@ -11,13 +11,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -69,6 +68,7 @@ __IO uint32_t uwRxIndex = 0;
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
/* USER CODE BEGIN PFP */
@@ -114,6 +114,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -193,7 +196,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -231,12 +233,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
*/
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_USART1;
- PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -431,5 +443,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c
index 4dda749ca..42c23601c 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -83,11 +82,21 @@ void HAL_MspInit(void)
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
+ PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
@@ -147,5 +156,3 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c
index 65dc435a7..f6b7e7a14 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/stm32wbxx_it.c
@@ -9,13 +9,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -250,4 +249,3 @@ void USART1_IRQHandler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc
index 33192fa7e..3cd08563a 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/UART_HyperTerminal_IT.ioc
@@ -17,8 +17,8 @@ Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -39,6 +39,11 @@ PA9.GPIOParameters=GPIO_PuPd
PA9.GPIO_PuPd=GPIO_PULLUP
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/readme.txt b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/readme.txt
index 01b32d7db..d2fd47b50 100644
--- a/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Examples_MIX/UART/UART_HyperTerminal_IT/readme.txt
@@ -8,12 +8,12 @@
* @brief Description of the UART HAL/LL mixed Hyperterminal example.
******************************************************************************
*
- * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
diff --git a/Projects/NUCLEO-WB15CC/Release_Notes.html b/Projects/NUCLEO-WB15CC/Release_Notes.html
index dae9ac219..1c77ca64d 100644
--- a/Projects/NUCLEO-WB15CC/Release_Notes.html
+++ b/Projects/NUCLEO-WB15CC/Release_Notes.html
@@ -41,12 +41,33 @@
<div class="col-sm-12 col-lg-8">
<h1 id="update-history">Update History</h1>
<div class="collapse">
-<input type="checkbox" id="collapse-section3" checked aria-hidden="true"> <label for="collapse-section3" aria-hidden="true">V1.12.0 / 24-June-2021</label>
+<input type="checkbox" id="collapse-section4" checked aria-hidden="true"> <label for="collapse-section4" aria-hidden="true">V1.13.0 / 12-November-2021</label>
<div>
<h2 id="main-changes">Main Changes</h2>
<h3 id="maintenance">Maintenance</h3>
<ul>
<li>Update of FW projects following changes in latest version of HAL/LL and Middlewares</li>
+<li>Add support of /NUCLEO-WB15CC/Templates_LL project (IAR only)</li>
+<li>Add support of new applications:
+<ul>
+<li>/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota</li>
+<li>/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN</li>
+<li>/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingPRFNode</li>
+<li>/NUCLEO-WB15CC/Applications/BLE/BLE_Ota</li>
+<li>/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota</li>
+</ul></li>
+</ul>
+<p><br />
+</p>
+</div>
+</div>
+<div class="collapse">
+<input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" aria-hidden="true">V1.12.0 / 24-June-2021</label>
+<div>
+<h2 id="main-changes-1">Main Changes</h2>
+<h3 id="maintenance-1">Maintenance</h3>
+<ul>
+<li>Update of FW projects following changes in latest version of HAL/LL and Middlewares</li>
<li>Add support of new applications:
<ul>
<li>/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Chat</li>
@@ -65,8 +86,8 @@
<div class="collapse">
<input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" aria-hidden="true">V1.11.1 / 02-April-2021</label>
<div>
-<h2 id="main-changes-1">Main Changes</h2>
-<h3 id="maintenance-1">Maintenance</h3>
+<h2 id="main-changes-2">Main Changes</h2>
+<h3 id="maintenance-2">Maintenance</h3>
<ul>
<li>Update BLE applications:
<ul>
@@ -83,7 +104,7 @@
<div class="collapse">
<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="true">V1.11.0 / 12-February-2021</label>
<div>
-<h2 id="main-changes-2">Main Changes</h2>
+<h2 id="main-changes-3">Main Changes</h2>
<h3 id="first-release">First release</h3>
<p>First official release.</p>
<ul>
diff --git a/Projects/NUCLEO-WB15CC/Templates/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Templates/EWARM/startup_stm32wb15xx_cm4.s
index 5c3e61967..3124137b6 100644
--- a/Projects/NUCLEO-WB15CC/Templates/EWARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Templates/EWARM/startup_stm32wb15xx_cm4.s
@@ -16,13 +16,12 @@
;******************************************************************************
;* @attention
;*
-;* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
-;* All rights reserved.</center></h2>
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under Apache License, Version 2.0,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/Apache-2.0
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
;
@@ -83,7 +82,7 @@ __vector_table
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -429,4 +428,3 @@ DMAMUX1_OVR_IRQHandler
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Templates/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Templates/EWARM/stm32wb15xx_flash_cm4.icf
index 727f99a07..89a097bc0 100644
--- a/Projects/NUCLEO-WB15CC/Templates/EWARM/stm32wb15xx_flash_cm4.icf
+++ b/Projects/NUCLEO-WB15CC/Templates/EWARM/stm32wb15xx_flash_cm4.icf
@@ -11,7 +11,7 @@ define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
-define symbol __ICFEDIT_size_heap__ = 0x200;
+define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
diff --git a/Projects/NUCLEO-WB15CC/Templates/Inc/main.h b/Projects/NUCLEO-WB15CC/Templates/Inc/main.h
index 4166788a0..138e647cd 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Inc/main.h
+++ b/Projects/NUCLEO-WB15CC/Templates/Inc/main.h
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -67,5 +66,3 @@ void Error_Handler(void);
#endif
#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_hal_conf.h b/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_hal_conf.h
index b56347854..fa4c52fa1 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_hal_conf.h
+++ b/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_hal_conf.h
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32wbxx_hal_conf.h
@@ -6,16 +7,16 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
+/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32WBxx_HAL_CONF_H
@@ -349,5 +350,3 @@
#endif
#endif /* __STM32WBxx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_it.h
index f8500220f..449fae0af 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_it.h
+++ b/Projects/NUCLEO-WB15CC/Templates/Inc/stm32wbxx_it.h
@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
- ******************************************************************************
+ ******************************************************************************
*/
/* USER CODE END Header */
@@ -65,5 +64,3 @@ void SysTick_Handler(void);
#endif
#endif /* __STM32WBxx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/MDK-ARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Templates/MDK-ARM/startup_stm32wb15xx_cm4.s
index b902001db..f32276ccc 100644
--- a/Projects/NUCLEO-WB15CC/Templates/MDK-ARM/startup_stm32wb15xx_cm4.s
+++ b/Projects/NUCLEO-WB15CC/Templates/MDK-ARM/startup_stm32wb15xx_cm4.s
@@ -14,12 +14,12 @@
;******************************************************************************
;* @attention
;*
-;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
+;* Copyright (c) 2019 STMicroelectronics.
+;* All rights reserved.
;*
-;* This software component is licensed by ST under BSD 3-Clause license,
-;* the "License"; You may not use this file except in compliance with the
-;* License. You may obtain a copy of the License at:
-;* opensource.org/licenses/BSD-3-Clause
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -84,7 +84,7 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
- DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
@@ -333,4 +333,3 @@ __user_initial_stackheap
END
-;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
index 58cc21a82..447865dae 100644
--- a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
+++ b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/Startup/startup_stm32wb15ccux.s
@@ -14,13 +14,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
*
-* This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -93,7 +92,7 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
-/* Call the clock system intitialization function.*/
+/* Call the clock system initialization function.*/
bl SystemInit
/* Copy the data segment initializers from flash to SRAM */
@@ -391,4 +390,3 @@ g_pfnVectors:
.weak DMAMUX1_OVR_IRQHandler
.thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/syscalls.c b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/syscalls.c
index 4ec95844d..0a2679a25 100644
--- a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/syscalls.c
+++ b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/syscalls.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
@@ -7,19 +7,18 @@
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <sys/stat.h>
diff --git a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/sysmem.c b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/sysmem.c
index d7cc52cd4..dda5abe79 100644
--- a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/sysmem.c
+++ b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/Application/User/sysmem.c
@@ -1,5 +1,5 @@
/**
- ******************************************************************************
+ ******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
@@ -7,19 +7,18 @@
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* Includes */
#include <errno.h>
diff --git a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/STM32WB15CCUX_FLASH.ld b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
index ae64a9f78..9ebe2842b 100644
--- a/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
+++ b/Projects/NUCLEO-WB15CC/Templates/STM32CubeIDE/STM32WB15CCUX_FLASH.ld
@@ -22,13 +22,12 @@
*****************************************************************************
** @attention
**
-** <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.</center></h2>
+** Copyright (c) 2020 STMicroelectronics.
+** All rights reserved.
**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-** opensource.org/licenses/BSD-3-Clause
+** This software is licensed under terms that can be found in the LICENSE file
+** in the root directory of this software component.
+** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/
@@ -136,7 +135,7 @@ SECTIONS
. = ALIGN(4);
.bss :
{
- /* This is used by the startup in order to initialize the .bss secion */
+ /* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
diff --git a/Projects/NUCLEO-WB15CC/Templates/Src/main.c b/Projects/NUCLEO-WB15CC/Templates/Src/main.c
index 960dbad33..e3b9925c0 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Src/main.c
+++ b/Projects/NUCLEO-WB15CC/Templates/Src/main.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -47,6 +46,7 @@
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -78,6 +78,9 @@ int main(void)
/* Configure the system clock */
SystemClock_Config();
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
@@ -106,7 +109,6 @@ void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -144,11 +146,22 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- /** Initializes the peripherals clocks
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1;
+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
@@ -190,5 +203,3 @@ void assert_failed(uint8_t *file, uint32_t line)
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_hal_msp.c b/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_hal_msp.c
index e16fa9915..5a6bf1134 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_hal_msp.c
+++ b/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_hal_msp.c
@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -78,4 +77,3 @@ void HAL_MspInit(void)
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_it.c
index f6a50aea4..b2e86047c 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_it.c
+++ b/Projects/NUCLEO-WB15CC/Templates/Src/stm32wbxx_it.c
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -200,4 +199,3 @@ void SysTick_Handler(void)
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Templates/Src/system_stm32wbxx.c
index 455db8d7c..68ad72806 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Src/system_stm32wbxx.c
+++ b/Projects/NUCLEO-WB15CC/Templates/Src/system_stm32wbxx.c
@@ -60,13 +60,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
*
- * This software component is licensed by ST under Apache License, Version 2.0,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/Apache-2.0
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -353,5 +352,3 @@ void SystemCoreClockUpdate(void)
/**
* @}
*/
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Projects/NUCLEO-WB15CC/Templates/Templates.ioc b/Projects/NUCLEO-WB15CC/Templates/Templates.ioc
index eb3e21289..d54c85cc6 100644
--- a/Projects/NUCLEO-WB15CC/Templates/Templates.ioc
+++ b/Projects/NUCLEO-WB15CC/Templates/Templates.ioc
@@ -14,8 +14,8 @@ Mcu.PinsNb=1
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32WB15CCUx
-MxCube.Version=6.2.0
-MxDb.Version=DB.6.0.20
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
@@ -27,6 +27,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
diff --git a/Projects/NUCLEO-WB15CC/Templates/readme.txt b/Projects/NUCLEO-WB15CC/Templates/readme.txt
new file mode 100644
index 000000000..db8048f35
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates/readme.txt
@@ -0,0 +1,64 @@
+/**
+ @page Templates Description of the Templates example
+
+ @verbatim
+ ******************************************************************************
+ * @file Templates/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the Templates example.
+ ******************************************************************************
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ @endverbatim
+
+@par Example Description
+
+This projects provides a reference template that can be used to build any firmware application.
+
+This directory provides a reference template project that can be used to build any firmware application for
+STM32WB15CC devices using STM32CubeWB HAL and running on NUCLEO-WB515CC board from STMicroelectronics.
+
+@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
+
+ - Templates/Src/main.c Main program
+ - Templates/Src/system_stm32wbxx.c STM32WBxx system clock configuration file
+ - Templates/Src/stm32wbxx_it.c Interrupt handlers
+ - Templates/Src/stm32wbxx_hal_msp.c HAL MSP module
+ - Templates/Inc/main.h Main program header file
+ - Templates/Inc/stm32wbxx_hal_conf.h HAL Configuration file
+ - Templates/Inc/stm32wbxx_it.h Interrupt handlers header file
+
+
+@par Hardware and Software environment
+
+ - This example runs on STM32WB15CC devices.
+
+ - This example has been tested with STMicroelectronics NUCLEO-WB15CC
+ boards and can be easily tailored to any other supported device
+ and development board.
+
+@par How to use it ?
+
+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
+
+ * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
+ */
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/.extSettings b/Projects/NUCLEO-WB15CC/Templates_LL/.extSettings
new file mode 100644
index 000000000..861dedcad
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/.extSettings
@@ -0,0 +1,7 @@
+[ProjectFiles]
+HeaderPath=
+[Others]
+Define=
+HALModule=
+[Groups]
+Doc=../readme.txt;
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Project.eww b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Project.eww
new file mode 100644
index 000000000..5a9b0a765
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Project.eww
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workspace>
+ <project>
+ <path>$WS_DIR$\Templates_LL.ewp</path>
+ </project>
+ <batchBuild />
+</workspace>
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewd b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewd
new file mode 100644
index 000000000..670b3d43f
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewd
@@ -0,0 +1,1419 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <fileVersion>3</fileVersion>
+ <configuration>
+ <name>Templates_LL</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>1</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>29</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacFile</name>
+ <state />
+ </option>
+ <option>
+ <name>MemOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MemFile</name>
+ <state />
+ </option>
+ <option>
+ <name>RunToEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CExtraOptions</name>
+ <state />
+ </option>
+ <option>
+ <name>CFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDDFArgumentProducer</name>
+ <state />
+ </option>
+ <option>
+ <name>OCDownloadSuppressDownload</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDownloadVerifyAll</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCProductVersion</name>
+ <state>7.10.3.6927</state>
+ </option>
+ <option>
+ <name>OCDynDriverList</name>
+ <state>STLINK_ID</state>
+ </option>
+ <option>
+ <name>OCLastSavedByProductVersion</name>
+ <state>8.20.1.14181</state>
+ </option>
+ <option>
+ <name>UseFlashLoader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CLowLevel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacFile2</name>
+ <state />
+ </option>
+ <option>
+ <name>CDevice</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>FlashLoadersV3</name>
+ <state />
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath1</name>
+ <state />
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath2</name>
+ <state />
+ </option>
+ <option>
+ <name>OCImagesSuppressCheck3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesPath3</name>
+ <state />
+ </option>
+ <option>
+ <name>OverrideDefFlashBoard</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesOffset1</name>
+ <state />
+ </option>
+ <option>
+ <name>OCImagesOffset2</name>
+ <state />
+ </option>
+ <option>
+ <name>OCImagesOffset3</name>
+ <state />
+ </option>
+ <option>
+ <name>OCImagesUse1</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCImagesUse3</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDeviceConfigMacroFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDebuggerExtraOption</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAllMTBOptions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreNrOfCores</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCMulticoreMaster</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCMulticorePort</name>
+ <state>53461</state>
+ </option>
+ <option>
+ <name>OCMulticoreWorkspace</name>
+ <state />
+ </option>
+ <option>
+ <name>OCMulticoreSlaveProject</name>
+ <state />
+ </option>
+ <option>
+ <name>OCMulticoreSlaveConfiguration</name>
+ <state />
+ </option>
+ <option>
+ <name>OCDownloadExtraImage</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCAttachSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MassEraseBeforeFlashing</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ARMSIM_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCSimDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCSimEnablePSP</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspOverrideConfig</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCSimPspConfigFile</name>
+ <state />
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CADI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CCadiMemory</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Fast Model</name>
+ <state />
+ </option>
+ <option>
+ <name>CCADILogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCADILogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CMSISDAP_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CMSISDAPResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>CMSISDAPHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>CMSISDAPDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state />
+ </option>
+ <option>
+ <name>CMSISDAPProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CMSISDAPSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state />
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNo</name>
+ <state />
+ </option>
+ <option>
+ <name>CCCMSISDAPUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>GDBSERVER_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IJET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CatchSFERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCIarProbeScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetResetList</name>
+ <version>1</version>
+ <state>10</state>
+ </option>
+ <option>
+ <name>IjetHWResetDuration</name>
+ <state>300</state>
+ </option>
+ <option>
+ <name>IjetHWResetDelay</name>
+ <state>200</state>
+ </option>
+ <option>
+ <name>IjetPowerFromProbe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPowerRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>IjetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTargetEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetProtocolRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSwoPin</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetCpuClockEdit</name>
+ <state>72.0</state>
+ </option>
+ <option>
+ <name>IjetSwoPrescalerList</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetRestoreBreakpointsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetUpdateBreakpointsEdit</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>RDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchUndef</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchData</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchPrefetch</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CatchMMERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchNOCPERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchCHKERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchSTATERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchBUSERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchINTERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchHARDERR</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeCfgOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProbeConfig</name>
+ <state />
+ </option>
+ <option>
+ <name>IjetProbeConfigRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetMultiCPUNumber</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetSelectedCPUBehaviour</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ICpuName</name>
+ <state />
+ </option>
+ <option>
+ <name>OCJetEmuParams</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetPreferETB</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IjetTraceSettingsList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IjetTraceSizeList</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>FlashBoardPathSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNo</name>
+ <state />
+ </option>
+ <option>
+ <name>CCIjetUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>16</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CCCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>JLinkSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCJLinkDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCDoJlinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkResetList</name>
+ <version>6</version>
+ <state>7</state>
+ </option>
+ <option>
+ <name>CCJLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkScriptFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJLinkUsbSerialNo</name>
+ <state />
+ </option>
+ <option>
+ <name>CCTcpIpAlt</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTcpIpSerialNo</name>
+ <state />
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state>72.0</state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkTraceSourceDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCJLinkDeviceName</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiFtdiInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>PEMICRO_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>3</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCJPEMicroShowSettings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>STLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>4</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCSTLinkInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkResetList</name>
+ <version>3</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCCpuClockEdit</name>
+ <state>16.0</state>
+ </option>
+ <option>
+ <name>CCSwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSwoClockEdit</name>
+ <state>2000</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCSTLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkCatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNo</name>
+ <state />
+ </option>
+ <option>
+ <name>CCSTLinkUsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkJtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSTLinkDAPNumber</name>
+ <state />
+ </option>
+ <option>
+ <name>CCSTLinkDebugAccessPortRadio</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>THIRDPARTY_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CThirdPartyDriverDll</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileEditB</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>TIFET_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetInterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVccTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetVoltage</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>CCMSPFetVCCDefault</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetTargetSettlingtime</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioJtagSpeedType</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCMSPFetConnection</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetUsbComPort</name>
+ <state>Automatic</state>
+ </option>
+ <option>
+ <name>CCMSPFetAllowAccessToBSL</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMSPFetLogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCMSPFetRadioEraseFlash</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XDS100_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TIPackageOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>TIPackage</name>
+ <state />
+ </option>
+ <option>
+ <name>BoardFile</name>
+ <state />
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$PROJ_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCXds100BreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100DoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UpdateBreakpoints</name>
+ <state>_call_main</state>
+ </option>
+ <option>
+ <name>CCXds100CatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCORERESET</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchMMERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchNOCPERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchCHRERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSTATERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchBUSERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchINTERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchSFERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchHARDERR</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CatchDummy</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100CpuClockEdit</name>
+ <state />
+ </option>
+ <option>
+ <name>CCXds100SwoClockAuto</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SwoClockEdit</name>
+ <state>1000</state>
+ </option>
+ <option>
+ <name>CCXds100HWResetDelay</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ResetList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNo</name>
+ <state />
+ </option>
+ <option>
+ <name>CCXds100UsbSerialNoSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100JtagSpeedList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100InterfaceCmdLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100ProbeList</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPortRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCXds100SWOPort</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+</project>
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewp b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewp
new file mode 100644
index 000000000..eb2de4b49
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/Templates_LL.ewp
@@ -0,0 +1,1083 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <fileVersion>3</fileVersion>
+ <configuration>
+ <name>Templates_LL</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>1</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>29</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>ExePath</name>
+ <state>Templates_LL/Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Templates_LL/Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Templates_LL/List</state>
+ </option>
+ <option>
+ <name>GEndianMode</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, with multibyte support.</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>No specifier a, A, no specifier n, no float nor long long, with multibyte support.</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGCoreOrChip</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>OGProductVersion</name>
+ <state>4.41A</state>
+ </option>
+ <option>
+ <name>OGLastSavedByProductVersion</name>
+ <state>8.20.1.14181</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>STM32WB55RG ST STM32WB55RG</state>
+ </option>
+ <option>
+ <name>GenLowLevelInterface</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GEndianModeBE</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGBufferedTerminalOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenStdoutInterface</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>011111111111111110111111111111011111111111111011110100111111111111111111111111111111111111111111101111111111111011111111111111111111111111111</state>
+ </option>
+ <option>
+ <name>RTConfigPath2</name>
+ <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state>
+ </option>
+ <option>
+ <name>GBECoreSlave</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGUseCmsis</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGUseCmsisDspLib</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibThreads</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreVariant</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>GFPUDeviceSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>FPU2</name>
+ <version>0</version>
+ <state>6</state>
+ </option>
+ <option>
+ <name>NrRegs</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>NEON</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GFPUCoreSlave2</name>
+ <version>26</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGCMSISPackSelectDevice</name>
+ </option>
+ <option>
+ <name>OgLibHeap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGLibAdditionalLocale</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGPrintfVariant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGPrintfMultibyteSupport</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGScanfVariant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGScanfMultibyteSupport</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GenLocaleTags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>GenLocaleDisplayOnly</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DSPExtension</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>34</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CCOptimizationNoSizeConstraints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDefines</name>
+ <state>HSE_VALUE=8000000</state>
+ <state>HSE_STARTUP_TIMEOUT=100</state>
+ <state>LSE_STARTUP_TIMEOUT=5000</state>
+ <state>LSE_VALUE=32768</state>
+ <state>HSI_VALUE=16000000</state>
+ <state>LSI_VALUE=32000</state>
+ <state>VDD_VALUE=3300</state>
+ <state>PREFETCH_ENABLE=0</state>
+ <state>INSTRUCTION_CACHE_ENABLE=1</state>
+ <state>DATA_CACHE_ENABLE=1</state>
+ <state>STM32WB15xx</state>
+ <state>USE_FULL_LL_DRIVER</state>
+ <state>EXTERNAL_CLOCK_VALUE=4800000</state>
+ <state></state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>1</version>
+ <state>11111110</state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IEndianMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCLangConformance</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSignedPlainChar</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$/../Inc</state>
+ <state>$PROJ_DIR$/../../../../Drivers/STM32WBxx_HAL_Driver/Inc</state>
+ <state>$PROJ_DIR$/../../../../Drivers/CMSIS/Device/ST/STM32WBxx/Include</state>
+ <state>$PROJ_DIR$/../../../../Drivers/CMSIS/Include</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeSection</name>
+ <state>.text</state>
+ </option>
+ <option>
+ <name>IProcessorMode2</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CCPosIndRopi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndRwpi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndNoDynInit</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccLang</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccAllowVLA</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccStaticDestr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCppInlineSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccFloatSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptStrategySlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCGuardCalls</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccExceptions2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccRTTI2</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>10</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AltRegisterNames</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AsmNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>OBJCOPY</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OOCOutputFormat</name>
+ <version>3</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCOutputOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCOutputFile</name>
+ <state>Templates_LL.hex</state>
+ </option>
+ <option>
+ <name>OOCCommandLineProducer</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCObjCopyEnable</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ <hasPrio>0</hasPrio>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data></data>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>ILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>20</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IlinkLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkInputFileSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOutputFile</name>
+ <state>Templates_LL.out</state>
+ </option>
+ <option>
+ <name>IlinkDebugInfoEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkKeepSymbols</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkConfigDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkMapFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogInitialization</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogModule</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogSection</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogVeneer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile</name>
+ <state>$PROJ_DIR$/stm32wb15xx_flash_cm4.icf</state>
+ </option>
+ <option>
+ <name>IlinkIcfFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkSuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsRem</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkWarningsAreErrors</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkUseExtraOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkLowLevelInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAutoLibEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAdditionalLibs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabel</name>
+ <state>__iar_program_start</state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>FillerStart</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>FillerEnd</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkBufferedTerminalOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkStdoutInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcFullSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIElfToolPostProcess</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogAutoLibSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogRedirSymbols</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogUnusedFragments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcReverseByteOrder</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcUseAsInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptInline</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsAllow</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsForce</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptMergeDuplSections</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptUseVfe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptForceVfe</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackAnalysisEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackControlFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkStackCallGraphFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlgorithm</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcUnitSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkThreadsSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogCallGraph</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile_AltDefault</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEncInput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkEncOutputBom</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkHeapSelect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLocaleSelect</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IARCHIVE</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IarchiveInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IarchiveOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IarchiveOutput</name>
+ <state>###Unitialized###</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data></data>
+ </settings>
+ </configuration>
+ <group>
+ <name>Application</name>
+ <group>
+ <name>EWARM</name>
+ <file>
+ <name>$PROJ_DIR$/startup_stm32wb15xx_cm4.s</name>
+ </file>
+ </group>
+ <group>
+ <name>User</name>
+ <file>
+ <name>$PROJ_DIR$/../Src/main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../Src/stm32wbxx_it.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>Doc</name>
+ <file>
+ <name>$PROJ_DIR$/../readme.txt</name>
+ </file>
+ </group>
+ <group>
+ <name>Drivers</name>
+ <group>
+ <name>STM32WBxx_HAL_Driver</name>
+ <file>
+ <name>$PROJ_DIR$/../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_utils.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_exti.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_pwr.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$/../../../../Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_gpio.c</name>
+ </file>
+ </group>
+ <group>
+ <name>CMSIS</name>
+ <file>
+ <name>$PROJ_DIR$/../Src/system_stm32wbxx.c</name>
+ </file>
+ </group>
+ </group>
+</project>
+
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/startup_stm32wb15xx_cm4.s b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/startup_stm32wb15xx_cm4.s
new file mode 100644
index 000000000..f8b301368
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/startup_stm32wb15xx_cm4.s
@@ -0,0 +1,430 @@
+;******************************************************************************
+;* File Name : startup_stm32wb15xx_cm4.s
+;* Author : MCD Application Team
+;* Description : M4 core vector table of the STM32WB15xx devices for the
+;* IAR (EWARM) toolchain.
+;*
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == _iar_program_start,
+;* - Set the vector table entries with the exceptions ISR
+;* address.
+;* - Branches to main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2019-2021 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+;
+;
+; The modules in this file are included in the libraries, and may be replaced
+; by any user-defined modules that define the PUBLIC symbol _program_start or
+; a user defined start symbol.
+; To override the cstartup defined in the library, simply add your modified
+; version to the workbench project.
+;
+; The vector table is normally located at address 0.
+; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
+; The name "__vector_table" has special meaning for C-SPY:
+; it is where the SP start value is found, and the NVIC vector
+; table register (VTOR) is initialized to this address if != 0.
+;
+; Cortex-M version
+;
+
+ MODULE ?cstartup
+
+ ;; Forward declaration of sections.
+ SECTION CSTACK:DATA:NOROOT(3)
+
+ SECTION .intvec:CODE:NOROOT(2)
+
+ EXTERN __iar_program_start
+ EXTERN SystemInit
+ PUBLIC __vector_table
+
+ DATA
+__vector_table
+ DCD sfe(CSTACK)
+ DCD Reset_Handler ; Reset Handler
+
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD and PVM Interrupt
+ DCD TAMP_STAMP_LSECSS_IRQHandler ; RTC Tamper, TimeStamp Interrupts and LSECSS Interrupts
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup Interrupt
+ DCD FLASH_IRQHandler ; FLASH global Interrupt
+ DCD RCC_IRQHandler ; RCC Interrupt
+ DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
+ DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
+ DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
+ DCD EXTI3_IRQHandler ; EXTI Line 3 Interrupt
+ DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 Interrupt
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 Interrupt
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 Interrupt
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 Interrupt
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 Interrupt
+ DCD ADC1_IRQHandler ; ADC1 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD C2SEV_PWR_C2H_IRQHandler ; CPU M0+ SEV Interrupt
+ DCD COMP_IRQHandler ; COMP1 Interrupts
+ DCD EXTI9_5_IRQHandler ; EXTI Lines [9:5] Interrupt
+ DCD TIM1_BRK_IRQHandler ; TIM1 Break Interrupt
+ DCD TIM1_UP_IRQHandler ; TIM1 Update Interrupt
+ DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Communication Interrupts
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare Interrupt
+ DCD TIM2_IRQHandler ; TIM2 Global Interrupt
+ DCD PKA_IRQHandler ; PKA Interrupt
+ DCD I2C1_EV_IRQHandler ; I2C1 Event Interrupt
+ DCD I2C1_ER_IRQHandler ; I2C1 Error Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SPI1_IRQHandler ; SPI1 Interrupt
+ DCD 0 ; Reserved
+ DCD USART1_IRQHandler ; USART1 Interrupt
+ DCD LPUART1_IRQHandler ; LPUART1 Interrupt
+ DCD 0 ; Reserved
+ DCD TSC_IRQHandler ; TSC Interrupt
+ DCD EXTI15_10_IRQHandler ; EXTI Lines1[15:10 ]Interrupts
+ DCD RTC_Alarm_IRQHandler ; RTC Alarms (A and B) Interrupt
+ DCD 0 ; Reserved
+ DCD PWR_SOTF_BLEACT_RFPHASE_IRQHandler ; WKUP Interrupt from PWR
+ DCD IPCC_C1_RX_IRQHandler ; IPCC CPU1 RX occupied interrupt
+ DCD IPCC_C1_TX_IRQHandler ; IPCC CPU1 RX free interrupt
+ DCD HSEM_IRQHandler ; HSEM0 Interrupt
+ DCD LPTIM1_IRQHandler ; LPTIM1 Interrupt
+ DCD LPTIM2_IRQHandler ; LPTIM2 Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD AES2_IRQHandler ; AES2 Interrupt
+ DCD RNG_IRQHandler ; RNG1 Interrupt
+ DCD FPU_IRQHandler ; FPU Interrupt
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD DMAMUX1_OVR_IRQHandler ; DMAMUX overrun Interrupt
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Default interrupt handlers.
+;;
+ THUMB
+
+ PUBWEAK Reset_Handler
+ SECTION .text:CODE:NOROOT:REORDER(2)
+Reset_Handler
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__iar_program_start
+ BX R0
+
+ PUBWEAK NMI_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+NMI_Handler
+ B NMI_Handler
+
+ PUBWEAK HardFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+HardFault_Handler
+ B HardFault_Handler
+
+ PUBWEAK MemManage_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+MemManage_Handler
+ B MemManage_Handler
+
+ PUBWEAK BusFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+BusFault_Handler
+ B BusFault_Handler
+
+ PUBWEAK UsageFault_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+UsageFault_Handler
+ B UsageFault_Handler
+
+ PUBWEAK SVC_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SVC_Handler
+ B SVC_Handler
+
+ PUBWEAK DebugMon_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DebugMon_Handler
+ B DebugMon_Handler
+
+ PUBWEAK PendSV_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PendSV_Handler
+ B PendSV_Handler
+
+ PUBWEAK SysTick_Handler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SysTick_Handler
+ B SysTick_Handler
+
+ PUBWEAK WWDG_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+WWDG_IRQHandler
+ B WWDG_IRQHandler
+
+ PUBWEAK PVD_PVM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PVD_PVM_IRQHandler
+ B PVD_PVM_IRQHandler
+
+ PUBWEAK TAMP_STAMP_LSECSS_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TAMP_STAMP_LSECSS_IRQHandler
+ B TAMP_STAMP_LSECSS_IRQHandler
+
+ PUBWEAK RTC_WKUP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RTC_WKUP_IRQHandler
+ B RTC_WKUP_IRQHandler
+
+ PUBWEAK FLASH_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+FLASH_IRQHandler
+ B FLASH_IRQHandler
+
+ PUBWEAK RCC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RCC_IRQHandler
+ B RCC_IRQHandler
+
+ PUBWEAK EXTI0_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI0_IRQHandler
+ B EXTI0_IRQHandler
+
+ PUBWEAK EXTI1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI1_IRQHandler
+ B EXTI1_IRQHandler
+
+ PUBWEAK EXTI2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI2_IRQHandler
+ B EXTI2_IRQHandler
+
+ PUBWEAK EXTI3_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI3_IRQHandler
+ B EXTI3_IRQHandler
+
+ PUBWEAK EXTI4_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI4_IRQHandler
+ B EXTI4_IRQHandler
+
+ PUBWEAK DMA1_Channel1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel1_IRQHandler
+ B DMA1_Channel1_IRQHandler
+
+ PUBWEAK DMA1_Channel2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel2_IRQHandler
+ B DMA1_Channel2_IRQHandler
+
+ PUBWEAK DMA1_Channel3_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel3_IRQHandler
+ B DMA1_Channel3_IRQHandler
+
+ PUBWEAK DMA1_Channel4_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel4_IRQHandler
+ B DMA1_Channel4_IRQHandler
+
+ PUBWEAK DMA1_Channel5_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel5_IRQHandler
+ B DMA1_Channel5_IRQHandler
+
+ PUBWEAK DMA1_Channel6_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel6_IRQHandler
+ B DMA1_Channel6_IRQHandler
+
+ PUBWEAK DMA1_Channel7_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMA1_Channel7_IRQHandler
+ B DMA1_Channel7_IRQHandler
+
+ PUBWEAK ADC1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+ADC1_IRQHandler
+ B ADC1_IRQHandler
+
+ PUBWEAK C2SEV_PWR_C2H_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+C2SEV_PWR_C2H_IRQHandler
+ B C2SEV_PWR_C2H_IRQHandler
+
+ PUBWEAK COMP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+COMP_IRQHandler
+ B COMP_IRQHandler
+
+ PUBWEAK EXTI9_5_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI9_5_IRQHandler
+ B EXTI9_5_IRQHandler
+
+ PUBWEAK TIM1_BRK_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_BRK_IRQHandler
+ B TIM1_BRK_IRQHandler
+
+ PUBWEAK TIM1_UP_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_UP_IRQHandler
+ B TIM1_UP_IRQHandler
+
+ PUBWEAK TIM1_TRG_COM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_TRG_COM_IRQHandler
+ B TIM1_TRG_COM_IRQHandler
+
+ PUBWEAK TIM1_CC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM1_CC_IRQHandler
+ B TIM1_CC_IRQHandler
+
+ PUBWEAK TIM2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TIM2_IRQHandler
+ B TIM2_IRQHandler
+
+ PUBWEAK PKA_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PKA_IRQHandler
+ B PKA_IRQHandler
+
+ PUBWEAK I2C1_EV_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+I2C1_EV_IRQHandler
+ B I2C1_EV_IRQHandler
+
+ PUBWEAK I2C1_ER_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+I2C1_ER_IRQHandler
+ B I2C1_ER_IRQHandler
+
+ PUBWEAK SPI1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+SPI1_IRQHandler
+ B SPI1_IRQHandler
+
+ PUBWEAK USART1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+USART1_IRQHandler
+ B USART1_IRQHandler
+
+ PUBWEAK LPUART1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPUART1_IRQHandler
+ B LPUART1_IRQHandler
+
+ PUBWEAK TSC_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+TSC_IRQHandler
+ B TSC_IRQHandler
+
+ PUBWEAK EXTI15_10_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+EXTI15_10_IRQHandler
+ B EXTI15_10_IRQHandler
+
+ PUBWEAK RTC_Alarm_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RTC_Alarm_IRQHandler
+ B RTC_Alarm_IRQHandler
+
+ PUBWEAK PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+ B PWR_SOTF_BLEACT_RFPHASE_IRQHandler
+
+ PUBWEAK IPCC_C1_RX_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+IPCC_C1_RX_IRQHandler
+ B IPCC_C1_RX_IRQHandler
+
+ PUBWEAK IPCC_C1_TX_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+IPCC_C1_TX_IRQHandler
+ B IPCC_C1_TX_IRQHandler
+
+ PUBWEAK HSEM_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+HSEM_IRQHandler
+ B HSEM_IRQHandler
+
+ PUBWEAK LPTIM1_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPTIM1_IRQHandler
+ B LPTIM1_IRQHandler
+
+ PUBWEAK LPTIM2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+LPTIM2_IRQHandler
+ B LPTIM2_IRQHandler
+
+ PUBWEAK AES2_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+AES2_IRQHandler
+ B AES2_IRQHandler
+
+ PUBWEAK RNG_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+RNG_IRQHandler
+ B RNG_IRQHandler
+
+ PUBWEAK FPU_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+FPU_IRQHandler
+ B FPU_IRQHandler
+
+ PUBWEAK DMAMUX1_OVR_IRQHandler
+ SECTION .text:CODE:NOROOT:REORDER(1)
+DMAMUX1_OVR_IRQHandler
+ B DMAMUX1_OVR_IRQHandler
+
+ END
+
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/stm32wb15xx_flash_cm4.icf b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/stm32wb15xx_flash_cm4.icf
new file mode 100644
index 000000000..a8ad1f356
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/EWARM/stm32wb15xx_flash_cm4.icf
@@ -0,0 +1,40 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/
+/*-Editor annotation file-*/
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
+/*-Specials-*/
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+/*-Memory Regions-*/
+/***** FLASH Part dedicated to M4 *****/
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x0801B7FF;
+define symbol __ICFEDIT_region_RAM_start__ = 0x20000008;
+define symbol __ICFEDIT_region_RAM_end__ = 0x20002FFF;
+/*-Sizes-*/
+define symbol __ICFEDIT_size_cstack__ = 0x400;
+define symbol __ICFEDIT_size_heap__ = 0x200;
+/**** End of ICF editor section. ###ICF###*/
+
+define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
+define symbol __ICFEDIT_region_RAM_SHARED_end__ = 0x200327FF;
+
+define memory mem with size = 4G;
+define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
+define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
+define region RAM_SHARED_region = mem:[from __ICFEDIT_region_RAM_SHARED_start__ to __ICFEDIT_region_RAM_SHARED_end__];
+
+define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
+define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
+
+/* MB_MEM1 and MB_MEM2 are sections reserved to mailbox communication. It is placed in the shared memory */
+initialize by copy { readwrite };
+do not initialize { section .noinit,
+ section MAPPING_TABLE,
+ section MB_MEM1 };
+
+place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+
+place in ROM_region { readonly };
+place in RAM_region { readwrite, block CSTACK, block HEAP };
+place in RAM_SHARED_region { first section MAPPING_TABLE};
+place in RAM_SHARED_region { section MB_MEM1};
+place in RAM_SHARED_region { section MB_MEM2};
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/Inc/main.h b/Projects/NUCLEO-WB15CC/Templates_LL/Inc/main.h
new file mode 100644
index 000000000..fd0891a74
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/Inc/main.h
@@ -0,0 +1,93 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32wbxx_ll_crs.h"
+#include "stm32wbxx_ll_rcc.h"
+#include "stm32wbxx_ll_bus.h"
+#include "stm32wbxx_ll_system.h"
+#include "stm32wbxx_ll_exti.h"
+#include "stm32wbxx_ll_cortex.h"
+#include "stm32wbxx_ll_utils.h"
+#include "stm32wbxx_ll_pwr.h"
+#include "stm32wbxx_ll_dma.h"
+#include "stm32wbxx_ll_gpio.h"
+
+#if defined(USE_FULL_ASSERT)
+#include "stm32_assert.h"
+#endif /* USE_FULL_ASSERT */
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+#ifndef NVIC_PRIORITYGROUP_0
+#define NVIC_PRIORITYGROUP_0 ((uint32_t)0x00000007) /*!< 0 bit for pre-emption priority,
+ 4 bits for subpriority */
+#define NVIC_PRIORITYGROUP_1 ((uint32_t)0x00000006) /*!< 1 bit for pre-emption priority,
+ 3 bits for subpriority */
+#define NVIC_PRIORITYGROUP_2 ((uint32_t)0x00000005) /*!< 2 bits for pre-emption priority,
+ 2 bits for subpriority */
+#define NVIC_PRIORITYGROUP_3 ((uint32_t)0x00000004) /*!< 3 bits for pre-emption priority,
+ 1 bit for subpriority */
+#define NVIC_PRIORITYGROUP_4 ((uint32_t)0x00000003) /*!< 4 bits for pre-emption priority,
+ 0 bit for subpriority */
+#endif
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32_assert.h b/Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32_assert.h
new file mode 100644
index 000000000..cfae07013
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32_assert.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32_assert.h
+ * @brief STM32 assert file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32_ASSERT_H
+#define __STM32_ASSERT_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+/* Includes ------------------------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr: If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval None
+ */
+ #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+ void assert_failed(uint8_t* file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32_ASSERT_H */
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32wbxx_it.h b/Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32wbxx_it.h
new file mode 100644
index 000000000..449fae0af
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/Inc/stm32wbxx_it.h
@@ -0,0 +1,66 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32wbxx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32WBxx_IT_H
+#define __STM32WBxx_IT_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32WBxx_IT_H */
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/LICENSE.md b/Projects/NUCLEO-WB15CC/Templates_LL/LICENSE.md
new file mode 100644
index 000000000..06b212251
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/LICENSE.md
@@ -0,0 +1,27 @@
+Copyright 2019-2021 STMicroelectronics.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+may be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/Src/main.c b/Projects/NUCLEO-WB15CC/Templates_LL/Src/main.c
new file mode 100644
index 000000000..30ee82c44
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/Src/main.c
@@ -0,0 +1,201 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file Templates_LL/Src/main.c
+ * @author MCD Application Team
+ * @brief Main program body
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main(void)
+{
+ /* USER CODE BEGIN 1 */
+
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+
+ NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
+
+ /* System interrupt init*/
+
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+
+/* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ /* USER CODE BEGIN 2 */
+
+ /* USER CODE END 2 */
+
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+ while (1)
+ {
+ /* USER CODE END WHILE */
+
+ /* USER CODE BEGIN 3 */
+ }
+ /* USER CODE END 3 */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ /* HSI configuration and activation */
+ LL_RCC_HSI_Enable();
+ while(LL_RCC_HSI_IsReady() != 1)
+ {
+ }
+
+ /* Sysclk activation on the HSI */
+ /* Set CPU1 prescaler*/
+ LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);
+
+ /* Set CPU2 prescaler*/
+ LL_C2_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_2);
+
+ LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSI);
+ while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_HSI)
+ {
+ }
+
+ /* Set AHB SHARED prescaler*/
+ LL_RCC_SetAHB4Prescaler(LL_RCC_SYSCLK_DIV_1);
+
+ /* Set APB1 prescaler*/
+ LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1);
+
+ /* Set APB2 prescaler*/
+ LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1);
+
+ LL_Init1msTick(16000000);
+
+ /* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
+ LL_SetSystemCoreClock(16000000);
+}
+
+/**
+ * @brief Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void)
+{
+ LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
+ LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
+ LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_NONE);
+ /* USER CODE BEGIN Smps */
+
+ /* USER CODE END Smps */
+}
+
+/* USER CODE BEGIN 4 */
+
+/* USER CODE END 4 */
+
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ while(1)
+ {
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(uint8_t *file, uint32_t line)
+{
+ /* USER CODE BEGIN 6 */
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+ /* Infinite loop */
+ while (1)
+ {
+ }
+
+ /* USER CODE END 6 */
+}
+#endif /* USE_FULL_ASSERT */
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/Src/stm32wbxx_it.c b/Projects/NUCLEO-WB15CC/Templates_LL/Src/stm32wbxx_it.c
new file mode 100644
index 000000000..9f308fe0a
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/Src/stm32wbxx_it.c
@@ -0,0 +1,204 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file Templates/Src/stm32wbxx_it.c
+ * @author MCD Application Team
+ * @brief Main Interrupt Service Routines.
+ * This file provides template for all exceptions handler and
+ * peripherals interrupt service routine.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "stm32wbxx_it.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* External variables --------------------------------------------------------*/
+
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/******************************************************************************/
+/* Cortex Processor Interruption and Exception Handlers */
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+
+ /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ /* USER CODE END W1_HardFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
+ /* USER CODE END W1_MemoryManagement_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Prefetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_BusFault_IRQn 0 */
+ /* USER CODE END W1_BusFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
+ /* USER CODE END W1_UsageFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ /* USER CODE BEGIN SVCall_IRQn 0 */
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ /* USER CODE BEGIN DebugMonitor_IRQn 0 */
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void)
+{
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+
+/******************************************************************************/
+/* STM32WBxx Peripheral Interrupt Handlers */
+/* Add here the Interrupt Handlers for the used peripherals. */
+/* For the available peripheral interrupt handler names, */
+/* please refer to the startup file (startup_stm32wbxx.s). */
+/******************************************************************************/
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/Src/system_stm32wbxx.c b/Projects/NUCLEO-WB15CC/Templates_LL/Src/system_stm32wbxx.c
new file mode 100644
index 000000000..6121a3fff
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/Src/system_stm32wbxx.c
@@ -0,0 +1,362 @@
+/**
+ ******************************************************************************
+ * @file system_stm32wbxx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex Device Peripheral Access Layer System Source File
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32wbxx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ * After each device reset the MSI (4 MHz) is used as system clock source.
+ * Then SystemInit() function is called, in "startup_stm32wbxx.s" file, to
+ * configure the system clock before to branch to main program.
+ *
+ * This file configures the system clock as follows:
+ *=============================================================================
+ *-----------------------------------------------------------------------------
+ * System Clock source | MSI
+ *-----------------------------------------------------------------------------
+ * SYSCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * HCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * AHB Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB1 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB2 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * PLL_M | 1
+ *-----------------------------------------------------------------------------
+ * PLL_N | 8
+ *-----------------------------------------------------------------------------
+ * PLL_P | 7
+ *-----------------------------------------------------------------------------
+ * PLL_Q | 2
+ *-----------------------------------------------------------------------------
+ * PLL_R | 2
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_R | NA
+ *-----------------------------------------------------------------------------
+ * Require 48MHz for USB OTG FS, | Disabled
+ * SDIO and RNG clock |
+ *-----------------------------------------------------------------------------
+ *=============================================================================
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019-2021 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup stm32WBxx_system
+ * @{
+ */
+
+/** @addtogroup stm32WBxx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32wbxx.h"
+
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE (32000000UL) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE (4000000UL) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE (16000000UL) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE (32000UL) /*!< Value of LSI in Hz*/
+#endif /* LSI_VALUE */
+
+#if !defined (LSE_VALUE)
+ #define LSE_VALUE (32768UL) /*!< Value of LSE in Hz*/
+#endif /* LSE_VALUE */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Defines
+ * @{
+ */
+
+/* Note: Following vector table addresses must be defined in line with linker
+ configuration. */
+/*!< Uncomment the following line if you need to relocate CPU1 CM4 and/or CPU2
+ CM0+ vector table anywhere in Sram or Flash. Else vector table will be kept
+ at address 0x00 which correspond to automatic remap of boot address selected */
+/* #define USER_VECT_TAB_ADDRESS */
+#if defined(USER_VECT_TAB_ADDRESS)
+ /*!< Uncomment this line for user vector table remap in Sram else user remap
+ will be done in Flash. */
+/* #define VECT_TAB_SRAM */
+#if defined(VECT_TAB_SRAM)
+#define VECT_TAB_BASE_ADDRESS SRAM1_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x200. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+#else
+#define VECT_TAB_BASE_ADDRESS FLASH_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x200. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+#endif
+#endif
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Variables
+ * @{
+ */
+ /* The SystemCoreClock variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+ uint32_t SystemCoreClock = 4000000UL ; /*CPU1: M4 on MSI clock after startup (4MHz)*/
+
+ const uint32_t AHBPrescTable[16UL] = {1UL, 3UL, 5UL, 1UL, 1UL, 6UL, 10UL, 32UL, 2UL, 4UL, 8UL, 16UL, 64UL, 128UL, 256UL, 512UL};
+
+ const uint32_t APBPrescTable[8UL] = {0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL};
+
+ const uint32_t MSIRangeTable[16UL] = {100000UL, 200000UL, 400000UL, 800000UL, 1000000UL, 2000000UL, \
+ 4000000UL, 8000000UL, 16000000UL, 24000000UL, 32000000UL, 48000000UL, 0UL, 0UL, 0UL, 0UL}; /* 0UL values are incorrect cases */
+
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx) || defined (STM32WB15xx)
+ const uint32_t SmpsPrescalerTable[4UL][6UL]={{1UL,3UL,2UL,2UL,1UL,2UL}, \
+ {2UL,6UL,4UL,3UL,2UL,4UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}, \
+ {4UL,12UL,8UL,6UL,4UL,8UL}};
+#endif
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32WBxx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * @param None
+ * @retval None
+ */
+void SystemInit(void)
+{
+#if defined(USER_VECT_TAB_ADDRESS)
+ /* Configure the Vector Table location add offset address ------------------*/
+ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET;
+#endif
+
+ /* FPU settings ------------------------------------------------------------*/
+ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+ SCB->CPACR |= ((3UL << (10UL*2UL))|(3UL << (11UL*2UL))); /* set CP10 and CP11 Full Access */
+ #endif
+
+ /* Reset the RCC clock configuration to the default reset state ------------*/
+ /* Set MSION bit */
+ RCC->CR |= RCC_CR_MSION;
+
+ /* Reset CFGR register */
+ RCC->CFGR = 0x00070000U;
+
+ /* Reset PLLSAI1ON, PLLON, HSECSSON, HSEON, HSION, and MSIPLLON bits */
+ RCC->CR &= (uint32_t)0xFAF6FEFBU;
+
+ /*!< Reset LSI1 and LSI2 bits */
+ RCC->CSR &= (uint32_t)0xFFFFFFFAU;
+
+ /*!< Reset HSI48ON bit */
+ RCC->CRRCR &= (uint32_t)0xFFFFFFFEU;
+
+ /* Reset PLLCFGR register */
+ RCC->PLLCFGR = 0x22041000U;
+
+#if defined(STM32WB55xx) || defined(STM32WB5Mxx)
+ /* Reset PLLSAI1CFGR register */
+ RCC->PLLSAI1CFGR = 0x22041000U;
+#endif
+
+ /* Reset HSEBYP bit */
+ RCC->CR &= 0xFFFBFFFFU;
+
+ /* Disable all interrupts */
+ RCC->CIER = 0x00000000;
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***)
+ * or HSI_VALUE(*) or MSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) MSI_VALUE is a constant defined in stm32wbxx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSI_VALUE is a constant defined in stm32wbxx_hal_conf.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***) HSE_VALUE is a constant defined in stm32wbxx_hal_conf.h file (default value
+ * 32 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ *
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate(void)
+{
+ uint32_t tmp, msirange, pllvco, pllr, pllsource , pllm;
+
+ /* Get MSI Range frequency--------------------------------------------------*/
+
+ /*MSI frequency range in Hz*/
+ msirange = MSIRangeTable[(RCC->CR & RCC_CR_MSIRANGE) >> RCC_CR_MSIRANGE_Pos];
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case 0x00: /* MSI used as system clock source */
+ SystemCoreClock = msirange;
+ break;
+
+ case 0x04: /* HSI used as system clock source */
+ /* HSI used as system clock source */
+ SystemCoreClock = HSI_VALUE;
+ break;
+
+ case 0x08: /* HSE used as system clock source */
+ SystemCoreClock = HSE_VALUE;
+ break;
+
+ case 0x0C: /* PLL used as system clock source */
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or MSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC);
+ pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1UL ;
+
+ if(pllsource == 0x02UL) /* HSI used as PLL clock source */
+ {
+ pllvco = (HSI_VALUE / pllm);
+ }
+ else if(pllsource == 0x03UL) /* HSE used as PLL clock source */
+ {
+ pllvco = (HSE_VALUE / pllm);
+ }
+ else /* MSI used as PLL clock source */
+ {
+ pllvco = (msirange / pllm);
+ }
+
+ pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos);
+ pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1UL);
+
+ SystemCoreClock = pllvco/pllr;
+ break;
+
+ default:
+ SystemCoreClock = msirange;
+ break;
+ }
+
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK1 prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos)];
+ /* HCLK clock frequency */
+ SystemCoreClock = SystemCoreClock / tmp;
+
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/Templates_LL.ioc b/Projects/NUCLEO-WB15CC/Templates_LL/Templates_LL.ioc
new file mode 100644
index 000000000..3a02b8c39
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/Templates_LL.ioc
@@ -0,0 +1,106 @@
+#MicroXplorer Configuration settings - do not modify
+File.Version=6
+GPIO.groupedBy=
+KeepUserPlacement=false
+Mcu.Family=STM32WB
+Mcu.IP0=NVIC
+Mcu.IP1=RCC
+Mcu.IP2=SYS
+Mcu.IPNb=3
+Mcu.Name=STM32WB15CCUx
+Mcu.Package=UFQFPN48
+Mcu.Pin0=VP_SYS_VS_Systick
+Mcu.PinsNb=1
+Mcu.ThirdPartyNb=0
+Mcu.UserConstants=
+Mcu.UserName=STM32WB15CCUx
+MxCube.Version=6.4.0
+MxDb.Version=DB.6.0.40
+NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.ForceEnableDMAVector=true
+NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
+NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
+NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PCC.Ble.ConnectionInterval=1000.0
+PCC.Ble.DataLength=6
+PCC.Ble.IsUsed=false
+PCC.Ble.Mode=NOT_SELECTED
+PCC.Ble.PowerLevel=Min
+PinOutPanel.RotationAngle=0
+ProjectManager.AskForMigrate=true
+ProjectManager.BackupPrevious=false
+ProjectManager.CompilerOptimize=6
+ProjectManager.ComputerToolchain=false
+ProjectManager.CoupleFile=false
+ProjectManager.DeletePrevious=true
+ProjectManager.DeviceId=STM32WB15CCUx
+ProjectManager.FreePins=false
+ProjectManager.HalAssertFull=false
+ProjectManager.HeapSize=0x200
+ProjectManager.KeepUserCode=true
+ProjectManager.LastFirmware=true
+ProjectManager.LibraryCopy=2
+ProjectManager.MainLocation=Src
+ProjectManager.NoMain=false
+ProjectManager.PreviousToolchain=
+ProjectManager.ProjectBuild=false
+ProjectManager.ProjectFileName=Templates_LL.ioc
+ProjectManager.ProjectName=Templates_LL
+ProjectManager.RegisterCallBack=
+ProjectManager.StackSize=0x400
+ProjectManager.TargetToolchain=EWARM V8
+ProjectManager.ToolChainLocation=
+ProjectManager.UnderRoot=false
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false
+RCC.AHB2CLKDivider=RCC_SYSCLK_DIV2
+RCC.AHBFreq_Value=16000000
+RCC.APB1Freq_Value=16000000
+RCC.APB1TimFreq_Value=16000000
+RCC.APB2Freq_Value=16000000
+RCC.APB2TimFreq_Value=16000000
+RCC.APB3Freq_Value=16000000
+RCC.Cortex2Freq_Value=8000000
+RCC.CortexFreq_Value=16000000
+RCC.FCLK2Freq_Value=8000000
+RCC.FCLKCortexFreq_Value=16000000
+RCC.FamilyName=M
+RCC.HCLK2Freq_Value=8000000
+RCC.HCLK3Freq_Value=16000000
+RCC.HCLKFreq_Value=16000000
+RCC.HCLKRFFreq_Value=16000000
+RCC.HSE_VALUE=8000000
+RCC.HSI_VALUE=16000000
+RCC.I2C1Freq_Value=16000000
+RCC.IPParameters=AHB2CLKDivider,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SMPS1Freq_Value,SMPSFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
+RCC.LPTIM1Freq_Value=16000000
+RCC.LPTIM2Freq_Value=16000000
+RCC.LPUART1Freq_Value=16000000
+RCC.LSCOPinFreq_Value=32000
+RCC.LSE_VALUE=32768
+RCC.LSI_VALUE=32000
+RCC.MCO1PinFreq_Value=16000000
+RCC.PLLN=32
+RCC.PLLPoutputFreq_Value=64000000
+RCC.PLLQoutputFreq_Value=64000000
+RCC.PLLRCLKFreq_Value=64000000
+RCC.PWRFreq_Value=16000000
+RCC.RFWKPFreq_Value=32768
+RCC.RNGFreq_Value=32000
+RCC.SMPS1Freq_Value=8000000
+RCC.SMPSFreq_Value=4000000
+RCC.SYSCLKFreq_VALUE=16000000
+RCC.SYSCLKSource=RCC_SYSCLKSOURCE_HSI
+RCC.USART1Freq_Value=16000000
+RCC.VCOInputFreq_Value=4000000
+RCC.VCOOutputFreq_Value=128000000
+VP_SYS_VS_Systick.Mode=SysTick
+VP_SYS_VS_Systick.Signal=SYS_VS_Systick
+board=custom
+ProjectManager.Example=Templates_LL
+ProjectManager.ExampleSource=CubeFw
diff --git a/Projects/NUCLEO-WB15CC/Templates_LL/readme.txt b/Projects/NUCLEO-WB15CC/Templates_LL/readme.txt
new file mode 100644
index 000000000..989fff4ef
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Templates_LL/readme.txt
@@ -0,0 +1,88 @@
+/**
+ @page Templates_LL Description of the Templates_LL example
+
+ @verbatim
+ ******************************************************************************
+ * @file Templates_LL/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the Templates_LL example.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2019 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ @endverbatim
+
+@par Example Description
+
+This projects provides a reference template through the LL API that can be used to build any firmware application.
+
+This project LL template provides:
+ - Inclusion of all LL drivers (include files in "main.h" and LL sources files in IDE environment, with option "USE_FULL_LL_DRIVER" in IDE environment)
+ Note: If optimization is needed afterwards, user can perform a cleanup by removing unused drivers.
+ - Definition of LEDs and user button (file: main.h)
+ Note: User button name printed on board may differ from naming "user button" in code: "key button", ...
+ - Clock configuration (file: main.c)
+
+This project LL template does not provide:
+ - Functions to initialize and control LED and user button
+ - Functions to manage IRQ handler of user button
+
+To port a LL example to the targeted board:
+1. Select the LL example to port.
+ To find the board on which LL examples are deployed, refer to LL examples list in "STM32CubeProjectsList.html", table section "Examples_LL"
+ or AN : STM32Cube firmware examples for stm32wbxx Series
+
+2. Replace source files of the LL template by the ones of the LL example, except code specific to board.
+ Note: Code specific to board is specified between tags:
+ /* ============== BOARD SPECIFIC CONFIGURATION CODE BEGIN ============== */
+ /* ============== BOARD SPECIFIC CONFIGURATION CODE END ============== */
+
+ - Replace file main.h, with updates:
+ - Keep LED and user button definition of the LL template under tags
+
+ - Replace file main.c, with updates:
+ - Keep clock configuration of the LL template: function "SystemClock_Config()"
+ - Depending of LED availability, replace LEDx_PIN by another LEDx (number) available in file main.h
+
+ - Replace file stm32wbxx_it.h
+ - Replace file stm32wbxx_it.c
+
+
+@par Keywords
+
+Template LL,
+
+@par Directory contents
+
+ - Templates_LL/Inc/stm32wbxx_it.h Interrupt handlers header file
+ - Templates_LL/Inc/main.h Header for main.c module
+ - Templates_LL/Inc/stm32_assert.h Template file to include assert_failed function
+ - Templates_LL/Src/stm32wbxx_it.c Interrupt handlers
+ - Templates_LL/Src/main.c Main program
+ - Templates_LL/Src/system_stm32wbxx.c STM32WBxx system source file
+
+
+@par Hardware and Software environment
+
+ - This example runs on STM32WB15xx devices.
+
+ - This example has been tested with NUCLEO-WB15CC board and can be
+ easily tailored to any other supported device and development board.
+
+
+@par How to use it ?
+
+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
+
+ * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
+ */