From 2d1f0ea0748169a268228d0f7b6416e5127e6027 Mon Sep 17 00:00:00 2001 From: rihab kouki Date: Mon, 26 Apr 2021 16:54:33 +0100 Subject: Release v1.11.1 --- Middlewares/ST/STM32_WPAN/Release_Notes.html | 58 +- .../ST/STM32_WPAN/ble/core/auto/ble_events.h | 111 +- .../ST/STM32_WPAN/ble/core/auto/ble_gap_aci.h | 53 +- .../ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.h | 6 +- .../ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c | 21 + .../ST/STM32_WPAN/ble/core/auto/ble_hal_aci.h | 29 +- .../ST/STM32_WPAN/ble/core/auto/ble_hci_le.h | 189 ++- .../ST/STM32_WPAN/ble/core/auto/ble_types.h | 10 + Middlewares/ST/STM32_WPAN/ble/core/ble_legacy.h | 165 ++- Middlewares/ST/STM32_WPAN/ble/core/ble_std.h | 98 +- .../core/doc/STM32WB_BLE_Wireless_Interface.html | 255 ++-- .../ble/mesh/Library/libBle_Mesh_CM4_GCC.a | Bin 306334 -> 306366 bytes .../ble/mesh/Library/libBle_Mesh_CM4_GCC_DEBUG.a | Bin 3059000 -> 3059616 bytes .../ble/mesh/Library/libBle_Mesh_CM4_IAR.a | Bin 672542 -> 673378 bytes .../ble/mesh/Library/libBle_Mesh_CM4_IAR_DEBUG.a | Bin 3475434 -> 3478320 bytes .../ble/mesh/Library/libBle_Mesh_CM4_Keil.lib | Bin 554658 -> 554690 bytes .../mesh/Library/libBle_Mesh_CM4_Keil_DEBUG.lib | Bin 3577740 -> 3578072 bytes .../interface/patterns/ble_thread/lhci/lhci.c | 5 +- .../interface/patterns/ble_thread/shci/shci.c | 10 - Middlewares/ST/STM32_WPAN/stm32_wpan_common.h | 2 +- .../ST/STM32_WPAN/utilities/utilities_common.h | 2 +- .../BLE/BLE_DataThroughput/Core/Inc/app_conf.h | 12 +- .../Core/Inc/stm32wbxx_hal_conf.h | 4 +- .../BLE/BLE_DataThroughput/STM32CubeIDE/.cproject | 2 + .../BLE_DataThroughput/STM32_WPAN/App/app_ble.c | 4 +- .../STM32_WPAN/App/dt_client_app.c | 6 +- .../BLE/BLE_HeartRate/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_HeartRate_ota/Core/Inc/app_conf.h | 2 +- .../MDK-ARM/BLE_HeartRate_ota.uvoptx | 949 +++++++++++++ .../MDK-ARM/BLE_HeartRate_ota.uvprojx | 756 +++++++++++ .../MDK-ARM/startup_stm32wb15xx_cm4.s | 336 +++++ .../MDK-ARM/stm32wb15xx_flash_cm4.sct | 34 + .../Applications/BLE/BLE_Ota/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_TransparentMode/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_TransparentMode/STM32_WPAN/App/tm.c | 4 +- .../BLE/BLE_p2pClient/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pServer/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.c | 6 - .../BLE/BLE_p2pServer_ota/Core/Inc/app_conf.h | 2 +- .../MDK-ARM/BLE_p2pServer_ota.uvoptx | 937 +++++++++++++ .../MDK-ARM/BLE_p2pServer_ota.uvprojx | 735 ++++++++++ .../MDK-ARM/startup_stm32wb15xx_cm4.s | 336 +++++ .../MDK-ARM/stm32wb15xx_flash_cm4.sct | 34 + .../BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.c | 8 +- Projects/NUCLEO-WB15CC/Release_Notes.html | 20 +- .../BLE/BLE_Beacon/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_BloodPressure/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_CableReplacement/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_Custom/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_DataThroughput/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_DataThroughput/STM32CubeIDE/.cproject | 3 +- .../BLE/BLE_HealthThermometer/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_HeartRate/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_HeartRateFreeRTOS/Core/Inc/app_conf.h | 2 +- .../BLE_HeartRateFreeRTOS_ANCS/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_HeartRate_ANCS/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_HeartRate_ota/Core/Inc/app_conf.h | 2 +- .../Applications/BLE/BLE_Hid/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_MeshLightingLPN/Core/Inc/app_conf.h | 2 +- .../BLE_MeshLightingPRFNode/Core/Inc/app_conf.h | 2 +- .../Core/Inc/app_conf.h | 2 +- .../STM32_WPAN/app/appli_nvm.c | 4 +- .../BLE/BLE_MultiAppAt/Core/Inc/app_conf.h | 2 +- .../Applications/BLE/BLE_Ota/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_Ota/Core/Inc/flash_driver.h | 179 +++ .../Applications/BLE/BLE_Ota/Core/Src/app_entry.c | 3 + .../BLE/BLE_Ota/Core/Src/flash_driver.c | 322 +++++ .../BLE/BLE_Ota/Core/Src/system_stm32wbxx.c | 43 +- .../Applications/BLE/BLE_Ota/EWARM/BLE_Ota.ewp | 9 +- .../BLE/BLE_Ota/MDK-ARM/BLE_Ota.uvoptx | 856 +++++++++++- .../BLE/BLE_Ota/MDK-ARM/BLE_Ota.uvprojx | 205 ++- .../Applications/BLE/BLE_Ota/STM32CubeIDE/.project | 5 + .../BLE/BLE_Ota/STM32_WPAN/App/app_ble.c | 59 +- .../BLE/BLE_Ota/STM32_WPAN/App/otas_app.c | 30 +- .../BLE/BLE_Peripheral_Lite/Inc/app_conf.h | 2 +- .../BLE/BLE_Proximity/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_RfWithFlash/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_TransparentMode/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pClient/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pRouteur/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pServer/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pServer/STM32_WPAN/App/app_ble.c | 8 +- .../BLE/BLE_p2pServer_ota/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pServer_ota/STM32_WPAN/App/app_ble.c | 8 +- .../STM32_WPAN/App/app_ffd_mac_802_15_4.c | 8 + .../Phy_802_15_4_Cli/Core/Src/app_lld_tests.c | 2 +- .../Phy_802_15_4_Cli/EWARM/Phy_802_15_4_Cli.ewp | 12 +- .../Phy_802_15_4_Cli/EWARM/app_lld_tests_iar_asm.s | 86 ++ .../Phy_802_15_4/Phy_802_15_4_Cli/readme.txt | 1 + .../Thread/Thread_Cli_Cmd/Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/stm32wbxx_it.h | 2 - .../Thread_Coap_Generic/Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/stm32wbxx_it.h | 4 +- .../Thread_Coap_MultiBoard/Core/Inc/stm32wbxx_it.h | 2 - .../Thread_Coap_Secure/Core/Inc/stm32wbxx_it.h | 4 +- .../Thread_Commissioning/Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/stm32wbxx_it.h | 2 - .../Thread/Thread_Ota/Core/Inc/stm32wbxx_it.h | 4 +- .../Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/stm32wbxx_it.h | 2 - .../Thread/Thread_Udp/Core/Inc/stm32wbxx_it.h | 4 +- .../HID_Standalone/MDK-ARM/HID_Standalone.uvoptx | 661 +++++++++ .../HID_Standalone/MDK-ARM/HID_Standalone.uvprojx | 607 +++++++++ .../MDK-ARM/startup_stm32wb55xx_cm4.s | 368 +++++ .../MDK-ARM/stm32wb55xx_flash_cm4.sct | 21 + .../Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/stm32wbxx_it.h | 2 - .../STM32_WPAN/App/app_zigbee.c | 4 +- .../Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/FreeRTOSConfig.h | 171 +++ .../Core/Inc/app_common.h | 119 ++ .../Core/Inc/app_conf.h | 338 +++++ .../Core/Inc/app_entry.h | 68 + .../Core/Inc/hw_conf.h | 268 ++++ .../Core/Inc/hw_if.h | 250 ++++ .../Core/Inc/main.h | 76 ++ .../Core/Inc/stm32_lpm_if.h | 81 ++ .../Core/Inc/stm32wbxx_hal_conf.h | 353 +++++ .../Core/Inc/stm32wbxx_it.h | 81 ++ .../Core/Inc/stm_logging.h | 60 + .../Core/Inc/utilities_conf.h | 68 + .../Core/Src/app_entry.c | 547 ++++++++ .../Core/Src/freertos_port.c | 322 +++++ .../Core/Src/hw_timerserver.c | 895 ++++++++++++ .../Core/Src/hw_uart.c | 320 +++++ .../Core/Src/main.c | 749 +++++++++++ .../Core/Src/stm32_lpm_if.c | 295 ++++ .../Core/Src/stm32wbxx_hal_msp.c | 391 ++++++ .../Core/Src/stm32wbxx_hal_timebase_tim.c | 149 ++ .../Core/Src/stm32wbxx_it.c | 396 ++++++ .../Core/Src/stm_logging.c | 204 +++ .../Core/Src/system_stm32wbxx.c | 353 +++++ .../EWARM/Project.eww | 7 + .../EWARM/Zigbee_OnOff_Client_Router_FreeRTOS.ewd | 1419 ++++++++++++++++++++ .../EWARM/Zigbee_OnOff_Client_Router_FreeRTOS.ewp | 1316 ++++++++++++++++++ .../EWARM/startup_stm32wb55xx_cm4.s | 517 +++++++ .../EWARM/stm32wb55xx_flash_cm4.icf | 47 + .../STM32_WPAN/App/app_zigbee.c | 752 +++++++++++ .../STM32_WPAN/App/app_zigbee.h | 91 ++ .../STM32_WPAN/App/tl_dbg_conf.h | 136 ++ .../STM32_WPAN/Target/hw_ipcc.c | 675 ++++++++++ .../Zigbee_OnOff_Client_Router_FreeRTOS/readme.txt | 126 ++ .../Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/stm32wbxx_it.h | 2 - .../Core/Inc/FreeRTOSConfig.h | 171 +++ .../Core/Inc/app_common.h | 119 ++ .../Core/Inc/app_conf.h | 336 +++++ .../Core/Inc/app_entry.h | 68 + .../Core/Inc/hw_conf.h | 268 ++++ .../Core/Inc/hw_if.h | 250 ++++ .../Core/Inc/main.h | 76 ++ .../Core/Inc/stm32_lpm_if.h | 81 ++ .../Core/Inc/stm32wbxx_hal_conf.h | 353 +++++ .../Core/Inc/stm32wbxx_it.h | 80 ++ .../Core/Inc/stm_logging.h | 60 + .../Core/Inc/utilities_conf.h | 68 + .../Core/Src/app_entry.c | 543 ++++++++ .../Core/Src/freertos_port.c | 322 +++++ .../Core/Src/hw_timerserver.c | 895 ++++++++++++ .../Core/Src/hw_uart.c | 320 +++++ .../Core/Src/main.c | 750 +++++++++++ .../Core/Src/stm32_lpm_if.c | 295 ++++ .../Core/Src/stm32wbxx_hal_msp.c | 391 ++++++ .../Core/Src/stm32wbxx_hal_timebase_tim.c | 149 ++ .../Core/Src/stm32wbxx_it.c | 396 ++++++ .../Core/Src/stm_logging.c | 204 +++ .../Core/Src/system_stm32wbxx.c | 353 +++++ .../EWARM/Project.eww | 7 + .../EWARM/Zigbee_OnOff_Server_Coord_FreeRTOS.ewd | 1419 ++++++++++++++++++++ .../EWARM/Zigbee_OnOff_Server_Coord_FreeRTOS.ewp | 1316 ++++++++++++++++++ .../EWARM/startup_stm32wb55xx_cm4.s | 517 +++++++ .../EWARM/stm32wb55xx_flash_cm4.icf | 47 + .../STM32_WPAN/App/app_zigbee.c | 757 +++++++++++ .../STM32_WPAN/App/app_zigbee.h | 90 ++ .../STM32_WPAN/App/tl_dbg_conf.h | 136 ++ .../STM32_WPAN/Target/hw_ipcc.c | 675 ++++++++++ .../Zigbee_OnOff_Server_Coord_FreeRTOS/readme.txt | 126 ++ .../Core/Inc/stm32wbxx_it.h | 2 - .../COMP_CompareGpioVsVrefInt_Window_IT/readme.txt | 2 +- .../CRYP/CRYP_AESModes/STM32CubeIDE/.cproject | 185 +++ .../CRYP/CRYP_AESModes/STM32CubeIDE/.project | 170 +++ .../Application/Startup/startup_stm32wb55rgvx.s | 445 ++++++ .../STM32CubeIDE/Application/User/syscalls.c | 159 +++ .../STM32CubeIDE/Application/User/sysmem.c | 58 + .../STM32CubeIDE/STM32WB55RGVX_FLASH.ld | 187 +++ .../Examples/CRYP/CRYP_AESModes/Src/main.c | 12 +- Projects/P-NUCLEO-WB55.Nucleo/Release_Notes.html | 56 +- .../BLE/BLE_HeartRate/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_MeshLightingLPN/Core/Inc/app_conf.h | 2 +- .../BLE_MeshLightingPRFNode/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_TransparentModeVCP/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pClient/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pRouteur/Core/Inc/app_conf.h | 2 +- .../BLE/BLE_p2pServer/Core/Inc/app_conf.h | 2 +- .../Thread/Thread_Cli_Cmd/Core/Inc/app_conf.h | 11 +- .../Thread/Thread_Cli_Cmd/Core/Inc/hw_conf.h | 26 + .../Thread/Thread_Cli_Cmd/Core/Inc/hw_if.h | 2 +- .../Thread/Thread_Cli_Cmd/Core/Inc/stm32wbxx_it.h | 3 - .../Thread_Cli_Cmd/Core/Src/hw_timerserver.c | 4 +- .../Thread/Thread_Cli_Cmd/Core/Src/hw_uart.c | 4 +- .../Thread/Thread_Cli_Cmd/Core/Src/stm_logging.c | 6 +- .../P-NUCLEO-WB55.USBDongle/Release_Notes.html | 51 +- Projects/STM32CubeProjectsList.html | 34 +- .../STM32WB1x/Release_Notes.html | 107 +- .../STM32WB1x/stm32wb1x_BLE_HCILayer_fw.bin | Bin 78700 -> 78520 bytes .../STM32WB1x/stm32wb1x_BLE_HCI_AdvScan_fw.bin | Bin 39748 -> 39736 bytes .../STM32WB1x/stm32wb1x_BLE_LLD_fw.bin | Bin 29076 -> 29076 bytes .../STM32WB1x/stm32wb1x_BLE_Stack_full_fw.bin | Bin 171516 -> 171388 bytes .../STM32WB1x/stm32wb1x_BLE_Stack_light_fw.bin | Bin 122828 -> 122484 bytes .../STM32WB3x/Release_Notes.html | 435 ++++-- .../STM32WB3x/stm32wb3x_BLE_HCILayer_fw.bin | Bin 78340 -> 78180 bytes .../STM32WB3x/stm32wb3x_BLE_HCI_AdvScan_fw.bin | Bin 39388 -> 39396 bytes .../STM32WB3x/stm32wb3x_BLE_Stack_full_fw.bin | Bin 170752 -> 170604 bytes .../STM32WB3x/stm32wb3x_BLE_Stack_light_fw.bin | Bin 122068 -> 121704 bytes .../STM32WB3x/stm32wb3x_FUS_fw.bin | Bin 24492 -> 24492 bytes .../STM32WB3x/stm32wb3x_FUS_fw_1_0_2.bin | Bin 24492 -> 0 bytes .../STM32WB3x/stm32wb3x_FUS_fw_for_fus_0_5_3.bin | Bin 0 -> 24492 bytes .../STM32WB3x/stm32wb3x_Mac_802_15_4_fw.bin | Bin 67316 -> 67580 bytes .../STM32WB3x/stm32wb3x_Phy_802_15_4_fw.bin | Bin 87452 -> 87652 bytes .../STM32WB3x/stm32wb3x_Thread_FTD_fw.bin | Bin 375668 -> 376132 bytes .../STM32WB3x/stm32wb3x_Thread_MTD_fw.bin | Bin 297288 -> 297752 bytes .../STM32WB3x/stm32wb3x_Zigbee_FFD_fw.bin | Bin 314520 -> 314516 bytes .../STM32WB3x/stm32wb3x_Zigbee_RFD_fw.bin | Bin 255588 -> 255692 bytes .../STM32WB5x/Release_Notes.html | 533 ++++++-- .../STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin | Bin 78340 -> 78180 bytes .../STM32WB5x/stm32wb5x_BLE_HCI_AdvScan_fw.bin | Bin 39388 -> 39396 bytes .../STM32WB5x/stm32wb5x_BLE_Stack_full_fw.bin | Bin 170752 -> 170604 bytes .../STM32WB5x/stm32wb5x_BLE_Stack_light_fw.bin | Bin 122068 -> 121704 bytes .../STM32WB5x/stm32wb5x_FUS_fw.bin | Bin 24492 -> 24492 bytes .../STM32WB5x/stm32wb5x_FUS_fw_1_0_2.bin | Bin 24492 -> 0 bytes .../STM32WB5x/stm32wb5x_FUS_fw_for_fus_0_5_3.bin | Bin 0 -> 24492 bytes .../STM32WB5x/stm32wb5x_Mac_802_15_4_fw.bin | Bin 67316 -> 67580 bytes .../STM32WB5x/stm32wb5x_Phy_802_15_4_fw.bin | Bin 87452 -> 87652 bytes .../STM32WB5x/stm32wb5x_Thread_FTD_fw.bin | Bin 375668 -> 376132 bytes .../STM32WB5x/stm32wb5x_Thread_MTD_fw.bin | Bin 297288 -> 297752 bytes .../STM32WB5x/stm32wb5x_Zigbee_FFD_fw.bin | Bin 314520 -> 314516 bytes .../STM32WB5x/stm32wb5x_Zigbee_RFD_fw.bin | Bin 255588 -> 255692 bytes Release_Notes.html | 803 +++++++++-- _htmresc/ReleaseNotes.html | 22 +- _htmresc/ReleaseNotes_Patch.html | 14 +- package.xml | 4 +- 242 files changed, 34143 insertions(+), 1293 deletions(-) create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/BLE_HeartRate_ota.uvoptx create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/BLE_HeartRate_ota.uvprojx create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/startup_stm32wb15xx_cm4.s create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_HeartRate_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/BLE_p2pServer_ota.uvoptx create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/BLE_p2pServer_ota.uvprojx create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/startup_stm32wb15xx_cm4.s create mode 100644 Projects/NUCLEO-WB15CC/Applications/BLE/BLE_p2pServer_ota/MDK-ARM/stm32wb15xx_flash_cm4.sct create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Ota/Core/Inc/flash_driver.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Ota/Core/Src/flash_driver.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Phy_802_15_4/Phy_802_15_4_Cli/EWARM/app_lld_tests_iar_asm.s create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/USB_Device/HID_Standalone/MDK-ARM/HID_Standalone.uvoptx create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/USB_Device/HID_Standalone/MDK-ARM/HID_Standalone.uvprojx create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/USB_Device/HID_Standalone/MDK-ARM/startup_stm32wb55xx_cm4.s create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/USB_Device/HID_Standalone/MDK-ARM/stm32wb55xx_flash_cm4.sct create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/FreeRTOSConfig.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/app_common.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/app_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/app_entry.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/hw_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/hw_if.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/main.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/stm32_lpm_if.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/stm32wbxx_hal_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/stm32wbxx_it.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/stm_logging.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Inc/utilities_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/app_entry.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/freertos_port.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/hw_timerserver.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/hw_uart.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/main.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/stm32_lpm_if.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/stm32wbxx_hal_msp.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/stm32wbxx_hal_timebase_tim.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/stm32wbxx_it.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/stm_logging.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/Core/Src/system_stm32wbxx.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/EWARM/Project.eww create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/EWARM/Zigbee_OnOff_Client_Router_FreeRTOS.ewd create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/EWARM/Zigbee_OnOff_Client_Router_FreeRTOS.ewp create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/EWARM/startup_stm32wb55xx_cm4.s create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/EWARM/stm32wb55xx_flash_cm4.icf create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/STM32_WPAN/App/app_zigbee.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/STM32_WPAN/App/app_zigbee.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/STM32_WPAN/App/tl_dbg_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/STM32_WPAN/Target/hw_ipcc.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS/readme.txt create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/FreeRTOSConfig.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/app_common.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/app_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/app_entry.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/hw_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/hw_if.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/main.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/stm32_lpm_if.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/stm32wbxx_hal_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/stm32wbxx_it.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/stm_logging.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Inc/utilities_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/app_entry.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/freertos_port.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/hw_timerserver.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/hw_uart.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/main.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/stm32_lpm_if.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/stm32wbxx_hal_msp.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/stm32wbxx_hal_timebase_tim.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/stm32wbxx_it.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/stm_logging.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/Core/Src/system_stm32wbxx.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/EWARM/Project.eww create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/EWARM/Zigbee_OnOff_Server_Coord_FreeRTOS.ewd create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/EWARM/Zigbee_OnOff_Server_Coord_FreeRTOS.ewp create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/EWARM/startup_stm32wb55xx_cm4.s create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/EWARM/stm32wb55xx_flash_cm4.icf create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/STM32_WPAN/App/app_zigbee.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/STM32_WPAN/App/app_zigbee.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/STM32_WPAN/App/tl_dbg_conf.h create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/STM32_WPAN/Target/hw_ipcc.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS/readme.txt create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Examples/CRYP/CRYP_AESModes/STM32CubeIDE/.cproject create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Examples/CRYP/CRYP_AESModes/STM32CubeIDE/.project create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Examples/CRYP/CRYP_AESModes/STM32CubeIDE/Application/Startup/startup_stm32wb55rgvx.s create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Examples/CRYP/CRYP_AESModes/STM32CubeIDE/Application/User/syscalls.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Examples/CRYP/CRYP_AESModes/STM32CubeIDE/Application/User/sysmem.c create mode 100644 Projects/P-NUCLEO-WB55.Nucleo/Examples/CRYP/CRYP_AESModes/STM32CubeIDE/STM32WB55RGVX_FLASH.ld create mode 100644 Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_for_fus_0_5_3.bin create mode 100644 Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_for_fus_0_5_3.bin diff --git a/Middlewares/ST/STM32_WPAN/Release_Notes.html b/Middlewares/ST/STM32_WPAN/Release_Notes.html index 6a7e3477c..9c2aecbc3 100644 --- a/Middlewares/ST/STM32_WPAN/Release_Notes.html +++ b/Middlewares/ST/STM32_WPAN/Release_Notes.html @@ -11,7 +11,7 @@ span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} - + @@ -56,13 +56,35 @@

Update History

- +

Main Changes

    +
  • BLE WPAN updates: +
      +
    • ID 101921 - PTS issue ticket CASE0070853
    • +
    • ID 99680 - 2nd link secure fail if master database is clear during 1st link connection
    • +
    • ID 101052 - HCI_LE_READ_LOCAL_P256 event happen after ending 3 success pairing
    • +
    • ID 83778 - add slave latency enable/disable command
    • +
    • ID 101346 - ACI_GAP_BOND_LOST_Event timeout does not work if ALLOW rebond not sent
    • +
    • ID 100904 - ACI_HAL_READ_CONFIG_DATA of CONFIG_DATA_RANDOM_ADDRESS
    • +
  • +
  • BLE : +
      +
    • ID 101598: Incorrect #elif usage in stm32_wpan_common.h
    • +
    • ID 94289 ,ID 102395 ,ID 100425: BLE_Ota improvments (SBSFU ready, Flash driver use, SEM7 flash activity control)
    • +
  • +
+
+
+
+ +
+

Main Changes

+
  • BLE-Mesh library version 1.13.002
      -
    • Updated max number of element to 5 and max number of Model per element to 11:       To support lighting control system with occupancy sensing.  
    • +
    • Updated max number of element to 5 and max number of Model per element to 11: To support lighting control system with occupancy sensing.  
    • Bug fix: Client API, Light LC model and sensor status, modify Light LC FSM default Lightness values
    • Sensor & Light LC Server Models updated
    • Client Models updated
    • @@ -70,9 +92,10 @@
    • Save & Restore APIs for Models parameters in Flash updated
    • Publication enabled for multiple elements
    • Remove double disconnection to accelerate provisioning with IOS ST BLE Mesh App version 1.08.001
    • -
    • Bug correction during unprovisioning with ST BLE Mesh App of non GATT connected Nodes.       
    • +
    • Bug correction during unprovisioning with ST BLE Mesh App of non GATT connected Nodes.
    • +
    • Bug correction for loss of Vendor model publication: fix on dynamic memory allocation leak when publishing vendor command into group      
  • -
  • BLE: +
  • BLE is Compliant BT5.2:
    • HID: added: Battery Service and Device Information Service, connection and disconnection events - ID 97936 :  L2CAP update to support IP over BLE (M.6874), SHCI_C2_BLE_init() updated parameters to be provided to CPU2 with new BLE stack Options flags to be configured as:
        @@ -86,6 +109,7 @@
      • SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3
    • ID 95186 :  SHCI_C2_FUS_GetState fixed to identify when wireless stack running (with correct error code)
    • +
    • ID 94042, ID 97931 : STM32WB to handle certification BT5.2 (tcrl 2019-2)
  • THREAD:
      @@ -109,7 +133,7 @@
      -

      Main Changes

      +

      Main Changes

      • General:
          @@ -145,7 +169,7 @@
          -

          Main Changes

          +

          Main Changes

          • BLE-Mesh library version 1.13.000
              @@ -207,7 +231,7 @@
              -

              Main Changes

              +

              Main Changes

              • BLE-Mesh library version 1.12.008
                  @@ -243,7 +267,7 @@
                  -

                  Main Changes

                  +

                  Main Changes

                  BLE-Mesh:

                  • BLE Mesh Models Fixe/Update
                  • @@ -253,7 +277,7 @@
                    -

                    Main Changes

                    +

                    Main Changes

                    BLE-Mesh:

                    • BLE-Mesh library version 1.12.007 @@ -525,7 +549,7 @@
                      -

                      Main Changes

                      +

                      Main Changes

                      Interface:

                      • Added new commmand SHCI_C2_SetFlashActivityControl() to configure BLE timing protection
                      • @@ -568,7 +592,7 @@
                        -

                        Main Changes

                        +

                        Main Changes

                        Interface:

                        • Added new commmand SHCI_C2_ExtpaConfig() to support external PA
                        • @@ -584,7 +608,7 @@
                          -

                          Main Changes

                          +

                          Main Changes

                          General:

                          • Introducing support of Zigbee
                          • @@ -622,7 +646,7 @@
                            -

                            Main Changes

                            +

                            Main Changes

                            General:

                            • Following utilities : Scheduler and Low Power Manager reworked and moved to “Utilities” directory
                            • @@ -648,7 +672,7 @@
                              -

                              Main Changes

                              +

                              Main Changes

                              BLE:

                              • Fix race condition in transport layer when an operating system is used.
                              • @@ -694,7 +718,7 @@
                                -

                                Main Changes

                                +

                                Main Changes

                                General:

                                • Licenses in utilities and patterns moved from sla0044 to 3-clauses BSD
                                • @@ -720,7 +744,7 @@
                                  -

                                  Main Changes

                                  +

                                  Main Changes

                                  First release

                                  diff --git a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_events.h b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_events.h index 939cc1920..2a2884cc2 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_events.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_events.h @@ -54,8 +54,8 @@ extern const hci_event_table_t hci_vs_event_table[HCI_VS_EVENT_TABLE_SIZE]; * @param Connection_Handle Connection_Handle which was disconnected. * Values: * - 0x0000 ... 0x0EFF - * @param Reason Reason for disconnection (see Bluetooth Core Specification - * [Vol 2] Part D, Error Codes). + * @param Reason Reason for disconnection (see Bluetooth spec. [Vol 1, Part F] + * Error Codes). * @return None */ void hci_disconnection_complete_event( uint8_t Status, @@ -79,7 +79,7 @@ void hci_disconnection_complete_event( uint8_t Status, * Secure_Connections_Host_Support is 'disabled' or the Connection_Handle * refers to an LE link, the Controller shall only use Encryption_Enabled * values 0x00 (OFF) and 0x01 (ON). - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.7.8) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.8]. * * @param Status Status error code. * @param Connection_Handle Connection handle for which the command applies. @@ -114,7 +114,7 @@ void hci_encryption_change_event( uint8_t Status, * Version event parameter shall be Link Layer VersNr parameter, the * Manufacturer_Name event parameter shall be the CompId parameter, and the * Subversion event parameter shall be the SubVersNr parameter. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.7.12) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.12]. * * @param Status Status error code. * @param Connection_Handle Connection handle for which the command applies. @@ -212,8 +212,8 @@ void hci_encryption_key_refresh_complete_event( uint8_t Status, * and received a Command Status event if the connection establishment failed * or was successful. * The Master_Clock_Accuracy parameter is only valid for a slave. On a master, - * this parameter shall be set to 0x00. See Bluetooth spec 5.0 vol 2 [part E] - * 7.7.65.1 + * this parameter shall be set to 0x00. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.1]. * * @param Status Status error code. * @param Connection_Handle Connection handle for which the event applies. @@ -270,9 +270,10 @@ void hci_le_connection_complete_event( uint8_t Status, * The LE Advertising Report event indicates that a device or multiple devices * have responded to an active scan or received some information during a * passive scan. The Controller may queue these advertising reports and send - * information from multiple devices in one LE Advertising Report event (see - * Bluetooth spec 5.0 vol 2 [part E] 7.7.65.2). In the current BLE stack - * version, only one report is sent per event (Num_Reports = 1). + * information from multiple devices in one LE Advertising Report event. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.2]. + * Note: in the current BLE stack version, only one report is sent per event + * (Num_Reports = 1). * * @param Num_Reports Number of responses in this event. * Values: @@ -290,7 +291,8 @@ void hci_le_advertising_report_event( uint8_t Num_Reports, * On a slave, if no connection parameters are updated, then this event shall * not be issued. * On a master, this event shall be issued if the Connection_Update command was - * sent. See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.3 + * sent. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.3]. * * @param Status Status error code. * @param Connection_Handle Connection handle for which the event applies. @@ -324,7 +326,7 @@ void hci_le_connection_update_complete_event( uint8_t Status, * completion of the process of the Controller obtaining the used features of * the remote Bluetooth device specified by the Connection_Handle event * parameter. - * See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.4 + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.4]. * * @param Status Status error code. * @param Connection_Handle Connection handle for which the event applies. @@ -343,8 +345,8 @@ void hci_le_read_remote_features_complete_event( uint8_t Status, * The LE Long Term Key Request event indicates that the master device is * attempting to encrypt or re-encrypt the link and is requesting the Long Term * Key from the Host. - * (See [Vol 6] Part B, Section 5.1.3)and Bluetooth spec 5.0 vol 2 [part E] - * 7.7.65.5 + * See Bluetooth spec. v.5.2 [Vol 6, Part B, 5.1.3] and [Vol 4, Part E, + * 7.7.65.5]. * * @param Connection_Handle Connection handle for which the event applies. * Values: @@ -365,7 +367,7 @@ void hci_le_long_term_key_request_event( uint16_t Connection_Handle, * the connection following the change, except that on the LE Coded PHY a * packet taking up to 2704 us to transmit may be sent even though the * corresponding parameter has a lower value. - * See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.7 + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.7]. * * @param Connection_Handle Connection handle for which the event applies. * Values: @@ -402,7 +404,7 @@ void hci_le_data_length_change_event( uint16_t Connection_Handle, /** * @brief HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT * This event is generated when local P-256 key generation is complete. - * See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.8 + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.8]. * * @param Status Status error code. * @param Local_P256_Public_Key Local P-256 public key. @@ -415,7 +417,7 @@ void hci_le_read_local_p256_public_key_complete_event( uint8_t Status, * @brief HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT * This event indicates that LE Diffie Hellman key generation has been * completed by the Controller. - * See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.9 + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.9]. * * @param Status Status error code. * @param DHKey Diffie Hellman Key @@ -440,7 +442,7 @@ void hci_le_generate_dhkey_complete_event( uint8_t Status, * or was successful. * The Master_Clock_Accuracy parameter is only valid for a slave. On a master, * this parameter shall be set to 0x00. - * See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.10 + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.10]. * * @param Status Status error code. * @param Connection_Handle Connection handle for which the event applies. @@ -522,7 +524,7 @@ void hci_le_enhanced_connection_complete_event( uint8_t Status, * Direct_Address_Type and Direct_Addres is the address the directed * advertisements are being directed to. Address_Type and Address is the * address of the advertiser sending the directed advertisements. - * See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.11. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.11]. * * @param Num_Reports Number of responses in this event. * Values: @@ -541,7 +543,7 @@ void hci_le_direct_advertising_report_event( uint8_t Num_Reports, * PHYs, this event shall be issued. * If an LE_Set_PHY command was sent and the Controller determines that neither * PHY will change as a result, it issues this event immediately. - * See See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.12. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.12]. * * @param Status Status error code. * @param Connection_Handle Connection handle to be used to identify the @@ -703,7 +705,7 @@ void aci_gap_addr_not_resolved_event( uint16_t Connection_Handle ); /** * @brief ACI_GAP_NUMERIC_COMPARISON_VALUE_EVENT - * This event is sent only during SC v.4.2 Pairing, when Numeric Comparison + * This event is sent only during SC Pairing, when Numeric Comparison * Association model is selected, in order to show the Numeric Value generated, * and to ask for Confirmation to the User. When this event is received, the * application has to respond with the ACI_GAP_NUMERIC_COMPARISON_RESP command. @@ -716,8 +718,8 @@ void aci_gap_numeric_comparison_value_event( uint16_t Connection_Handle, /** * @brief ACI_GAP_KEYPRESS_NOTIFICATION_EVENT - * This event is sent only during SC v.4.2 Pairing, when Keypress Notifications - * are supported, in order to show the input type signalled by the peer device, + * This event is sent only during SC Pairing, when Keypress Notifications are + * supported, in order to show the input type signalled by the peer device, * having Keyboard only I/O capabilities. When this event is received, no * action is required to the User. * @@ -794,9 +796,8 @@ void aci_att_exchange_mtu_resp_event( uint16_t Connection_Handle, /** * @brief ACI_ATT_FIND_INFO_RESP_EVENT * This event is generated in response to a Find Information Request. See - * ACI_ATT_FIND_INFO_REQ and Find Information Response in Bluetooth Core v5.0 - * spec. This event is also generated in response to - * ACI_GATT_DISC_ALL_CHAR_DESC + * ACI_ATT_FIND_INFO_REQ and Find Information Response in Bluetooth Core spec. + * This event is also generated in response to ACI_GATT_DISC_ALL_CHAR_DESC * * @param Connection_Handle Connection handle for which the event applies. * Values: @@ -839,9 +840,8 @@ void aci_att_find_by_type_value_resp_event( uint16_t Connection_Handle, * @param Handle_Value_Pair_Length The size of each attribute handle-value pair * @param Data_Length Length of Handle_Value_Pair_Data in octets * @param Handle_Value_Pair_Data Attribute Data List as defined in Bluetooth - * Core v5.0 spec. A sequence of handle-value pairs: [2 octets for - * Attribute Handle, (Handle_Value_Pair_Length - 2 octets) for Attribute - * Value] + * Core spec. A sequence of handle-value pairs: [2 octets for Attribute + * Handle, (Handle_Value_Pair_Length - 2 octets) for Attribute Value] * @return None */ void aci_att_read_by_type_resp_event( uint16_t Connection_Handle, @@ -909,9 +909,9 @@ void aci_att_read_multiple_resp_event( uint16_t Connection_Handle, * @param Attribute_Data_Length The size of each attribute data * @param Data_Length Length of Attribute_Data_List in octets * @param Attribute_Data_List Attribute Data List as defined in Bluetooth Core - * v5.0 spec. A sequence of attribute handle, end group handle, - * attribute value tuples: [2 octets for Attribute Handle, 2 octets End - * Group Handle, (Attribute_Data_Length - 4 octets) for Attribute Value] + * spec. A sequence of attribute handle, end group handle, attribute + * value tuples: [2 octets for Attribute Handle, 2 octets End Group + * Handle, (Attribute_Data_Length - 4 octets) for Attribute Value] * @return None */ void aci_att_read_by_group_type_resp_event( uint16_t Connection_Handle, @@ -1043,8 +1043,8 @@ void aci_gatt_error_resp_event( uint16_t Connection_Handle, * This event can be generated during a "Discover Characteristics By UUID" * procedure or a "Read using Characteristic UUID" procedure. * The attribute value will be a service declaration as defined in Bluetooth - * Core v5.0.spec (vol.3, Part G, ch. 3.3.1), when a "Discover Characteristics - * By UUID" has been started. It will be the value of the Characteristic if a* + * spec. v.5.2 [Vol 3, Part G, 3.3.1], when a "Discover Characteristics By + * UUID" has been started. It will be the value of the Characteristic if a* * "Read using Characteristic UUID" has been performed. * * @param Connection_Handle Connection handle for which the event applies. @@ -1053,7 +1053,7 @@ void aci_gatt_error_resp_event( uint16_t Connection_Handle, * @param Attribute_Handle The handle of the attribute * @param Attribute_Value_Length Length of Attribute_Value in octets * @param Attribute_Value The attribute value will be a service declaration as - * defined in Bluetooth Core v5.0 (vol.3, Part G, ch. 3.3.1), when a + * defined in Bluetooth spec. v.5.2 [Vol 3, Part G, 3.3.1], when a * "Discover Characteristics By UUID" has been started. * It will be the value of the Characteristic if a "Read using * Characteristic UUID" has been performed. @@ -1102,8 +1102,8 @@ void aci_gatt_write_permit_req_event( uint16_t Connection_Handle, * to the application only if the event bit for this event generation is set * when the characteristic was added. * On receiving this event, the application can update the value of the handle - * if it desires and when done, it has to send the ACI_GATT_ALLOW_READ command - * to indicate to the stack that it can send the response to the client. + * if it desires and when done, it must send the ACI_GATT_ALLOW_READ command to + * indicate to the stack that it can send the response to the client. * * @param Connection_Handle Connection handle for which the event applies. * Values: @@ -1123,7 +1123,7 @@ void aci_gatt_read_permit_req_event( uint16_t Connection_Handle, * be given to the application only if the event bit for this event generation * is set when the characteristic was added. * On receiving this event, the application can update the values of the - * handles if it desires and when done, it has to send the ACI_GATT_ALLOW_READ + * handles if it desires and when done, it must send the ACI_GATT_ALLOW_READ * command to indicate to the stack that it can send the response to the * client. * @@ -1363,7 +1363,8 @@ void aci_l2cap_command_reject_event( uint16_t Connection_Handle, /** * @brief ACI_L2CAP_COC_CONNECT_EVENT * This event is generated when receiving a valid Credit Based Connection - * Request packet. See Bluetooth Core specification Vol.3 Part A. + * Request packet. + * See Bluetooth spec. v.5.2 [Vol 3, Part A]. * * @param Connection_Handle Handle of the connection where this event occurred. * Values: @@ -1399,7 +1400,8 @@ void aci_l2cap_coc_connect_event( uint16_t Connection_Handle, /** * @brief ACI_L2CAP_COC_CONNECT_CONFIRM_EVENT * This event is generated when receiving a valid Credit Based Connection - * Response packet. See Bluetooth Core specification Vol.3 Part A. + * Response packet. + * See Bluetooth spec. v.5.2 [Vol 3, Part A]. * * @param Connection_Handle Handle of the connection where this event occurred. * Values: @@ -1438,7 +1440,8 @@ void aci_l2cap_coc_connect_confirm_event( uint16_t Connection_Handle, /** * @brief ACI_L2CAP_COC_RECONF_EVENT * This event is generated when receiving a valid Credit Based Reconfigure - * Request packet. See Bluetooth Core specification Vol.3 Part A. + * Request packet. + * See Bluetooth spec. v.5.2 [Vol 3, Part A]. * * @param Connection_Handle Handle of the connection where this event occurred. * Values: @@ -1466,7 +1469,8 @@ void aci_l2cap_coc_reconf_event( uint16_t Connection_Handle, /** * @brief ACI_L2CAP_COC_RECONF_CONFIRM_EVENT * This event is generated when receiving a valid Credit Based Reconfigure - * Response packet. See Bluetooth Core specification Vol.3 Part A. + * Response packet. + * See Bluetooth spec. v.5.2 [Vol 3, Part A]. * * @param Connection_Handle Handle of the connection where this event occurred. * Values: @@ -1484,8 +1488,8 @@ void aci_l2cap_coc_reconf_confirm_event( uint16_t Connection_Handle, /** * @brief ACI_L2CAP_COC_DISCONNECT_EVENT * This event is generated when a connection-oriented channel is disconnected - * following an L2CAP channel termination procedure. See Bluetooth Core - * specification Vol.3 Part A. + * following an L2CAP channel termination procedure. + * See Bluetooth spec. v.5.2 [Vol 3, Part A]. * * @param Channel_Index Index of the connection-oriented channel for which the * primitive applies. @@ -1496,7 +1500,8 @@ void aci_l2cap_coc_disconnect_event( uint8_t Channel_Index ); /** * @brief ACI_L2CAP_COC_FLOW_CONTROL_EVENT * This event is generated when receiving a valid Flow Control Credit signaling - * packet. See Bluetooth Core specification Vol.3 Part A. + * packet. + * See Bluetooth spec. v.5.2 [Vol 3, Part A]. * * @param Channel_Index Index of the connection-oriented channel for which the * primitive applies. @@ -1513,7 +1518,8 @@ void aci_l2cap_coc_flow_control_event( uint8_t Channel_Index, /** * @brief ACI_L2CAP_COC_RX_DATA_EVENT * This event is generated when receiving a valid K-frame packet on a - * connection-oriented channel. See Bluetooth Core specification Vol.3 Part A. + * connection-oriented channel. + * See Bluetooth spec. v.5.2 [Vol 3, Part A]. * Note: for the first K-frame of the SDU, the Information data contains the * L2CAP SDU Length coded on two octets followed by the K-frame information * payload. For the next K-frames of the SDU, the Information data only @@ -1545,18 +1551,17 @@ void aci_l2cap_coc_tx_pool_available_event( void ); /** * @brief ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT * This event is generated when the device completes a radio activity and - * provide information when a new radio acitivity will be performed. - * Informtation provided includes type of radio activity and absolute time in - * system ticks when a new radio acitivity is schedule, if any. Application can + * provide information when a new radio activity will be performed. + * Information provided includes type of radio activity and absolute time in + * system ticks when a new radio activity is schedule, if any. Application can * use this information to schedule user activities synchronous to selected * radio activitities. A command ACI_HAL_SET_RADIO_ACTIVITY_MASK is provided to * enable radio activity events of user interests, by default no events are * enabled. - * User should take into account that enablinng radio events in application - * with intense radio activity could lead to a fairly high rate of events - * generated. + * User should take into account that enabling radio events in application with + * intense radio activity could lead to a fairly high rate of events generated. * Application use cases includes synchronizing notification with connection - * interval, switiching antenna at the end of advertising or performing flash + * interval, switching antenna at the end of advertising or performing flash * erase operation while radio is idle. * * @param Last_State Completed radio events @@ -1590,7 +1595,7 @@ void aci_hal_end_of_radio_activity_event( uint8_t Last_State, /** * @brief ACI_HAL_SCAN_REQ_REPORT_EVENT * This event is reported to the application after a scan request is received - * and a scan reponse is scheduled to be transmitted. + * and a scan response is scheduled to be transmitted. * * @param RSSI N Size: 1 Octet (signed integer) * Units: dBm diff --git a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.h b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.h index 0e663dd29..934531b75 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.h @@ -34,10 +34,10 @@ tBleStatus aci_gap_set_non_discoverable( void ); /** * @brief ACI_GAP_SET_LIMITED_DISCOVERABLE - * Put the device in limited discoverable mode (as defined in Bluetooth - * Specification v.5.0, Vol. 3, Part C, section 9.2.3). The device will be - * discoverable for maximum period of TGAP (lim_adv_timeout) = 180 seconds - * (from errata). The advertising can be disabled at any time by issuing + * Put the device in limited discoverable mode (as defined in Bluetooth spec. + * v.5.2 [Vol 3, Part C, 9.2.3]). The device will be discoverable for maximum + * period of TGAP (lim_adv_timeout) = 180 seconds (from errata). The + * advertising can be disabled at any time by issuing * ACI_GAP_SET_NON_DISCOVERABLE command. * The Adv_Interval_Min and Adv_Interval_Max parameters are optional. If both * are set to 0, the GAP will use default values for adv intervals for limited @@ -90,7 +90,6 @@ tBleStatus aci_gap_set_non_discoverable( void ); * If there is no service to be advertised, set this field to 0x00. * @param Service_Uuid_List This is the list of the UUIDs as defined in Volume * 3, Section 11 of GAP Specification. First byte is the AD Type. - * See also Supplement to the Bluetooth Core 5.0 specification. * @param Slave_Conn_Interval_Min Slave connection interval minimum value * suggested by Peripheral. * If Slave_Conn_Interval_Min and Slave_Conn_Interval_Max are not @@ -129,12 +128,11 @@ tBleStatus aci_gap_set_limited_discoverable( uint8_t Advertising_Type, /** * @brief ACI_GAP_SET_DISCOVERABLE - * Put the device in general discoverable mode (as defined in Bluetooth - * Specification v.5.0, Vol. 3, Part C, section 9.2.4). The device will be - * discoverable until the host issues the ACI_GAP_SET_NON_DISCOVERABLE command. - * The Adv_Interval_Min and Adv_Interval_Max parameters are optional. If both - * are set to 0, the GAP uses the default values for adv intervals for general - * discoverable mode. + * Put the device in general discoverable mode (as defined in Bluetooth spec. + * v.5.2 [Vol 3, Part C, 9.2.4]). The device will be discoverable until the + * host issues the ACI_GAP_SET_NON_DISCOVERABLE command. The Adv_Interval_Min + * and Adv_Interval_Max parameters are optional. If both are set to 0, the GAP + * uses the default values for adv intervals for general discoverable mode. * When using connectable undirected advertising events: * - Adv_Interval_Min = 30 ms * - Adv_Interval_Max = 60 ms @@ -189,7 +187,6 @@ tBleStatus aci_gap_set_limited_discoverable( uint8_t Advertising_Type, * If there is no service to be advertised, set this field to 0x00. * @param Service_Uuid_List This is the list of the UUIDs as defined in Volume * 3, Section 11 of GAP Specification. First byte is the AD Type. - * See also Supplement to the Bluetooth Core 5.0 specification. * @param Slave_Conn_Interval_Min Slave connection interval minimum value * suggested by Peripheral. * If Slave_Conn_Interval_Min and Slave_Conn_Interval_Max are not @@ -228,12 +225,12 @@ tBleStatus aci_gap_set_discoverable( uint8_t Advertising_Type, /** * @brief ACI_GAP_SET_DIRECT_CONNECTABLE - * Set the device in direct connectable mode (as defined in Bluetooth - * Specification v.5.0, Vol. 3, Part C, section 9.3.3). Device uses direct - * connectable mode to advertise using High Duty cycle advertisement events or - * Low Duty cycle advertisement events and the address as either what is - * specified in the Own Address Type parameter. The command specifies the type - * of the advertising used. + * Set the device in direct connectable mode (as defined in Bluetooth spec. + * v.5.2 [Vol 3, Part C, 9.3.3]). Device uses direct connectable mode to + * advertise using High Duty cycle advertisement events or Low Duty cycle + * advertisement events and the address as either what is specified in the Own + * Address Type parameter. The command specifies the type of the advertising + * used. * If the privacy is enabled, the Type parameter in reconnection address is * used for advertising, otherwise the address of the type specified in * OwnAddrType is used. @@ -549,8 +546,7 @@ tBleStatus aci_gap_update_adv_data( uint8_t AdvDataLen, * This command can be used to delete the specified AD type from the * advertisement data if present. * - * @param ADType One of the AD types like in Bluetooth specification (see - * volume 3, Part C, 11.1) + * @param ADType One of the AD types as in Bluetooth spec. [Vol 3, Part C, 11]. * @return Value indicating success or error code. */ tBleStatus aci_gap_delete_ad_type( uint8_t ADType ); @@ -832,13 +828,13 @@ tBleStatus aci_gap_start_name_discovery_proc( uint16_t LE_Scan_Interval, /** * @brief ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC * Start the auto connection establishment procedure. The devices specified are - * added to the white list of the controller and a LE_Create_Connection call + * added to the whitelist of the controller and a LE_Create_Connection call * will be made to the controller by GAP with the initiator filter policy set * to "use whitelist to determine which advertiser to connect to". When a * command is issued to terminate the procedure by upper layer, a * LE_Create_Connection_Cancel call will be made to the controller by GAP. * The procedure is terminated when either a connection is successfully - * established with one of the specified devices in the white list or the + * established with one of the specified devices in the whitelist or the * procedure is explicitly terminated by issuing the command * ACI_GAP_TERMINATE_GAP_PROC with the procedure code set to 0x08. A * ACI_GAP_PROC_COMPLETE_EVENT event is returned with the procedure code set to @@ -1000,7 +996,7 @@ tBleStatus aci_gap_start_general_connection_establish_proc( uint8_t LE_Scan_Type /** * @brief ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC * Start a selective connection establishment procedure. The GAP adds the - * specified device addresses into white list and enables scanning in the + * specified device addresses into whitelist and enables scanning in the * controller with the scanner filter policy set to "accept packets only from * devices in whitelist". All the devices found are sent to the upper layer by * the event HCI_LE_ADVERTISING_REPORT_EVENT. The upper layer then has to @@ -1325,8 +1321,7 @@ tBleStatus aci_gap_set_broadcast_mode( uint16_t Advertising_Interval_Min, * @brief ACI_GAP_START_OBSERVATION_PROC * Starts an Observation procedure, when the device is in Observer Role. The * host enables scanning in the controller. The advertising reports are sent to - * the upper layer using standard LE Advertising Report Event. (See Bluetooth - * Core v5.0, Vol. 2, part E, Ch. 7.7.65.2, LE Advertising Report Event). + * the upper layer using standard LE Advertising Report Event. * If controller privacy is enabled and the peer device (advertiser) is in the * resolving list then the link layer will generate a RPA, if it is not then * the RPA/NRPA generated by the Host will be used. @@ -1469,8 +1464,8 @@ tBleStatus aci_gap_passkey_input( uint16_t Connection_Handle, * @param OOB_Data_Type OOB Data type * Values: * - 0x00: TK (LP v.4.1) - * - 0x01: Random (SC v.4.2) - * - 0x02: Confirm (SC v.4.2) + * - 0x01: Random (SC) + * - 0x02: Confirm (SC) * @param[out] Address_Type Identity address type. * Values: * - 0x00: Public Identity Address @@ -1504,8 +1499,8 @@ tBleStatus aci_gap_get_oob_data( uint8_t OOB_Data_Type, * @param OOB_Data_Type OOB Data type * Values: * - 0x00: TK (LP v.4.1) - * - 0x01: Random (SC v.4.2) - * - 0x02: Confirm (SC v.4.2) + * - 0x01: Random (SC) + * - 0x02: Confirm (SC) * @param OOB_Data_Len Length of OOB Data * @param OOB_Data Pairing Data received through OOB from remote device * @return Value indicating success or error code. diff --git a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.h b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.h index 04ad116b3..a01b3e576 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.h @@ -107,7 +107,7 @@ tBleStatus aci_gatt_include_service( uint16_t Service_Handle, * @param Char_UUID See @ref Char_UUID_t * @param Char_Value_Length Maximum length of the characteristic value. * @param Char_Properties Characteristic Properties (Volume 3, Part G, section - * 3.3.1.1 of Bluetooth Specification 5.0) + * 3.3.1.1 of Bluetooth Core Specification) * Flags: * - 0x00: CHAR_PROP_NONE * - 0x01: CHAR_PROP_BROADCAST (Broadcast) @@ -238,7 +238,7 @@ tBleStatus aci_gatt_add_char_desc( uint16_t Service_Handle, * parameters (decided by the master, see * aci_l2cap_connection_parameter_update_request() for more info on how to * suggest new connection parameters from a slave). If the application does not - * want to lose notifications because STM32WB buffer becomes full, it has to + * want to lose notifications because STM32WB buffer becomes full, it must * retry again till the function returns BLE_STATUS_SUCCESS or any other error * code. * @@ -914,7 +914,7 @@ tBleStatus aci_gatt_write_resp( uint16_t Connection_Handle, * ACI_GATT_READ_PERMIT_REQ_EVENT or ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT. This * command indicates to the stack that the response can be sent to the client. * So if the application wishes to update any of the attributes before they are - * read by the client, it has to update the characteristic values using the + * read by the client, it must update the characteristic values using the * ACI_GATT_UPDATE_CHAR_VALUE and then give this command. The application * should perform the required operations within 30 seconds. Otherwise the GATT * procedure will be timeout. diff --git a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c index 147839ad5..a1348d41f 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c +++ b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c @@ -297,6 +297,27 @@ tBleStatus aci_hal_get_pm_debug_info( uint8_t* Allocated_For_TX, return BLE_STATUS_SUCCESS; } +tBleStatus aci_hal_set_slave_latency( uint8_t Enable ) +{ + struct hci_request rq; + uint8_t cmd_buffer[BLE_CMD_MAX_PARAM_LEN]; + aci_hal_set_slave_latency_cp0 *cp0 = (aci_hal_set_slave_latency_cp0*)(cmd_buffer); + tBleStatus status = 0; + int index_input = 0; + cp0->Enable = Enable; + index_input += 1; + Osal_MemSet( &rq, 0, sizeof(rq) ); + rq.ogf = 0x3f; + rq.ocf = 0x020; + rq.cparam = cmd_buffer; + rq.clen = index_input; + rq.rparam = &status; + rq.rlen = 1; + if ( hci_send_req(&rq, FALSE) < 0 ) + return BLE_STATUS_TIMEOUT; + return status; +} + tBleStatus aci_hal_read_radio_reg( uint8_t Register_Address, uint8_t* reg_val ) { diff --git a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.h b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.h index 9a04aa497..8866d77dd 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.h @@ -35,9 +35,10 @@ tBleStatus aci_hal_get_fw_build_number( uint16_t* Build_Number ); /** * @brief ACI_HAL_WRITE_CONFIG_DATA - * This command writes a value to a low level configure data structure. It is - * useful to setup directly some low level parameters for the system in the - * runtime. + * This command writes a value to a configure data structure. It is useful to + * setup directly some parameters for the system in the runtime. + * Note: the static random address set by this command is taken into account by + * the GAP only when it receives the ACI_GAP_INIT command. * * @param Offset Offset of the element in the configuration data structure * which has to be written. @@ -60,8 +61,8 @@ tBleStatus aci_hal_write_config_data( uint8_t Offset, /** * @brief ACI_HAL_READ_CONFIG_DATA - * This command requests the value in the low level configure data structure. - * The number of read bytes changes for different Offset. + * This command requests the value in the configure data structure. The number + * of read bytes changes for different Offset. * * @param Offset Offset of the element in the configuration data structure * which has to be read. @@ -72,8 +73,8 @@ tBleStatus aci_hal_write_config_data( uint8_t Offset, * Encryption root key used to derive LTK and CSRK; 16 bytes * - 0x18: CONFIG_DATA_IR_OFFSET * Identity root key used to derive LTK and CSRK; 16 bytes - * - 0x80: CONFIG_DATA_RANDOM_ADDRESS - * Static random address; 6 bytes (read-only) + * - 0x2E: CONFIG_DATA_RANDOM_ADDRESS_WR; + * Static Random Address; 6 bytes * @param[out] Data_Length Length of Data in octets * @param[out] Data Data field associated with Offset parameter * @return Value indicating success or error code. @@ -301,6 +302,20 @@ tBleStatus aci_hal_get_pm_debug_info( uint8_t* Allocated_For_TX, uint8_t* Allocated_For_RX, uint8_t* Allocated_MBlocks ); +/** + * @brief ACI_HAL_SET_SLAVE_LATENCY + * This command is used to disable/enable the slave latency feature during a + * connection. Note that, by default, the slave latency is enabled at + * connection time. + * + * @param Enable Enable/disable slave latency. + * Values: + * - 0x00: Slave latency is disabled + * - 0x01: Slave latency is enabled + * @return Value indicating success or error code. + */ +tBleStatus aci_hal_set_slave_latency( uint8_t Enable ); + /** * @brief ACI_HAL_READ_RADIO_REG * This command Reads Register value from the RF module. diff --git a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.h b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.h index 8f9c5faf8..c8072f4c0 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.h @@ -32,7 +32,7 @@ * parameter in the HCI_DISCONNECTION_COMPLETE_EVENT event. All synchronous * connections on a physical link should be disconnected before the ACL * connection on the same physical connection is disconnected. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.1.6) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.1.6]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -55,7 +55,7 @@ tBleStatus hci_disconnect( uint16_t Connection_Handle, * This command will obtain the values for the version information for the * remote device identified by the Connection_Handle parameter. The * Connection_Handle must be a Connection_Handle for an ACL or LE connection. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.1.23) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.1.23]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -70,10 +70,9 @@ tBleStatus hci_read_remote_version_information( uint16_t Connection_Handle ); * the HCI for the Host. If the bit in the Event_Mask is set to a one, then the * event associated with that bit will be enabled. For an LE Controller, the LE * Meta Event bit in the Event_Mask shall enable or disable all LE events in - * the LE Meta Event (see Section 7.7.65). The Host has to deal with each event - * that occurs. The event mask allows the Host to control how much it is - * interrupted. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.3.1) + * the LE Meta Event. The Host has to deal with each event that occurs. The + * event mask allows the Host to control how much it is interrupted. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.1]. * * @param Event_Mask Event mask. Default: 0x20001FFFFFFFFFFF * Flags: @@ -101,7 +100,7 @@ tBleStatus hci_set_event_mask( const uint8_t* Event_Mask ); * is implementation defined. * The Host shall not send additional HCI commands before the Command Complete * event related to the Reset command has been received. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.3.2) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.2]. * * @return Value indicating success or error code. */ @@ -112,7 +111,7 @@ tBleStatus hci_reset( void ); * This command reads the values for the Transmit_Power_Level parameter for the * specified Connection_Handle. The Connection_Handle shall be a * Connection_Handle for an ACL connection. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.3.35) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.35]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -149,7 +148,7 @@ tBleStatus hci_read_transmit_power_level( uint16_t Connection_Handle, * connections and synchronous connections. * The Flow_Control_Enable parameter shall only be changed if no connections * exist. - * (See Bluetooth Spec v.5.0, Vol. 2, Part E, 7.3.38) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.38]. * * @param Flow_Control_Enable Enable/Disable the Flow Control * Values: @@ -200,7 +199,7 @@ tBleStatus hci_set_controller_to_host_flow_control( uint8_t Flow_Control_Enable * Note: The Host_ACL_Data_Packet_Length and * Host_Synchronous_Data_Packet_Length command parameters do not include the * length of the HCI Data Packet header. - * (See Bluetooth Spec v.5.0, Vol. 2, Part E, 7.3.39) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.39]. * * @param Host_ACL_Data_Packet_Length Maximum length (in octets) of the data * portion of each HCI ACL Data Packet that the Host is able to accept. @@ -250,7 +249,7 @@ tBleStatus hci_host_buffer_size( uint16_t Host_ACL_Data_Packet_Length, * least one connection, or if the Controller is in local loopback mode * independent of other commands. The normal flow control for commands is not * used for the Host_Number_Of_Completed_Packets command. - * (See Bluetooth Spec v.5.0, Vol. 2, Part E, 7.3.40) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.40]. * * @param Number_Of_Handles The number of Connection_Handles and * Host_Num_Of_Completed_Packets parameters pairs contained in this @@ -272,7 +271,7 @@ tBleStatus hci_host_number_of_completed_packets( uint8_t Number_Of_Handles, * LMP or PAL. The Manufacturer_Name information indicates the manufacturer of * the local device. The HCI Revision and LMP/PAL Subversion are implementation * dependent. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.1) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.1]. * * @param[out] HCI_Version See Bluetooth Assigned Numbers * (https://www.bluetooth.org/en-us/specification/assigned-numbers) @@ -302,7 +301,7 @@ tBleStatus hci_read_local_version_information( uint8_t* HCI_Version, * Controller. This command shall return the Supported_Commands configuration * parameter. It is implied that if a command is listed as supported, the * feature underlying that command is also supported. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.2) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.2]. * * @param[out] Supported_Commands Bit mask for each HCI Command. If a bit is 1, * the Controller supports the corresponding command and the features @@ -316,8 +315,8 @@ tBleStatus hci_read_local_supported_commands( uint8_t* Supported_Commands ); * @brief HCI_READ_LOCAL_SUPPORTED_FEATURES * This command requests a list of the supported features for the local * Controller. This command will return a list of the LMP features. For details - * see Part C, Link Manager Protocol Specification on page 227. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.3) + * see Part C, Link Manager Protocol Specification. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.3]. * * @param[out] LMP_Features Bit Mask List of LMP features. * @return Value indicating success or error code. @@ -331,7 +330,7 @@ tBleStatus hci_read_local_supported_features( uint8_t* LMP_Features ); * does not have a Public Device Address, the value 0x000000000000 shall be * returned. * On an LE Controller, the public address shall be the same as the BD_ADDR. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.6) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.6]. * * @param[out] BD_ADDR BD_ADDR ( Bluetooth Device Address) of the Device. * @return Value indicating success or error code. @@ -345,7 +344,7 @@ tBleStatus hci_read_bd_addr( uint8_t* BD_ADDR ); * command parameter and return parameter. The meaning of the RSSI metric is an * absolute receiver signal strength value in dBm to +/- 6 dB accuracy. If the * RSSI cannot be read, the RSSI metric shall be set to 127. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.5.4) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.5.4]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -370,7 +369,7 @@ tBleStatus hci_read_rssi( uint16_t Connection_Handle, * For LE events to be generated, the LE Meta-Event bit in the Event_Mask shall * also be set. If that bit is not set, then LE events shall not be generated, * regardless of how the LE_Event_Mask is set. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.1) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.1]. * * @param LE_Event_Mask LE event mask. Default: 0x00000000000FFFFF. * Flags: @@ -424,7 +423,7 @@ tBleStatus hci_le_set_event_mask( const uint8_t* LE_Event_Mask ); * buffers are to be divided between different Connection Handles. * Note: The HC_LE_ACL_Data_Packet_Length return parameter does not include the * length of the HCI Data Packet header. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.2) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.2]. * * @param[out] HC_LE_ACL_Data_Packet_Length 0x0000 No dedicated LE Buffer - use * Read_Buffer_Size command. @@ -443,10 +442,10 @@ tBleStatus hci_le_read_buffer_size( uint16_t* HC_LE_ACL_Data_Packet_Length, * @brief HCI_LE_READ_LOCAL_SUPPORTED_FEATURES * This command requests the list of the supported LE features for the * Controller. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.3) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.3]. * - * @param[out] LE_Features Bit Mask List of LE features. See Core v5.0, Vol. 6, - * Part B, Section 4.6. + * @param[out] LE_Features Bit Mask List of LE features. See Bluetooth Core + * specification. * @return Value indicating success or error code. */ tBleStatus hci_le_read_local_supported_features( uint8_t* LE_Features ); @@ -455,7 +454,7 @@ tBleStatus hci_le_read_local_supported_features( uint8_t* LE_Features ); * @brief HCI_LE_SET_RANDOM_ADDRESS * The LE_Set_Random_Address command is used by the Host to set the LE Random * Device Address in the Controller (see [Vol 6] Part B, Section 1.3). - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.4) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.4]. * * @param Random_Address Random Device Address. * @return Value indicating success or error code. @@ -493,7 +492,7 @@ tBleStatus hci_le_set_random_address( const uint8_t* Random_Address ); * advertising is enabled. * The Host shall not issue this command when advertising is enabled in the * Controller; if it is the Command Disallowed error code shall be used. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.5) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.5]. * * @param Advertising_Interval_Min Minimum advertising interval. * Time = N * 0.625 msec. @@ -563,7 +562,7 @@ tBleStatus hci_le_set_advertising_parameters( uint16_t Advertising_Interval_Min, * @brief HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER * The LE_Read_Advertising_Channel_Tx_Power command is used by the Host to read * the transmit power level used for LE advertising channel packets. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.6) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.6]. * * @param[out] Transmit_Power_Level Size: 1 Octet (signed integer) * Units: dBm @@ -580,7 +579,7 @@ tBleStatus hci_le_read_advertising_channel_tx_power( uint8_t* Transmit_Power_Lev * advertising packets that have a data field. * Only the significant part of the Advertising_Data is transmitted in the * advertising packets, as defined in [Vol 3] Part C, Section 11., - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.7) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.7]. * * @param Advertising_Data_Length The number of significant octets in the * following data field @@ -597,7 +596,7 @@ tBleStatus hci_le_set_advertising_data( uint8_t Advertising_Data_Length, * data field. * Only the significant part of the Scan_Response_Data is transmitted in the * Scanning Packets, as defined in [Vol 3] Part C, Section 11. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.8) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.8]. * * @param Scan_Response_Data_Length The number of significant octets in the * following data field @@ -619,7 +618,7 @@ tBleStatus hci_le_set_scan_response_data( uint8_t Scan_Response_Data_Length, * (Advertising is disabled) or until a connection is created or until the * Advertising is timed out due to high duty cycle Directed Advertising. In * these cases, advertising is then disabled. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.9) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.9]. * * @param Advertising_Enable Enable/disable advertise. Default is 0 (disabled). * Values: @@ -643,7 +642,7 @@ tBleStatus hci_le_set_advertise_enable( uint8_t Advertising_Enable ); * Device Address) when performing active scan. * The Host shall not issue this command when scanning is enabled in the * Controller; if it is the Command Disallowed error code shall be used. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.10) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.10]. * * @param LE_Scan_Type Passive or active scanning. With active scanning * SCAN_REQ packets are sent. @@ -708,7 +707,7 @@ tBleStatus hci_le_set_scan_parameters( uint8_t LE_Scan_Type, * The Filter_Duplicates parameter controls whether the Link Layer shall filter * duplicate advertising reports to the Host, or if the Link Layer should * generate advertising reports for each packet received. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.11) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.11]. * * @param LE_Scan_Enable Enable/disable scan. Default is 0 (disabled). * Values: @@ -732,9 +731,9 @@ tBleStatus hci_le_set_scan_enable( uint8_t LE_Scan_Enable, * the Controller should scan. The LE_Scan_Window parameter shall be set to a * value smaller or equal to the value set for the LE_Scan_Interval parameter. * If both are set to the same value, scanning should run continuously. - * The Initiator_Filter_Policy is used to determine whether the White List is + * The Initiator_Filter_Policy is used to determine whether the WhiteList is * used. - * If the White List is not used, the Peer_Address_Type and the Peer_Address + * If the whitelist is not used, the Peer_Address_Type and the Peer_Address * parameters specify the address type and address of the advertising device to * connect to. * The Link Layer shall set the address in the CONNECT_REQ packets to either @@ -743,12 +742,11 @@ tBleStatus hci_le_set_scan_enable( uint8_t LE_Scan_Enable, * The Conn_Interval_Min and Conn_Interval_Max parameters define the minimum * and maximum allowed connection interval. The Conn_Interval_Min parameter * shall not be greater than the Conn_Interval_Max parameter. - * The Conn_Latency parameter defines the maximum allowed connection latency - * (see [Vol 6] Part B, Section 4.5.1). + * The Conn_Latency parameter defines the maximum allowed connection latency. * The Supervision_Timeout parameter defines the link supervision timeout for * the connection. The Supervision_Timeout in milliseconds shall be larger than * (1 + Conn_Latency) * Conn_Interval_Max * 2, where Conn_Interval_Max is given - * in milliseconds. (See [Vol 6] Part B, Section 4.5.2). + * in milliseconds. * The Minimum_CE_Length and Maximum_CE_Length parameters are informative * parameters providing the Controller with the expected minimum and maximum * length of the connection events. The Minimum_CE_Length parameter shall be @@ -756,7 +754,7 @@ tBleStatus hci_le_set_scan_enable( uint8_t LE_Scan_Enable, * The Host shall not issue this command when another LE_Create_Connection is * pending in the Controller; if this does occur the Controller shall return * the Command Disallowed error code shall be used. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.12) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.12]. * * @param LE_Scan_Interval This is defined as the time interval from when the * Controller started its last LE scan until it begins the subsequent LE @@ -857,7 +855,7 @@ tBleStatus hci_le_create_connection( uint16_t LE_Scan_Interval, * LE_Create_Connection command has been issued, a Command Status event has * been received for the LE Create Connection command and before the LE * Connection Complete event. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.13) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.13]. * * @return Value indicating success or error code. */ @@ -866,8 +864,8 @@ tBleStatus hci_le_create_connection_cancel( void ); /** * @brief HCI_LE_READ_WHITE_LIST_SIZE * The LE_Read_White_List_Size command is used to read the total number of - * white list entries that can be stored in the Controller. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.14) + * whitelist entries that can be stored in the Controller. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.14]. * * @param[out] White_List_Size Total number of white list entries that can be * stored in the Controller. @@ -877,15 +875,15 @@ tBleStatus hci_le_read_white_list_size( uint8_t* White_List_Size ); /** * @brief HCI_LE_CLEAR_WHITE_LIST - * The LE_Clear_White_List command is used to clear the white list stored in - * the Controller. + * The LE_Clear_White_List command is used to clear the whitelist stored in the + * Controller. * This command can be used at any time except when: - * - the advertising filter policy uses the white list and advertising is + * - the advertising filter policy uses the whitelist and advertising is * enabled. - * - the scanning filter policy uses the white list and scanning is enabled. - * - the initiator filter policy uses the white list and an - * LE_Create_Connection command is outstanding. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.15) + * - the scanning filter policy uses the whitelist and scanning is enabled. + * - the initiator filter policy uses the whitelist and an LE_Create_Connection + * command is outstanding. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.15]. * * @return Value indicating success or error code. */ @@ -894,14 +892,14 @@ tBleStatus hci_le_clear_white_list( void ); /** * @brief HCI_LE_ADD_DEVICE_TO_WHITE_LIST * The LE_Add_Device_To_White_List command is used to add a single device to - * the white list stored in the Controller. + * the whitelist stored in the Controller. * This command can be used at any time except when: - * - the advertising filter policy uses the white list and advertising is + * - the advertising filter policy uses the whitelist and advertising is * enabled. - * - the scanning filter policy uses the white list and scanning is enabled. - * - the initiator filter policy uses the white list and a create connection + * - the scanning filter policy uses the whitelist and scanning is enabled. + * - the initiator filter policy uses the whitelist and a create connection * command is outstanding. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.16) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.16]. * * @param Address_Type Address type. * Values: @@ -916,14 +914,14 @@ tBleStatus hci_le_add_device_to_white_list( uint8_t Address_Type, /** * @brief HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST * The LE_Remove_Device_From_White_List command is used to remove a single - * device from the white list stored in the Controller. + * device from the whitelist stored in the Controller. * This command can be used at any time except when: - * - the advertising filter policy uses the white list and advertising is + * - the advertising filter policy uses the whitelist and advertising is * enabled. - * - the scanning filter policy uses the white list and scanning is enabled. - * - the initiator filter policy uses the white list and a create connection + * - the scanning filter policy uses the whitelist and scanning is enabled. + * - the initiator filter policy uses the whitelist and a create connection * command is outstanding. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.17) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.17]. * * @param Address_Type Address type. * Values: @@ -954,7 +952,7 @@ tBleStatus hci_le_remove_device_from_white_list( uint8_t Address_Type, * equal to the Maximum_CE_Length. * The actual parameter values selected by the Link Layer may be different from * the parameter values provided by the Host through this command. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.18) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.18]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1011,7 +1009,7 @@ tBleStatus hci_le_connection_update( uint16_t Connection_Handle, * two successive commands sent shall be at least one second. * This command shall only be used when the local device supports the Master * role. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.19) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.19]. * * @param LE_Channel_Map This parameter contains 37 1-bit fields. * The nth such field (in the range 0 to 36) contains the value for the @@ -1032,7 +1030,7 @@ tBleStatus hci_le_set_host_channel_classification( const uint8_t* LE_Channel_Map * CONNECT_REQ or LL_CHANNEL_MAP_REQ message) for the specified * Connection_Handle, regardless of whether the Master has received an * acknowledgement. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.20) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.20]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1054,7 +1052,7 @@ tBleStatus hci_le_read_channel_map( uint16_t Connection_Handle, * This command shall return a list of the used LE features. For details see * [Vol 6] Part B, Section 4.6. * This command may be issued on both the master and slave. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.21) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.21]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1070,7 +1068,7 @@ tBleStatus hci_le_read_remote_features( uint16_t Connection_Handle ); * the Encrypted_Data to the Host. The AES-128 bit block cypher is defined in * NIST Publication FIPS-197 * (http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf). - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.22) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.22]. * * @param Key 128 bit key for the encryption of the data given in the command. * @param Plaintext_Data 128 bit data block that is requested to be encrypted. @@ -1087,7 +1085,7 @@ tBleStatus hci_le_encrypt( const uint8_t* Key, * of random data to be sent to the Host. The Random_Number shall be generated * according to [Vol 2] Part H, Section 2 if the LE Feature (LL Encryption) is * supported. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.23) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.23]. * * @param[out] Random_Number Random Number * @return Value indicating success or error code. @@ -1108,7 +1106,7 @@ tBleStatus hci_le_rand( uint8_t* Random_Number ); * disconnected by the Link Layer. If this command succeeds, then the * connection shall be encrypted. * This command shall only be used when the local device's role is Master. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.24) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.24]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1129,7 +1127,7 @@ tBleStatus hci_le_start_encryption( uint16_t Connection_Handle, * Term Key Request event from the Controller, and specifies the Long_Term_Key * parameter that shall be used for this Connection_Handle. The Long_Term_Key * is used as defined in [Vol 6] Part B, Section 5.1.3. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.25) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.25]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1145,7 +1143,7 @@ tBleStatus hci_le_long_term_key_request_reply( uint16_t Connection_Handle, * The LE_Long_Term_Key_Request_Negative_Reply command is used to reply to an * LE Long Term Key Request event from the Controller if the Host cannot * provide a Long Term Key for this Connection_Handle. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.26) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.26]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1167,11 +1165,10 @@ tBleStatus hci_le_long_term_key_requested_negative_reply( uint16_t Connection_Ha * set. * All the Scanning types and the Initiate State combinations shall be set only * if the corresponding Scanning types and Master Role combination are set. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.27) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.27]. * * @param[out] LE_States State or state combination is supported by the * Controller. - * See Core v5.0, Vol.2, part E, Ch. 7.8.27. * @return Value indicating success or error code. */ tBleStatus hci_le_read_supported_states( uint8_t* LE_States ); @@ -1181,7 +1178,7 @@ tBleStatus hci_le_read_supported_states( uint8_t* LE_States ); * This command is used to start a test where the DUT receives test reference * packets at a fixed interval. The tester generates the test reference * packets. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.28) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.28]. * * @param RX_Frequency N = (F - 2402) / 2 * Frequency Range : 2402 MHz to 2480 MHz @@ -1198,7 +1195,7 @@ tBleStatus hci_le_receiver_test( uint8_t RX_Frequency ); * An LE Controller supporting the LE_Transmitter_Test command shall support * Packet_Payload values 0x00, 0x01 and 0x02. An LE Controller may support * other values of Packet_Payload. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.29) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.29]. * * @param TX_Frequency N = (F - 2402) / 2 * Frequency Range : 2402 MHz to 2480 MHz @@ -1229,7 +1226,7 @@ tBleStatus hci_le_transmitter_test( uint8_t TX_Frequency, * Number_Of_Packets for a transmitter test shall be reported as 0x0000. The * Number_Of_Packets is an unsigned number and contains the number of received * packets. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.30) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.30]. * * @param[out] Number_Of_Packets Number of packets received * @return Value indicating success or error code. @@ -1240,9 +1237,10 @@ tBleStatus hci_le_test_end( uint16_t* Number_Of_Packets ); * @brief HCI_LE_SET_DATA_LENGTH * The LE_Set_Data_Length command allows the Host to suggest maximum * transmission packet size and maximum packet transmission time - * (connMaxTxOctets and connMaxTxTime - see Bluetooth Specification v5.0 [Vol - * 6] Part B, Section 4.5.10) to be used for a given connection. The Controller - * may use smaller or larger values based on local information. + * (connMaxTxOctets and connMaxTxTime - see Bluetooth spec. Vol 6 [Part B] + * 4.5.10) to be used for a given connection. The Controller may use smaller or + * larger values based on local information. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.33]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1268,8 +1266,8 @@ tBleStatus hci_le_set_data_length( uint16_t Connection_Handle, * The LE_Read_Suggested_Default_Data_Length command allows the Host to read * the Host's suggested values (SuggestedMaxTxOctets and SuggestedMaxTxTime) * for the Controller's maximum transmitted number of payload octets and - * maximum packet transmission time to be used for new connections (see - * Bluetooth Specification v5.0 [Vol 6] Part B, Section 4.5.10). + * maximum packet transmission time to be used for new connections. + * See Bluetooth spec. v.5.2 [Vol 6, Part B, 4.5.10]. * * @param[out] SuggestedMaxTxOctets The Host's suggested value for the * Controller's maximum transmitted number of payload octets to be used @@ -1293,7 +1291,7 @@ tBleStatus hci_le_read_suggested_default_data_length( uint16_t* SuggestedMaxTxOc * number of payload octets and maximum packet transmission time to be used for * new connections. The Controller may use smaller or larger values for * connInitialMaxTxOctets and connInitialMaxTxTime based on local information. - * (see Bluetooth Specification [Vol 6] Part B, Section 4.5.10). + * See Bluetooth spec. v.5.2 [Vol 6, Part B, 4.5.10]. * * @param SuggestedMaxTxOctets The Host's suggested value for the Controller's * maximum transmitted number of payload octets to be used for new @@ -1314,7 +1312,7 @@ tBleStatus hci_le_write_suggested_default_data_length( uint16_t SuggestedMaxTxOc * The LE_Read_Local_P-256_Public_Key command is used to return the local P-256 * public key from the Controller. The Controller shall generate a new P-256 * public/private key pair upon receipt of this command. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.36) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.36]. * * @return Value indicating success or error code. */ @@ -1327,7 +1325,7 @@ tBleStatus hci_le_read_local_p256_public_key( void ); * takes the remote P-256 public key as input. The Diffie-Hellman key * generation uses the private key generated by LE_Read_Local_P256_Public_Key * command. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.37) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.37]. * * @param Remote_P256_Public_Key The remote P-256 public key in X, Y format: * Octets 31-0: X co-ordinate @@ -1351,7 +1349,7 @@ tBleStatus hci_le_generate_dhkey( const uint8_t* Remote_P256_Public_Key ); * the Controller. * When a Controller cannot add a device to the resolving list because the list * is full, it shall respond with error code 0x07 (Memory Capacity Exceeded). - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.38) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.38]. * * @param Peer_Identity_Address_Type Identity address type. * Values: @@ -1383,7 +1381,7 @@ tBleStatus hci_le_add_device_to_resolving_list( uint8_t Peer_Identity_Address_Ty * When a Controller cannot remove a device from the resolving list because it * is not found, it shall respond with error code 0x02 (Unknown Connection * Identifier). - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.39) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.39]. * * @param Peer_Identity_Address_Type Identity address type. * Values: @@ -1408,7 +1406,7 @@ tBleStatus hci_le_remove_device_from_resolving_list( uint8_t Peer_Identity_Addre * - Create connection command is outstanding * This command can be used at any time when address translation is disabled in * the Controller. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.40) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.40]. * * @return Value indicating success or error code. */ @@ -1419,7 +1417,7 @@ tBleStatus hci_le_clear_resolving_list( void ); * The LE_Read_Resolving_List_Size command is used to read the total number of * address translation entries in the resolving list that can be stored in the * Controller. - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.41) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.41]. * * @param[out] Resolving_List_Size Number of address translation entries in the * resolving list @@ -1437,7 +1435,7 @@ tBleStatus hci_le_read_resolving_list_size( uint8_t* Resolving_List_Size ); * When a Controller cannot find a Resolvable Private Address associated with * the Peer Identity Address, it shall respond with error code 0x02 (Unknown * Connection Identifier). - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.42) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.42]. * * @param Peer_Identity_Address_Type Identity address type. * Values: @@ -1463,7 +1461,7 @@ tBleStatus hci_le_read_peer_resolvable_address( uint8_t Peer_Identity_Address_Ty * When a Controller cannot find a Resolvable Private Address associated with * the Peer Identity Address, it shall respond with error code 0x02 (Unknown * Connection Identifier). - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.43) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.43]. * * @param Peer_Identity_Address_Type Identity address type. * Values: @@ -1489,7 +1487,7 @@ tBleStatus hci_le_read_local_resolvable_address( uint8_t Peer_Identity_Address_T * - Advertising is enabled * - Scanning is enabled * - Create connection command is outstanding - * (See Bluetooth Specification v.5.0, Vol. 2, Part E, Section 7.8.44) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.44]. * * @param Address_Resolution_Enable Enable/disable address resolution in the * controller. @@ -1508,7 +1506,7 @@ tBleStatus hci_le_set_address_resolution_enable( uint8_t Address_Resolution_Enab * the controller uses a Resolvable Private Address before a new resolvable * private address is generated and starts being used. This timeout applies to * all addresses generated by the controller. - * (See Bluetooth Specification v.5.0 [Vol 2] Part E, Section 7.8.45) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.45]. * * @param RPA_Timeout RPA_Timeout measured in seconds. * Range for N: 0x0001 - 0xA1B8 (1 sec - approximately 11.5 hours) @@ -1522,8 +1520,8 @@ tBleStatus hci_le_set_resolvable_private_address_timeout( uint16_t RPA_Timeout ) * The LE_Read_Maximum_Data_Length command allows the Host to read the * Controller's maximum supported payload octets and packet duration times for * transmission and reception (supportedMaxTxOctets and supportedMaxTxTime, - * supportedMaxRxOctets, and supportedMaxRxTime, see Bluetooth Specification - * v5.0 [Vol 6] Part B, Section 4.5.10). + * supportedMaxRxOctets, and supportedMaxRxTime, see Bluetooth spec. v.5.2 [Vol + * 6, Part B, 4.5.10]). * * @param[out] supportedMaxTxOctets Maximum number of payload octets that the * local Controller supports for transmission of a single Link Layer @@ -1555,8 +1553,8 @@ tBleStatus hci_le_read_maximum_data_length( uint16_t* supportedMaxTxOctets, /** * @brief HCI_LE_READ_PHY * The LE_Read_PHY command is used to read the current transmitter PHY and - * receiver PHY on the connection identified by the Connection_Handle. see - * Bluetooth Specification [Vol 2] part E, Section 7.8.47 + * receiver PHY on the connection identified by the Connection_Handle. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.47]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1597,7 +1595,7 @@ tBleStatus hci_le_read_phy( uint16_t Connection_Handle, * the Host prefers the Controller to use. If the ALL_PHYS parameter specifies * that the Host has no preference, the RX_PHYS parameter is ignored; otherwise * at least one bit shall be set to 1. - * See Bluetooth Specification [Vol2] Part E Section 7.8.48 + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.48]. * * @param ALL_PHYS Host preferences for TX PHY and RX PHY * Values: @@ -1645,7 +1643,7 @@ tBleStatus hci_le_set_default_phy( uint8_t ALL_PHYS, * the LE Coded PHY. * The Host may specify a preferred coding even if it prefers not to use the LE * Coded transmitter PHY since the Controller may override the PHY preference. - * (See Bluetooth Specification v5.0 [Vol 6] Part B, Section 7.8.49) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.49]. * * @param Connection_Handle Connection handle for which the command applies. * Values: @@ -1673,7 +1671,7 @@ tBleStatus hci_le_set_phy( uint16_t Connection_Handle, * This command is used to start a test where the DUT receives test reference * packets at a fixed interval. The tester generates the test reference * packets. - * (See Bluetooth Specification v5.0 [Vol 6] Part B, Section 7.8.50) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.50]. * * @param RX_Frequency N = (F - 2402) / 2 * Frequency Range : 2402 MHz to 2480 MHz @@ -1705,7 +1703,7 @@ tBleStatus hci_le_enhanced_receiver_test( uint8_t RX_Frequency, * supporting the LE Coded PHY shall also support Packet_Payload value 0x04 * (not supported by STM32WB). An LE Controller may support other values of * Packet_Payload. - * (See Bluetooth Specification v5.0 [Vol 6] Part B, Section 7.8.51) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.51]. * * @param TX_Frequency N = (F - 2402) / 2 * Frequency Range : 2402 MHz to 2480 MHz @@ -1742,6 +1740,7 @@ tBleStatus hci_le_enhanced_transmitter_test( uint8_t TX_Frequency, * @brief HCI_LE_READ_TRANSMIT_POWER * This command is used to read the minimum and maximum transmit powers * supported by the Controller. + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.74]. * * @param[out] Min_TX_Power Signed integer. Units: dBm * Values: @@ -1758,7 +1757,7 @@ tBleStatus hci_le_read_transmit_power( uint8_t* Min_TX_Power, * @brief HCI_LE_SET_PRIVACY_MODE * This command is used to allow the Host to specify the privacy mode to be * used for a given entry on the resolving list. - * (See Bluetooth Specification v.5.0 [Vol 2] Part E, Section 7.8.77) + * See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.77]. * * @param Peer_Identity_Address_Type Identity address type. * Values: diff --git a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_types.h b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_types.h index 3ba9cbb97..f00fdb249 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_types.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_types.h @@ -1074,6 +1074,16 @@ typedef PACKED(struct) uint8_t Allocated_MBlocks; } aci_hal_get_pm_debug_info_rp0; +typedef PACKED(struct) +{ + uint8_t Enable; +} aci_hal_set_slave_latency_cp0; + +typedef PACKED(struct) +{ + uint8_t Status; +} aci_hal_set_slave_latency_rp0; + typedef PACKED(struct) { uint8_t Register_Address; diff --git a/Middlewares/ST/STM32_WPAN/ble/core/ble_legacy.h b/Middlewares/ST/STM32_WPAN/ble/core/ble_legacy.h index 29d272e41..b2cec561b 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/ble_legacy.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/ble_legacy.h @@ -25,20 +25,19 @@ /* * The event code in the @ref hci_event_pckt structure. - * If event code is HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE, application can use @ref evt_blecore_aci + * If event code is EVT_VENDOR, application can use @ref evt_blue_aci * structure to parse the packet. */ - -#define EVT_VENDOR HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE /* 0xFF */ - -#define EVT_CONN_COMPLETE HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE /* 0x03 */ -#define EVT_DISCONN_COMPLETE HCI_DISCONNECTION_COMPLETE_EVT_CODE /* 0x05 */ -#define EVT_LE_META_EVENT HCI_LE_META_EVT_CODE /* 0x3E */ -#define EVT_LE_CONN_UPDATE_COMPLETE HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE /* 0x03 */ -#define EVT_LE_CONN_COMPLETE HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE /* 0x01 */ -#define EVT_LE_ADVERTISING_REPORT HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE /* 0x02 */ -#define EVT_LE_PHY_UPDATE_COMPLETE HCI_LE_PHY_UPDATE_COMPLETE_SUBEVT_CODE /* 0x0C */ -#define EVT_LE_ENHANCED_CONN_COMPLETE HCI_LE_ENHANCED_CONNECTION_COMPLETE_SUBEVT_CODE /* 0x0A */ +#define EVT_VENDOR 0xFF + +#define EVT_CONN_COMPLETE 0x03 +#define EVT_DISCONN_COMPLETE 0x05 +#define EVT_LE_META_EVENT 0x3E +#define EVT_LE_CONN_UPDATE_COMPLETE 0x03 +#define EVT_LE_CONN_COMPLETE 0x01 +#define EVT_LE_ADVERTISING_REPORT 0x02 +#define EVT_LE_PHY_UPDATE_COMPLETE 0x0C +#define EVT_LE_ENHANCED_CONN_COMPLETE 0x0A typedef PACKED(struct) _hci_uart_pckt { @@ -72,46 +71,42 @@ typedef PACKED(struct) _evt_blecore_aci /* BLE core event codes */ -#define EVT_BLUE_GATT_ATTRIBUTE_MODIFIED ACI_GATT_ATTRIBUTE_MODIFIED_VSEVT_CODE /*(0x0C01)*/ -#define EVT_BLUE_GATT_PROCEDURE_TIMEOUT ACI_GATT_PROC_TIMEOUT_VSEVT_CODE /*(0x0C02)*/ -#define EVT_BLUE_ATT_EXCHANGE_MTU_RESP ACI_ATT_EXCHANGE_MTU_RESP_VSEVT_CODE /*(0x0C03)*/ -#define EVT_BLUE_ATT_FIND_INFORMATION_RESP ACI_ATT_FIND_INFO_RESP_VSEVT_CODE /*(0x0C04)*/ -#define EVT_BLUE_ATT_FIND_BY_TYPE_VAL_RESP ACI_ATT_FIND_BY_TYPE_VALUE_RESP_VSEVT_CODE /*(0x0C05)*/ -#define EVT_BLUE_ATT_READ_BY_TYPE_RESP ACI_ATT_READ_BY_TYPE_RESP_VSEVT_CODE /*(0x0C06)*/ -#define EVT_BLUE_ATT_READ_RESP ACI_ATT_READ_RESP_VSEVT_CODE /*(0x0C07)*/ -#define EVT_BLUE_ATT_READ_BLOB_RESP ACI_ATT_READ_BLOB_RESP_VSEVT_CODE /*(0x0C08)*/ -#define EVT_BLUE_ATT_READ_MULTIPLE_RESP ACI_ATT_READ_MULTIPLE_RESP_VSEVT_CODE /*(0x0C09)*/ -#define EVT_BLUE_ATT_READ_BY_GROUP_TYPE_RESP ACI_ATT_READ_BY_GROUP_TYPE_RESP_VSEVT_CODE /*(0x0C0A)*/ -#define EVT_BLUE_ATT_PREPARE_WRITE_RESP ACI_ATT_PREPARE_WRITE_RESP_VSEVT_CODE /*(0x0C0C)*/ -#define EVT_BLUE_ATT_EXEC_WRITE_RESP ACI_ATT_EXEC_WRITE_RESP_VSEVT_CODE /*(0x0C0D)*/ -#define EVT_BLUE_GATT_INDICATION ACI_GATT_INDICATION_VSEVT_CODE /*(0x0C0E)*/ -#define EVT_BLUE_GATT_NOTIFICATION ACI_GATT_NOTIFICATION_VSEVT_CODE /*(0x0C0F)*/ -#define EVT_BLUE_GATT_PROCEDURE_COMPLETE ACI_GATT_PROC_COMPLETE_VSEVT_CODE /*(0x0C10)*/ -#define EVT_BLUE_GATT_ERROR_RESP ACI_GATT_ERROR_RESP_VSEVT_CODE /*(0x0C11)*/ -#define EVT_BLUE_GATT_DISC_READ_CHAR_BY_UUID_RESP ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_VSEVT_CODE /*(0x0C12)*/ -#define EVT_BLUE_GATT_WRITE_PERMIT_REQ ACI_GATT_WRITE_PERMIT_REQ_VSEVT_CODE /*(0x0C13)*/ -#define EVT_BLUE_GATT_READ_PERMIT_REQ ACI_GATT_READ_PERMIT_REQ_VSEVT_CODE /*(0x0C14)*/ -#define EVT_BLUE_GATT_READ_MULTI_PERMIT_REQ ACI_GATT_READ_MULTI_PERMIT_REQ_VSEVT_CODE /*(0x0C15)*/ -#define EVT_BLUE_GATT_TX_POOL_AVAILABLE ACI_GATT_TX_POOL_AVAILABLE_VSEVT_CODE /*(0x0C16)*/ -#define EVT_BLUE_GATT_SERVER_CONFIRMATION_EVENT ACI_GATT_SERVER_CONFIRMATION_VSEVT_CODE /*(0x0C17)*/ -#define EVT_BLUE_GATT_PREPARE_WRITE_PERMIT_REQ ACI_GATT_PREPARE_WRITE_PERMIT_REQ_VSEVT_CODE /*(0x0C18)*/ - -#define EVT_BLUE_GAP_LIMITED_DISCOVERABLE ACI_GAP_LIMITED_DISCOVERABLE_VSEVT_CODE /*(0x0400)*/ -#define EVT_BLUE_GAP_PAIRING_CMPLT ACI_GAP_PAIRING_COMPLETE_VSEVT_CODE /*(0x0401)*/ -#define EVT_BLUE_GAP_PASS_KEY_REQUEST ACI_GAP_PASS_KEY_REQ_VSEVT_CODE /*(0x0402)*/ -#define EVT_BLUE_GAP_AUTHORIZATION_REQUEST ACI_GAP_AUTHORIZATION_REQ_VSEVT_CODE /*(0x0403)*/ -#define EVT_BLUE_GAP_SLAVE_SECURITY_INITIATED ACI_GAP_SLAVE_SECURITY_INITIATED_VSEVT_CODE /*(0X0404)*/ -#define EVT_BLUE_GAP_BOND_LOST ACI_GAP_BOND_LOST_VSEVT_CODE /*(0X0405)*/ - -#define EVT_BLUE_GAP_DEVICE_FOUND (0x0406) /*removed*/ - -#define EVT_BLUE_GAP_PROCEDURE_COMPLETE ACI_GAP_PROC_COMPLETE_VSEVT_CODE /*(0x0407)*/ -#define EVT_BLUE_GAP_ADDR_NOT_RESOLVED ACI_GAP_ADDR_NOT_RESOLVED_VSEVT_CODE /*(0x0408)*/ -#define EVT_BLUE_GAP_NUMERIC_COMPARISON_VALUE ACI_GAP_NUMERIC_COMPARISON_VALUE_VSEVT_CODE /*(0x0409)*/ -#define EVT_BLUE_GAP_KEYPRESS_NOTIFICATION ACI_GAP_KEYPRESS_NOTIFICATION_VSEVT_CODE /*(0x040A)*/ - -#define EVT_BLUE_L2CAP_CONNECTION_UPDATE_REQ ACI_L2CAP_CONNECTION_UPDATE_REQ_VSEVT_CODE /*(0x0802)*/ -#define EVT_BLUE_L2CAP_CONNECTION_UPDATE_RESP ACI_L2CAP_CONNECTION_UPDATE_RESP_VSEVT_CODE /*(0x0800)*/ +#define EVT_BLUE_GATT_ATTRIBUTE_MODIFIED (0x0C01) +#define EVT_BLUE_GATT_PROCEDURE_TIMEOUT (0x0C02) +#define EVT_BLUE_ATT_EXCHANGE_MTU_RESP (0x0C03) +#define EVT_BLUE_ATT_FIND_INFORMATION_RESP (0x0C04) +#define EVT_BLUE_ATT_FIND_BY_TYPE_VAL_RESP (0x0C05) +#define EVT_BLUE_ATT_READ_BY_TYPE_RESP (0x0C06) +#define EVT_BLUE_ATT_READ_RESP (0x0C07) +#define EVT_BLUE_ATT_READ_BLOB_RESP (0x0C08) +#define EVT_BLUE_ATT_READ_MULTIPLE_RESP (0x0C09) +#define EVT_BLUE_ATT_READ_BY_GROUP_TYPE_RESP (0x0C0A) +#define EVT_BLUE_ATT_PREPARE_WRITE_RESP (0x0C0C) +#define EVT_BLUE_ATT_EXEC_WRITE_RESP (0x0C0D) +#define EVT_BLUE_GATT_INDICATION (0x0C0E) +#define EVT_BLUE_GATT_NOTIFICATION (0x0C0F) +#define EVT_BLUE_GATT_PROCEDURE_COMPLETE (0x0C10) +#define EVT_BLUE_GATT_ERROR_RESP (0x0C11) +#define EVT_BLUE_GATT_DISC_READ_CHAR_BY_UUID_RESP (0x0C12) +#define EVT_BLUE_GATT_WRITE_PERMIT_REQ (0x0C13) +#define EVT_BLUE_GATT_READ_PERMIT_REQ (0x0C14) +#define EVT_BLUE_GATT_READ_MULTI_PERMIT_REQ (0x0C15) +#define EVT_BLUE_GATT_TX_POOL_AVAILABLE (0x0C16) +#define EVT_BLUE_GATT_SERVER_CONFIRMATION_EVENT (0x0C17) +#define EVT_BLUE_GATT_PREPARE_WRITE_PERMIT_REQ (0x0C18) +#define EVT_BLUE_GAP_LIMITED_DISCOVERABLE (0x0400) +#define EVT_BLUE_GAP_PAIRING_CMPLT (0x0401) +#define EVT_BLUE_GAP_PASS_KEY_REQUEST (0x0402) +#define EVT_BLUE_GAP_AUTHORIZATION_REQUEST (0x0403) +#define EVT_BLUE_GAP_SLAVE_SECURITY_INITIATED (0X0404) +#define EVT_BLUE_GAP_BOND_LOST (0X0405) +#define EVT_BLUE_GAP_DEVICE_FOUND (0x0406) +#define EVT_BLUE_GAP_PROCEDURE_COMPLETE (0x0407) +#define EVT_BLUE_GAP_ADDR_NOT_RESOLVED (0x0408) +#define EVT_BLUE_GAP_NUMERIC_COMPARISON_VALUE (0x0409) +#define EVT_BLUE_GAP_KEYPRESS_NOTIFICATION (0x040A) +#define EVT_BLUE_L2CAP_CONNECTION_UPDATE_REQ (0x0802) +#define EVT_BLUE_L2CAP_CONNECTION_UPDATE_RESP (0x0800) /* Macro to get RSSI from advertising report #0. @@ -137,31 +132,32 @@ typedef uint8_t tBDAddr[6]; /* Error Codes as specified by the specification */ -#define ERR_CMD_SUCCESS HCI_SUCCESS_ERR_CODE /*0x00*/ -#define ERR_UNKNOWN_HCI_COMMAND HCI_UNKNOWN_HCI_COMMAND_ERR_CODE /*0x01*/ -#define ERR_UNKNOWN_CONN_IDENTIFIER HCI_UNKNOWN_CONNECTION_IDENTIFIER_ERR_CODE /*0x02*/ -#define ERR_AUTH_FAILURE HCI_AUTHENTICATION_FAILURE_ERR_CODE /*0x05*/ -#define ERR_PIN_OR_KEY_MISSING HCI_PIN_OR_KEY_MISSING_ERR_CODE /*0x06*/ -#define ERR_MEM_CAPACITY_EXCEEDED HCI_MEMORY_CAPACITY_EXCEEDED_ERR_CODE /*0x07*/ -#define ERR_CONNECTION_TIMEOUT HCI_CONNECTION_TIMEOUT_ERR_CODE /*0x08*/ -#define ERR_COMMAND_DISALLOWED HCI_COMMAND_DISALLOWED_ERR_CODE /*0x0C*/ -#define ERR_UNSUPPORTED_FEATURE HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE_ERR_CODE /*0x11*/ -#define ERR_INVALID_HCI_CMD_PARAMS HCI_INVALID_HCI_COMMAND_PARAMETERS_ERR_CODE /*0x12*/ -#define ERR_RMT_USR_TERM_CONN HCI_REMOTE_USER_TERMINATED_CONNECTION_ERR_CODE /*0x13*/ +#define ERR_CMD_SUCCESS 0x00 +#define ERR_UNKNOWN_HCI_COMMAND 0x01 +#define ERR_UNKNOWN_CONN_IDENTIFIER 0x02 +#define ERR_AUTH_FAILURE 0x05 +#define ERR_PIN_OR_KEY_MISSING 0x06 +#define ERR_MEM_CAPACITY_EXCEEDED 0x07 +#define ERR_CONNECTION_TIMEOUT 0x08 +#define ERR_COMMAND_DISALLOWED 0x0C +#define ERR_UNSUPPORTED_FEATURE 0x11 +#define ERR_INVALID_HCI_CMD_PARAMS 0x12 +#define ERR_RMT_USR_TERM_CONN 0x13 #define ERR_RMT_DEV_TERM_CONN_LOW_RESRCES 0x14 #define ERR_RMT_DEV_TERM_CONN_POWER_OFF 0x15 -#define ERR_LOCAL_HOST_TERM_CONN HCI_CONNECTION_TERMINATED_BY_LOCAL_HOST_ERR_CODE /*0x16*/ -#define ERR_UNSUPP_RMT_FEATURE HCI_LMP_FEATURE_ERR_CODE /*0x1A*/ -#define ERR_INVALID_LMP_PARAM HCI_INVALID_LL_PARAMETERS_ERR_CODE /*0x1E*/ -#define ERR_UNSPECIFIED_ERROR HCI_UNSPECIFIED_ERROR_ERR_CODE /*0x1F*/ -#define ERR_LL_RESP_TIMEOUT HCI_LL_RESPONSE_TIMEOUT_ERR_CODE /*0x22*/ -#define ERR_LMP_PDU_NOT_ALLOWED HCI_LMP_PDU_NOT_ALLOWED_ERR_CODE /*0x24*/ -#define ERR_INSTANT_PASSED HCI_INSTANT_PASSED_ERR_CODE /*0x28*/ +#define ERR_LOCAL_HOST_TERM_CONN 0x16 +#define ERR_UNSUPP_RMT_FEATURE 0x1A +#define ERR_INVALID_LMP_PARAM 0x1E +#define ERR_UNSPECIFIED_ERROR 0x1F +#define ERR_LL_RESP_TIMEOUT 0x22 +#define ERR_LMP_PDU_NOT_ALLOWED 0x24 +#define ERR_INSTANT_PASSED 0x28 #define ERR_PAIR_UNIT_KEY_NOT_SUPP 0x29 -#define ERR_CONTROLLER_BUSY HCI_DIFFERENT_TRANSACTION_COLLISION_ERR_CODE /*0x3A*/ -#define ERR_DIRECTED_ADV_TIMEOUT HCI_ADVERTISING_TIMEOUT_ERR_CODE /*0x3C*/ -#define ERR_CONN_END_WITH_MIC_FAILURE HCI_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE_ERR_CODE /*0x3D*/ -#define ERR_CONN_FAILED_TO_ESTABLISH HCI_CONNECTION_FAILED_TO_BE_ESTABLISHED_ERR_CODE /*0x3E*/ +#define ERR_CONTROLLER_BUSY 0x3A +#define ERR_DIRECTED_ADV_TIMEOUT 0x3C +#define ERR_CONN_END_WITH_MIC_FAILURE 0x3D +#define ERR_CONN_FAILED_TO_ESTABLISH 0x3E + /* ------------------------------------------------------------------------- */ @@ -218,19 +214,18 @@ typedef uint8_t tBDAddr[6]; #define SM_LINK_AUTHORIZED 0x02 #define SM_LINK_ENCRYPTED 0x04 -#define SM_PAIRING_SUCCESS SMP_PAIRING_STATUS_SUCCESS /*0x00*/ -#define SM_PAIRING_TIMEOUT SMP_PAIRING_STATUS_SMP_TIMEOUT /*0x01*/ -#define SM_PAIRING_FAILED SMP_PAIRING_STATUS_PAIRING_FAILED /*0x02*/ - +#define SM_PAIRING_SUCCESS 0x00 +#define SM_PAIRING_TIMEOUT 0x01 +#define SM_PAIRING_FAILED 0x02 #define PASSKEY_ENTRY_FAILED 0x01 -#define ADV_IND GAP_ADV_IND /*0*/ -#define ADV_DIRECT_IND 1 -#define ADV_SCAN_IND GAP_ADV_SCAN_IND /*2*/ -#define ADV_NONCONN_IND GAP_ADV_NONCONN_IND /*3*/ -#define SCAN_RSP 4 -#define HIGH_DUTY_CYCLE_DIRECTED_ADV GAP_ADV_HIGH_DC_DIRECT_IND /*1*/ -#define LOW_DUTY_CYCLE_DIRECTED_ADV GAP_ADV_LOW_DC_DIRECT_IND /*4*/ +#define ADV_IND 0 +#define ADV_DIRECT_IND 1 +#define ADV_SCAN_IND 2 +#define ADV_NONCONN_IND 3 +#define SCAN_RSP 4 +#define HIGH_DUTY_CYCLE_DIRECTED_ADV 1 +#define LOW_DUTY_CYCLE_DIRECTED_ADV 4 #define ADV_INTERVAL_LOWEST_CONN 0X0020 #define ADV_INTERVAL_HIGHEST 0X4000 diff --git a/Middlewares/ST/STM32_WPAN/ble/core/ble_std.h b/Middlewares/ST/STM32_WPAN/ble/core/ble_std.h index fb81cbeb9..1bdd84013 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/ble_std.h +++ b/Middlewares/ST/STM32_WPAN/ble/core/ble_std.h @@ -43,75 +43,35 @@ #define HCI_EVENT_PKT_MAX_SIZE \ (HCI_EVENT_HDR_SIZE + HCI_EVENT_MAX_PARAM_LEN) -/* HCI Event codes */ - -/* HCI_DISCONNECTION_COMPLETE_EVENT code: */ -#define HCI_DISCONNECTION_COMPLETE_EVT_CODE 0x05 - -/* HCI_ENCRYPTION_CHANGE_EVENT code: */ -#define HCI_ENCRYPTION_CHANGE_EVT_CODE 0x08 - -/* HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE EVENT code: */ -#define HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVT_CODE 0x0C - -/* HCI_COMMAND_COMPLETE_EVENT code: */ - #define HCI_COMMAND_COMPLETE_EVT_CODE 0x0E - -/* HCI_COMMAND_STATUS_EVENT code: */ - #define HCI_COMMAND_STATUS_EVT_CODE 0x0F - -/* HCI_HARDWARE_ERROR_EVENT code: */ - #define HCI_HARDWARE_ERROR_EVT_CODE 0x10 - -/* HCI_NUMBER_OF_COMPLETED_PACKETS_EVENT code: */ - #define HCI_NUMBER_OF_COMPLETED_PACKETS_EVT_CODE 0x13 - -/* HCI_DATA_BUFFER_OVERFLOW_EVENT code: */ - #define HCI_DATA_BUFFER_OVERFLOW_EVT_CODE 0x1A - -/* HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVENT code: */ -#define HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVT_CODE 0x30 - -/* */ -#define HCI_LE_META_EVT_CODE 0x3E - -/* */ -#define HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE 0xFF - -/* HCI LE SubEvent codes */ - - /* HCI_LE_CONNECTION_COMPLETE_EVENT code: */ - #define HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE 0x01 - - /* HCI_LE_ADVERTISING_REPORT_EVENT code: */ - #define HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE 0x02 - - /* HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT code: */ - #define HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE 0x03 - - /* HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT code: */ - #define HCI_LE_READ_REMOTE_FEATURES_COMPLETE_SUBEVT_CODE 0x04 - - /* HCI_LE_LONG_TERM_KEY_REQUEST_EVENT code: */ - #define HCI_LE_LONG_TERM_KEY_REQUEST_SUBEVT_CODE 0x05 - - /* HCI_LE_DATA_LENGTH_CHANGE_EVENT code: */ - #define HCI_LE_DATA_LENGTH_CHANGE_SUBEVT_CODE 0x07 - - /* HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT code: */ - #define HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_SUBEVT_CODE 0x08 - - /* HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT code: */ - #define HCI_LE_GENERATE_DHKEY_COMPLETE_SUBEVT_CODE 0x09 - - /* HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT code: */ - #define HCI_LE_ENHANCED_CONNECTION_COMPLETE_SUBEVT_CODE 0x0A - - /* HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT code: */ - #define HCI_LE_DIRECT_ADVERTISING_REPORT_SUBEVT_CODE 0x0B - - /* HCI_LE_PHY_UPDATE_COMPLETE_EVENT code: */ - #define HCI_LE_PHY_UPDATE_COMPLETE_SUBEVT_CODE 0x0C +/* HCI event code */ +#define HCI_DISCONNECTION_COMPLETE_EVT_CODE 0x05 +#define HCI_ENCRYPTION_CHANGE_EVT_CODE 0x08 +#define HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVT_CODE 0x0C +#define HCI_COMMAND_COMPLETE_EVT_CODE 0x0E +#define HCI_COMMAND_STATUS_EVT_CODE 0x0F +#define HCI_HARDWARE_ERROR_EVT_CODE 0x10 +#define HCI_NUMBER_OF_COMPLETED_PACKETS_EVT_CODE 0x13 +#define HCI_DATA_BUFFER_OVERFLOW_EVT_CODE 0x1A +#define HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVT_CODE 0x30 +#define HCI_LE_META_EVT_CODE 0x3E +#define HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE 0xFF + +/* HCI LE subevent code */ +#define HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE 0x01 +#define HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE 0x02 +#define HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE 0x03 +#define HCI_LE_READ_REMOTE_FEATURES_COMPLETE_SUBEVT_CODE 0x04 +#define HCI_LE_LONG_TERM_KEY_REQUEST_SUBEVT_CODE 0x05 +#define HCI_LE_DATA_LENGTH_CHANGE_SUBEVT_CODE 0x07 +#define HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_SUBEVT_CODE 0x08 +#define HCI_LE_GENERATE_DHKEY_COMPLETE_SUBEVT_CODE 0x09 +#define HCI_LE_ENHANCED_CONNECTION_COMPLETE_SUBEVT_CODE 0x0A +#define HCI_LE_DIRECT_ADVERTISING_REPORT_SUBEVT_CODE 0x0B +#define HCI_LE_PHY_UPDATE_COMPLETE_SUBEVT_CODE 0x0C +#define HCI_LE_EXTENDED_ADVERTISING_REPORT_SUBEVT_CODE 0x0D +#define HCI_LE_SCAN_TIMEOUT_SUBEVT_CODE 0x11 +#define HCI_LE_ADVERTISING_SET_TERMINATED_SUBEVT_CODE 0x12 +#define HCI_LE_SCAN_REQUEST_RECEIVED_SUBEVT_CODE 0x13 /* HCI error code */ #define HCI_SUCCESS_ERR_CODE 0x00 diff --git a/Middlewares/ST/STM32_WPAN/ble/core/doc/STM32WB_BLE_Wireless_Interface.html b/Middlewares/ST/STM32_WPAN/ble/core/doc/STM32WB_BLE_Wireless_Interface.html index d88efa0af..e9992c8b3 100644 --- a/Middlewares/ST/STM32_WPAN/ble/core/doc/STM32WB_BLE_Wireless_Interface.html +++ b/Middlewares/ST/STM32_WPAN/ble/core/doc/STM32WB_BLE_Wireless_Interface.html @@ -636,7 +636,7 @@ padding-right: 0px; } td.gsib_a {padding:0px;padding-top:4px;padding-left:3px;} -

                                  STM32WB BLE Wireless Interface

                                  This document describes the STM32WB BLE Application Commands Interface (ACI) and Host Commands Interface (HCI).

                                  STM32WB Series website

                                  Revision history

                                  December 2018 - Rev 1.0 - First release for interface 1.0

                                  February 2019 - Rev 1.1 - Modified HCI_HARDWARE_ERROR_EVENT comment

                                  March 2019 - Rev 1.2 - Removed unused event documentation

                                  March 2019 - Rev 1.3 - Modification ACI_HAL_FW_ERROR_EVENT error code

                                  March 2019 - Rev 1.4 - Changed default mask of HCI_SET_EVENT_MASK

                                  May 2019 - Rev 1.5 - ACI_GATT_NOTIFICATION_EXT_EVENT added

                                  June 2019 - Rev 1.6 - Changed comment on usage of Char Handles in multiple ACI_GATT commands; Added ACI_GATT_INDICATION_EXT_EVENT

                                  June 2019 - Rev 1.7 - Changed descriptions of ACI_ATT_READ_BY_TYPE_REQ and ACI_GATT_READ_USING_CHAR_UUID

                                  July 2019 - Rev 1.8 - Reworked error codes section; Added GAP_ prefix to the GAP procedure bitmap definitions

                                  September 2019 - Rev 1.9 - Added ACI_GATT_READ_EXT_EVENT; Modified ACI_GAP_CONFIGURE_WHITELIST comment

                                  October 2019 - Rev 1.10 - Changed descriptions of ACI_GATT_WRITE_WITHOUT_RESP and ACI_GATT_SIGNED_WRITE_WITHOUT_RESP; Removed obsolete configuration data elements

                                  November 2019 - Rev 1.11 - Completed description of ACI_GAP_INIT; Added specific pairing status definitions

                                  November 2019 - Rev 1.12 - Fixed status error codes

                                  January 2020 - Rev 1.13 - Removed DIV unused configuration data; Fixed naming of HCI_LE_READ_REMOTE_FEATURES command and complete event

                                  March 2020 - Rev 1.14 - Removed unused HCI_Data_Buffer_Overflow event; Fixed naming of FW_Error_Type possible values; Fixed pairing status possible values

                                  March 2020 - Rev 1.15 - Added GAP scan timeout value

                                  April 2020 - Rev 1.16 - Fixed various format issues; Added LO and PO columns for command and event tables.

                                  May 2020 - Rev 1.17 - Updated PO stack features; Added comment in HCI_LE_ADVERTISING_REPORT_EVENT description.

                                  June 2020 - Rev 1.18 - Added BO column for command and event tables; Fixed advertising commands description; Fixed various format issues.

                                  June 2020 - Rev 1.19 - Completed interval possible values for ACI_GAP_SET_DIRECT_CONNECTABLE.

                                  July 2020 - Rev 1.20 - Added HCI_LE_SET_PRIVACY_MODE.

                                  July 2020 - Rev 1.21 - Updated "beacon only" stack features.

                                  September 2020 - Rev 1.22 - Fixed various minor issues.

                                  November 2020 - Rev 1.23 - Added connection-oriented channels feature; Added HCI_LE_READ_TRANSMIT_POWER; Updated PO variant.

                                  December 2020 - Rev 1.24 - Added BF column for command and event tables.

                                  January 2021 - Rev 1.25 - Added Link_Status possible values.

                                  Contents

                                  HCI/ACI commands

                                  HCI/ACI events

                                  Status error codes

                                  HCI/ACI commands

                                  HCI commands

                                  HCI TESTING commands

                                  ACI HAL commands

                                  ACI GAP commands

                                  ACI GATT/ATT commands

                                  ACI L2CAP commands

                                  Note: in the command tables, a "Y" in the "BF", "PO", "LO" or "BO" column, means that the corresponding command applies to the "Basic Features", "Peripheral Only", "Link Layer Only" or "Beacon Only" variant of the BLE stack, respectively.

                                  HCI commands

                                  +

                                  STM32WB BLE Wireless Interface

                                  This document describes the STM32WB BLE Application Commands Interface (ACI) and Host Commands Interface (HCI).

                                  STM32WB Series website

                                  Revision history

                                  December 2018 - Rev 1.0 - First release for interface 1.0

                                  February 2019 - Rev 1.1 - Modified HCI_HARDWARE_ERROR_EVENT comment

                                  March 2019 - Rev 1.2 - Removed unused event documentation

                                  March 2019 - Rev 1.3 - Modification ACI_HAL_FW_ERROR_EVENT error code

                                  March 2019 - Rev 1.4 - Changed default mask of HCI_SET_EVENT_MASK

                                  May 2019 - Rev 1.5 - ACI_GATT_NOTIFICATION_EXT_EVENT added

                                  June 2019 - Rev 1.6 - Changed comment on usage of Char Handles in multiple ACI_GATT commands; Added ACI_GATT_INDICATION_EXT_EVENT

                                  June 2019 - Rev 1.7 - Changed descriptions of ACI_ATT_READ_BY_TYPE_REQ and ACI_GATT_READ_USING_CHAR_UUID

                                  July 2019 - Rev 1.8 - Reworked error codes section; Added GAP_ prefix to the GAP procedure bitmap definitions

                                  September 2019 - Rev 1.9 - Added ACI_GATT_READ_EXT_EVENT; Modified ACI_GAP_CONFIGURE_WHITELIST comment

                                  October 2019 - Rev 1.10 - Changed descriptions of ACI_GATT_WRITE_WITHOUT_RESP and ACI_GATT_SIGNED_WRITE_WITHOUT_RESP; Removed obsolete configuration data elements

                                  November 2019 - Rev 1.11 - Completed description of ACI_GAP_INIT; Added specific pairing status definitions

                                  November 2019 - Rev 1.12 - Fixed status error codes

                                  January 2020 - Rev 1.13 - Removed DIV unused configuration data; Fixed naming of HCI_LE_READ_REMOTE_FEATURES command and complete event

                                  March 2020 - Rev 1.14 - Removed unused HCI_Data_Buffer_Overflow event; Fixed naming of FW_Error_Type possible values; Fixed pairing status possible values

                                  March 2020 - Rev 1.15 - Added GAP scan timeout value

                                  April 2020 - Rev 1.16 - Fixed various format issues; Added LO and PO columns for command and event tables.

                                  May 2020 - Rev 1.17 - Updated PO stack features; Added comment in HCI_LE_ADVERTISING_REPORT_EVENT description.

                                  June 2020 - Rev 1.18 - Added BO column for command and event tables; Fixed advertising commands description; Fixed various format issues.

                                  June 2020 - Rev 1.19 - Completed interval possible values for ACI_GAP_SET_DIRECT_CONNECTABLE.

                                  July 2020 - Rev 1.20 - Added HCI_LE_SET_PRIVACY_MODE.

                                  July 2020 - Rev 1.21 - Updated "beacon only" stack features.

                                  September 2020 - Rev 1.22 - Fixed various minor issues.

                                  November 2020 - Rev 1.23 - Added connection-oriented channels feature; Added HCI_LE_READ_TRANSMIT_POWER; Updated PO variant.

                                  December 2020 - Rev 1.24 - Added BF column for command and event tables.

                                  January 2021 - Rev 1.25 - Added Link_Status possible values.

                                  January 2021 - Rev 1.26 - Fixed some specification references.

                                  February 2021 - Rev 1.27 - Added ACI_HAL_SET_SLAVE_LATENCY; Updated comments of ACI_HAL_WRITE_CONFIG_DATA and ACI_HAL_READ_CONFIG_DATA.

                                  Contents

                                  HCI/ACI commands

                                  HCI/ACI events

                                  Status error codes

                                  HCI/ACI commands

                                  HCI commands

                                  HCI TESTING commands

                                  ACI HAL commands

                                  ACI GAP commands

                                  ACI GATT/ATT commands

                                  ACI L2CAP commands

                                  Note: in the command tables, a "Y" in the "BF", "PO", "LO" or "BO" column, means that the corresponding command applies to the "Basic Features", "Peripheral Only", "Link Layer Only" or "Beacon Only" variant of the BLE stack, respectively.

                                  HCI commands

                                  -
                                  CommandOpcodeBFPOLOBO
                                  HCI_DISCONNECT

                                  0x0406

                                  Y

                                  @@ -874,7 +874,7 @@ td.gsib_a {padding:0px;padding-top:4px;padding-left:3px;}
                                  HCI_LE_SET_PRIVACY_MODE

                                  0x204E

                                  Y

                                  HCI_DISCONNECT

                                  Description

                                  The HCI_DISCONNECT is used to terminate an existing connection. The Connection_Handle command parameter indicates which connection is to be disconnected. The Reason command parameter indicates the reason for ending the connection. The remote Controller will receive the Reason command parameter in the HCI_DISCONNECTION_COMPLETE_EVENT event. All synchronous connections on a physical link should be disconnected before the ACL connection on the same physical connection is disconnected.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.1.6)

                                  Input parameters

                                  +

                                  HCI_DISCONNECT

                                  Description

                                  The HCI_DISCONNECT is used to terminate an existing connection. The Connection_Handle command parameter indicates which connection is to be disconnected. The Reason command parameter indicates the reason for ending the connection. The remote Controller will receive the Reason command parameter in the HCI_DISCONNECTION_COMPLETE_EVENT event. All synchronous connections on a physical link should be disconnected before the ACL connection on the same physical connection is disconnected.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.1.6].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -890,7 +890,7 @@ td.gsib_a {padding:0px;padding-top:4px;padding-left:3px;}

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_DISCONNECTION_COMPLETE_EVENT
                                • HCI_READ_REMOTE_VERSION_INFORMATION

                                  Description

                                  This command will obtain the values for the version information for the remote device identified by the Connection_Handle parameter. The Connection_Handle must be a Connection_Handle for an ACL or LE connection.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.1.23)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_DISCONNECTION_COMPLETE_EVENT
                                • HCI_READ_REMOTE_VERSION_INFORMATION

                                  Description

                                  This command will obtain the values for the version information for the remote device identified by the Connection_Handle parameter. The Connection_Handle must be a Connection_Handle for an ACL or LE connection.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.1.23].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -902,7 +902,7 @@ td.gsib_a {padding:0px;padding-top:4px;padding-left:3px;}

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVENT
                                • HCI_SET_EVENT_MASK

                                  Description

                                  The Set_Event_Mask command is used to control which events are generated by the HCI for the Host. If the bit in the Event_Mask is set to a one, then the event associated with that bit will be enabled. For an LE Controller, the LE Meta Event bit in the Event_Mask shall enable or disable all LE events in the LE Meta Event (see Section 7.7.65). The Host has to deal with each event that occurs. The event mask allows the Host to control how much it is interrupted.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.3.1)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVENT
                                • HCI_SET_EVENT_MASK

                                  Description

                                  The Set_Event_Mask command is used to control which events are generated by the HCI for the Host. If the bit in the Event_Mask is set to a one, then the event associated with that bit will be enabled. For an LE Controller, the LE Meta Event bit in the Event_Mask shall enable or disable all LE events in the LE Meta Event. The Host has to deal with each event that occurs. The event mask allows the Host to control how much it is interrupted.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.1].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Event_Mask

                                  8

                                  @@ -914,13 +914,13 @@ td.gsib_a {padding:0px;padding-top:4px;padding-left:3px;}

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_RESET

                                  Description

                                  The Reset command resets the Link Layer on an LE Controller. The Reset command shall not affect the used HCI transport layer since the HCI transport layers may have reset mechanisms of their own. After the reset is completed, the current operational state is lost, the Controller enters standby mode and the Controller automatically reverts to the default values for the parameters for which default values are defined in the specification.
                                  Note: The Reset command does not necessarily perform a hardware reset. This is implementation defined.
                                  The Host shall not send additional HCI commands before the Command Complete event related to the Reset command has been received.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.3.2)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_RESET

                                  Description

                                  The Reset command resets the Link Layer on an LE Controller. The Reset command shall not affect the used HCI transport layer since the HCI transport layers may have reset mechanisms of their own. After the reset is completed, the current operational state is lost, the Controller enters standby mode and the Controller automatically reverts to the default values for the parameters for which default values are defined in the specification.
                                  Note: The Reset command does not necessarily perform a hardware reset. This is implementation defined.
                                  The Host shall not send additional HCI commands before the Command Complete event related to the Reset command has been received.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.2].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_TRANSMIT_POWER_LEVEL

                                  Description

                                  This command reads the values for the Transmit_Power_Level parameter for the specified Connection_Handle. The Connection_Handle shall be a Connection_Handle for an ACL connection.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.3.35)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_TRANSMIT_POWER_LEVEL

                                  Description

                                  This command reads the values for the Transmit_Power_Level parameter for the specified Connection_Handle. The Connection_Handle shall be a Connection_Handle for an ACL connection.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.35].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -945,7 +945,7 @@ td.gsib_a {padding:0px;padding-top:4px;padding-left:3px;}

                                  Size: 1 Octet (signed integer) Units: dBm

                                • -30 ... 20
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL

                                  Description

                                  This command is used by the Host to turn flow control on or off for data and/or voice sent in the direction from the Controller to the Host. If flow control is turned off, the Host should not send the Host_Number_Of_Completed_Packets command. That command will be ignored by the Controller if it is sent by the Host and flow control is off. If flow control is turned on for HCI ACL Data Packets and off for HCI synchronous Data Packets, Host_Number_Of_Completed_Packets commands sent by the Host should only contain Connection_Handles for ACL connections. If flow control is turned off for HCI ACL Data Packets and on for HCI synchronous Data Packets, Host_Number_Of_Completed_Packets commands sent by the Host should only contain Connection_Handles for synchronous connections. If flow control is turned on for HCI ACL Data Packets and HCI synchronous Data Packets, the Host will send Host_Number_Of_Completed_Packets commands both for ACL connections and synchronous connections.
                                  The Flow_Control_Enable parameter shall only be changed if no connections exist.
                                  (See Bluetooth Spec v.5.0, Vol. 2, Part E, 7.3.38)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL

                                  Description

                                  This command is used by the Host to turn flow control on or off for data and/or voice sent in the direction from the Controller to the Host. If flow control is turned off, the Host should not send the Host_Number_Of_Completed_Packets command. That command will be ignored by the Controller if it is sent by the Host and flow control is off. If flow control is turned on for HCI ACL Data Packets and off for HCI synchronous Data Packets, Host_Number_Of_Completed_Packets commands sent by the Host should only contain Connection_Handles for ACL connections. If flow control is turned off for HCI ACL Data Packets and on for HCI synchronous Data Packets, Host_Number_Of_Completed_Packets commands sent by the Host should only contain Connection_Handles for synchronous connections. If flow control is turned on for HCI ACL Data Packets and HCI synchronous Data Packets, the Host will send Host_Number_Of_Completed_Packets commands both for ACL connections and synchronous connections.
                                  The Flow_Control_Enable parameter shall only be changed if no connections exist.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.38].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Flow_Control_Enable

                                  1

                                  @@ -957,7 +957,7 @@ Units: dBm

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_HOST_BUFFER_SIZE

                                  Description

                                  The Host_Buffer_Size command is used by the Host to notify the Controller about the maximum size of the data portion of HCI ACL and synchronous Data Packets sent from the Controller to the Host. The Controller shall segment the data to be transmitted from the Controller to the Host according to these sizes, so that the HCI Data Packets will contain data with up to these sizes. The Host_Buffer_Size command also notifies the Controller about the total number of HCI ACL and synchronous Data Packets that can be stored in the data buffers of the Host. If flow control from the Controller to the Host is turned off, and the Host_Buffer_Size command has not been issued by the Host, this means that the Controller will send HCI Data Packets to the Host with any lengths the Controller wants to use, and it is assumed that the data buffer sizes of the Host are unlimited. If flow control from the Controller to the Host is turned on, the Host_Buffer_Size command shall after a power-on or a reset always be sent by the Host before the first Host_Number_Of_Completed_Packets command is sent.
                                  The Set Controller To Host Flow Control Command is used to turn flow control on or off.
                                  The Host_ACL_Data_Packet_Length command parameter will be used to determine the size of the L2CAP segments contained in ACL Data Packets, which are transferred from the Controller to the Host.
                                  The Host_Synchronous_Data_Packet_Length command parameter is used to determine the maximum size of HCI synchronous Data Packets. Both the Host and the Controller shall support command and event packets, where the data portion (excluding header) contained in the packets is 255 octets in size.
                                  The Host_Total_Num_ACL_Data_Packets command parameter contains the total number of HCI ACL Data Packets that can be stored in the data buffers of the Host. The Controller will determine how the buffers are to be divided between different Connection_Handles.
                                  The Host_Total_Num_Synchronous_Data_Packets command parameter gives the same information for HCI synchronous Data Packets.
                                  Note: The Host_ACL_Data_Packet_Length and Host_Synchronous_Data_Packet_Length command parameters do not include the length of the HCI Data Packet header.
                                  (See Bluetooth Spec v.5.0, Vol. 2, Part E, 7.3.39)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_HOST_BUFFER_SIZE

                                  Description

                                  The Host_Buffer_Size command is used by the Host to notify the Controller about the maximum size of the data portion of HCI ACL and synchronous Data Packets sent from the Controller to the Host. The Controller shall segment the data to be transmitted from the Controller to the Host according to these sizes, so that the HCI Data Packets will contain data with up to these sizes. The Host_Buffer_Size command also notifies the Controller about the total number of HCI ACL and synchronous Data Packets that can be stored in the data buffers of the Host. If flow control from the Controller to the Host is turned off, and the Host_Buffer_Size command has not been issued by the Host, this means that the Controller will send HCI Data Packets to the Host with any lengths the Controller wants to use, and it is assumed that the data buffer sizes of the Host are unlimited. If flow control from the Controller to the Host is turned on, the Host_Buffer_Size command shall after a power-on or a reset always be sent by the Host before the first Host_Number_Of_Completed_Packets command is sent.
                                  The Set Controller To Host Flow Control Command is used to turn flow control on or off.
                                  The Host_ACL_Data_Packet_Length command parameter will be used to determine the size of the L2CAP segments contained in ACL Data Packets, which are transferred from the Controller to the Host.
                                  The Host_Synchronous_Data_Packet_Length command parameter is used to determine the maximum size of HCI synchronous Data Packets. Both the Host and the Controller shall support command and event packets, where the data portion (excluding header) contained in the packets is 255 octets in size.
                                  The Host_Total_Num_ACL_Data_Packets command parameter contains the total number of HCI ACL Data Packets that can be stored in the data buffers of the Host. The Controller will determine how the buffers are to be divided between different Connection_Handles.
                                  The Host_Total_Num_Synchronous_Data_Packets command parameter gives the same information for HCI synchronous Data Packets.
                                  Note: The Host_ACL_Data_Packet_Length and Host_Synchronous_Data_Packet_Length command parameters do not include the length of the HCI Data Packet header.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.39].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Host_ACL_Data_Packet_Length

                                  2

                                  @@ -981,7 +981,7 @@ Units: dBm

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_HOST_NUMBER_OF_COMPLETED_PACKETS

                                  Description

                                  The Host_Number_Of_Completed_Packets command is used by the Host to indicate to the Controller the number of HCI Data Packets that have been completed for each Connection_Handle since the previous Host_Number_Of_Completed_Packets command was sent to the Controller. This means that the corresponding buffer space has been freed in the Host. Based on this information, and the Host_Total_Num_ACL_Data_Packets and Host_Total_Num_Synchronous_Data_Packets command parameters of the Host_Buffer_Size command, the Controller can determine for which Connection_Handles the following HCI Data Packets should be sent to the Host. The command should only be issued by the Host if flow control in the direction from the Controller to the Host is on and there is at least one connection, or if the Controller is in local loopback mode. Otherwise, the command will be ignored by the Controller. When the Host has completed one or more HCI Data Packet(s) it shall send a Host_Number_Of_Completed_Packets command to the Controller, until it finally reports that all pending HCI Data Packets have been completed. The frequency at which this command is sent is manufacturer specific.
                                  The Set Controller To Host Flow Control Command is used to turn flow control on or off. If flow control from the Controller to the Host is turned on, the Host_Buffer_Size command shall always be sent by the Host after a power-on or a reset before the first Host_Number_Of_Completed_Packets command is sent.
                                  Note: The Host_Number_Of_Completed_Packets command is a special command in the sense that no event is normally generated after the command has completed. The command may be sent at any time by the Host when there is at least one connection, or if the Controller is in local loopback mode independent of other commands. The normal flow control for commands is not used for the Host_Number_Of_Completed_Packets command.
                                  (See Bluetooth Spec v.5.0, Vol. 2, Part E, 7.3.40)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_HOST_NUMBER_OF_COMPLETED_PACKETS

                                  Description

                                  The Host_Number_Of_Completed_Packets command is used by the Host to indicate to the Controller the number of HCI Data Packets that have been completed for each Connection_Handle since the previous Host_Number_Of_Completed_Packets command was sent to the Controller. This means that the corresponding buffer space has been freed in the Host. Based on this information, and the Host_Total_Num_ACL_Data_Packets and Host_Total_Num_Synchronous_Data_Packets command parameters of the Host_Buffer_Size command, the Controller can determine for which Connection_Handles the following HCI Data Packets should be sent to the Host. The command should only be issued by the Host if flow control in the direction from the Controller to the Host is on and there is at least one connection, or if the Controller is in local loopback mode. Otherwise, the command will be ignored by the Controller. When the Host has completed one or more HCI Data Packet(s) it shall send a Host_Number_Of_Completed_Packets command to the Controller, until it finally reports that all pending HCI Data Packets have been completed. The frequency at which this command is sent is manufacturer specific.
                                  The Set Controller To Host Flow Control Command is used to turn flow control on or off. If flow control from the Controller to the Host is turned on, the Host_Buffer_Size command shall always be sent by the Host after a power-on or a reset before the first Host_Number_Of_Completed_Packets command is sent.
                                  Note: The Host_Number_Of_Completed_Packets command is a special command in the sense that no event is normally generated after the command has completed. The command may be sent at any time by the Host when there is at least one connection, or if the Controller is in local loopback mode independent of other commands. The normal flow control for commands is not used for the Host_Number_Of_Completed_Packets command.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.3.40].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Number_Of_Handles

                                  1

                                  @@ -998,7 +998,7 @@ Units: dBm

                                  The number of HCI Data Packets that have been completed for the associated Connection_Handle since the previous time the event was returned.

                                  0x0000-0xFFFF

                                  Output parameters

                                  None

                                  Events generated

                                  Normally, no event is generated after the Host_Number_Of_Completed_Packets command has completed. However, if the Host_Number_Of_Completed_Packets command contains one or more invalid parameters, the Controller shall return a Command Complete event with a failure status indicating the Invalid HCI Command Parameters error code. The Host may send the Host_Number_Of_Completed_Packets command at any time when there is at least one connection, or if the Controller is in local loopback mode. The normal flow control for commands is not used for this command.

                                  HCI_READ_LOCAL_VERSION_INFORMATION

                                  Description

                                  This command reads the values for the version information for the local Controller. The HCI Version information defines the version information of the HCI layer. The LMP/PAL Version information defines the version of the LMP or PAL. The Manufacturer_Name information indicates the manufacturer of the local device. The HCI Revision and LMP/PAL Subversion are implementation dependent.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.1)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Output parameters

                                  None

                                  Events generated

                                  Normally, no event is generated after the Host_Number_Of_Completed_Packets command has completed. However, if the Host_Number_Of_Completed_Packets command contains one or more invalid parameters, the Controller shall return a Command Complete event with a failure status indicating the Invalid HCI Command Parameters error code. The Host may send the Host_Number_Of_Completed_Packets command at any time when there is at least one connection, or if the Controller is in local loopback mode. The normal flow control for commands is not used for this command.

                                  HCI_READ_LOCAL_VERSION_INFORMATION

                                  Description

                                  This command reads the values for the version information for the local Controller. The HCI Version information defines the version information of the HCI layer. The LMP/PAL Version information defines the version of the LMP or PAL. The Manufacturer_Name information indicates the manufacturer of the local device. The HCI Revision and LMP/PAL Subversion are implementation dependent.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.1].

                                  Input parameters

                                  None

                                  Output parameters

                                  - + diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCILayer_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCILayer_fw.bin index d9b589b01..9369cb1f3 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCILayer_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCILayer_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCI_AdvScan_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCI_AdvScan_fw.bin index ee6041cf0..ffb5251f2 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCI_AdvScan_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_HCI_AdvScan_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_LLD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_LLD_fw.bin index 499ce20d0..b0f2b9588 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_LLD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_LLD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_full_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_full_fw.bin index 35b797cc2..408f0dca6 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_full_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_full_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_light_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_light_fw.bin index 1dda98f95..d06c5156e 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_light_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/stm32wb1x_BLE_Stack_light_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/Release_Notes.html b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/Release_Notes.html index 5ced0cbf4..72b2e5ad4 100644 --- a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/Release_Notes.html +++ b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/Release_Notes.html @@ -33,6 +33,8 @@

                                  This software component is licensed by ST under Ultimate Liberty license SLA0044, the “License”;

                                  You may not use this file except in compliance with the License.

                                  You may obtain a copy of the License at: SLA0044

                                  +

                                  Known Limitations

                                  +

                                  If Anti-Rollback needs to be activated, please make sure to activate it only after installing the latest FUS version (>= V1.2.0) and after successfully installing a wireless stack (without deleting it). Otherwise, further wireless stack installation will be blocked.

                                  Purpose

                                  This release covers the delivery of STM32WB Coprocessor binaries.

                                  Here is the list of references to user documents:

                                  @@ -64,9 +66,10 @@
                                • GATT server, client
                                • Data length extension
                                • 2Mbit PHY / PHY update
                                • -
                                • Privacy / White list
                                • +
                                • Privacy
                                • +
                                • White list
                                • Legacy Pairing, LE secure connections
                                • -
                                • HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin)
                                • +
                                • HCI interface (full, like stm32wb3x_BLE_HCILayer_fw.bin)
                                • Direct Test Mode
                                • @@ -82,10 +85,15 @@
                                • GAP peripheral only (LL slave up to 2 links)
                                • GATT server
                                • Data length extension
                                • +
                                • Privacy
                                • +
                                • White list
                                • Legacy Pairing, LE secure connections
                                • HCI interface (reduced)
                                • Direct Test Mode
                                • +
                                • BLE “Slave Only” stack implies that with this stack configuration, STM32WB is not able to scan and request a BLE connection.
                                • +
                                • It will just advertise, and accept incoming connection request from other master devices (e.g. Smartphone).
                                • +
                                • While with the “full feature” BLE stack, STM32WB3xx is able to support both master and slave roles on different links.
                                • stm32wb3x_BLE_HCILayer_fw.bin @@ -133,9 +141,13 @@
                                • stm32wb3x_FUS_fw_1_0_2.bin
                                    +
                                  • Deprecated (empty file).
                                  • +
                                • +
                                • stm32wb3x_FUS_fw_for_fus_0_5_3.bin +
                                  • Firmware Upgrade Services (FUS)
                                  • This binary is the utility to flash the Wireless Coprocessor Binaries.
                                  • -
                                  • FUS version v1.0.2
                                  • +
                                  • Latest version of the FUS to upgrade board containing only FUS v0.5.3
                                • stm32wb3x_FUS_fw.bin
                                    @@ -144,240 +156,373 @@
                                  • Latest version of the FUS
                                • -

                                  How to flash the Wireless Coprocessor Binary via USB (Command Line Interface)

                                  +

                                  How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (STM32CubeProgrammer GUI)

                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • -
                                  • STEP 1: Use STM32CubeProgrammer

                                    +
                                  • STEP 1: Use STM32CubeProgrammer GUI

                                      -
                                    • Version 2.0 or higher.

                                    • +
                                    • Version 2.7.0 or higher.

                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • -
                                    • It is currently available as Command Line Interface (CLI) mode.

                                    • +
                                    • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                                  • -
                                  • STEP 2: Access to Bootloader USB Interface (system flash)

                                    +
                                  • STEP 2: Access to SWD Interface (system flash)

                                      -
                                    • Boot mode selected by Boot0 pin set to VDD +
                                    • For NUCLEO-WB35CE :
                                        -
                                      • For P-NUCLEO-WB55.Nucleo : +
                                      • Power ON via ST-LINK and Jumper JP1(USB_STL)
                                      • +
                                    • +
                                    • open STM32CubeProgrammer GUI and select “ST-LINK”
                                    • +
                                    • in ST-LINK configuration: (Port: SWD) then select “Connect”
                                    • +
                                  • +
                                  • STEP 3: select “Start FUS” in Firmware Upgrade Services

                                  • +
                                  • STEP 4: Read and upgrade FUS Version

                                      -
                                    • Jumper between CN7.5(VDD) and CN7.7(Boot0)
                                    • -
                                    • Power ON via USB_USER and Jumper JP1(USB_MCU)
                                    • +
                                    • it can been obtained selecting “Read FUS infos” +
                                        +
                                      • 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                                      • +
                                      • 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                                      • +
                                      • 01020000: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                                      • +
                                  • -
                                  • For P-NUCLEO-WB55.USBDongle : +
                                  • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                                      -
                                    • Move switch SW2 to Boot0
                                    • -
                                    • Connect P-NUCLEO-WB55.USBDongle
                                    • +
                                    • in Firmware Upgrade Services: (File Path: [stm32wb3x_FUS_fw_for_fus_0_5_3.bin], Start Adress: [Install@])
                                    • +
                                    • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                  • STEP 6: Download latest FUS

                                    +
                                      +
                                    • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
                                    • +
                                    • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                  • STEP 7: Download new wireless stack (after “FW Delete” if requested)

                                    +
                                      +
                                    • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                                    • +
                                    • then select “Firmware Upgrade” (with “Verify download” and “Start stack after upgrade”) Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary. (optional: activate “Anti-Rollback” on downloaded binary) If you need to perform FUS related manipulations, you always need to START the FUS in case the FUS is not running.
                                  • -
                                  • STEP 3 : Delete current wireless stack

                                    +
                                  • STEP 8: Revert to default configuration: in Option Bytes menu for User Configuration set: nSWboot0=1 (checked) nboot1=1 nboot0=1

                                  • +
                                  +

                                  How to flash the Wireless Coprocessor Binary via USB (STM32CubeProgrammer GUI)

                                  +
                                    +
                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • +
                                  • STEP 1: Use STM32CubeProgrammer GUI

                                      -
                                    • STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
                                    • +
                                    • Version 2.7.0 or higher.

                                    • +
                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • +
                                    • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                                  • -
                                  • STEP 4 : Read and upgrade FUS Version +
                                  • STEP 2: Access to Bootloader USB Interface (system flash)

                                      -
                                    • STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1 +
                                    • Boot mode selected by Boot0 pin set to VDD +
                                        +
                                      • For NUCLEO-WB35CE :
                                          -
                                        • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
                                        • -
                                        • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
                                        • -
                                        • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
                                        • +
                                        • Jumper between CN7.5(VDD) and CN7.7(Boot0)
                                        • +
                                        • Power ON via USB_USER and Jumper JP1(USB_MCU)
                                          +
                                        • +
                                    • +
                                    • Warning: required Option Byte configuration: [nSWboot0=1]

                                    • +
                                    • Open STM32CubeProgrammer GUI and select “USB” with (Port: USB1) in USB configuration then select “Connect”

                                  • -
                                  • STEP 5 : Download FUS 1.0.2 (stm32wb3x_FUS_fw_1_0_2.bin):

                                    +
                                  • STEP 3: step bypassed via USB

                                  • +
                                  • STEP 4: Read and upgrade FUS Version

                                      -
                                    • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb3x_FUS_fw_1_0_2.bin [Install@] firstinstall=0
                                    • -
                                    -

                                    Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                                  • -
                                  • STEP 6 : Download latest FUS :

                                    +
                                  • it can been obtained selecting “Read FUS infos”
                                      -
                                    • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [FUS_Binary] [Install@] firstinstall=0
                                    • -
                                    -

                                    Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                                  • -
                                  • STEP 7 : Download new wireless stack :

                                    +
                                  • 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                                  • +
                                  • 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                                  • +
                                  • 01020000: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                                  • +
                                  + +
                                • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                                    -
                                  • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1
                                  • -
                                  -

                                  Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary.

                                • -
                                • STEP 8 : Revert STEP 2 procedure to put back device in normal mode.

                                • +
                                • in Firmware Upgrade Service: (File Path: [stm32wb3x_FUS_fw_for_fus_0_5_3.bin], Start Adress: [Install@])
                                • +
                                • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                • + +
                                • STEP 6: Download latest FUS

                                  +
                                    +
                                  • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
                                  • +
                                  • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                • +
                                • STEP 7: Download new wireless stack (after “FW Delete” if requested)

                                  +
                                    +
                                  • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                                  • +
                                  • then select “Firmware Upgrade” (with “Verify download” and “Start stack after upgrade”) Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                • +
                                • STEP 8: Revert STEP 2 procedure to put back device in normal mode.

                                • How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (Command Line Interface)

                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • STEP 1: Use STM32CubeProgrammer

                                      -
                                    • Version 2.4.0 or higher.

                                    • +
                                    • Version 2.7.0 or higher.

                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • It is currently available as Command Line Interface (CLI) mode.

                                  • STEP 2: Access to SWD Interface (system flash)

                                      -
                                    • For P-NUCLEO-WB55.Nucleo : +
                                    • For NUCLEO-WB35CE :
                                      • Power ON via ST-LINK and Jumper JP1(USB_STL)
                                    • -
                                    • For P-NUCLEO-WB55.USBDongle : -
                                        -
                                      • remain switch SW2 to Boot1
                                      • -
                                      • Connect P-NUCLEO-WB55.USBDongle
                                    • -
                                  • -
                                  • STEP 3: Delete current wireless stack

                                    +
                                  • STEP 3: apply “Start FUS”

                                      -
                                    • STM32_Programmer_CLI.exe -c port=swd -fwdelete
                                    • +
                                    • STM32_Programmer_CLI.exe -c port=swd -startfus
                                  • -
                                  • STEP 4 : Read and upgrade FUS Version (if unknown FUS version)

                                    +
                                  • STEP 4: Read and upgrade FUS Version

                                      -
                                    • it can been obtained with Transparent Mode application from STM32CubeMonitor-RF interface or using other flashing method via USB described in RN. +
                                    • STM32_Programmer_CLI.exe -c port=swd mode=UR -r32 0x20010010 1
                                        -
                                      • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
                                      • -
                                      • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
                                      • -
                                      • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
                                      • +
                                      • @0x20010010: 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                                      • +
                                      • @0x20010010: 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                                      • +
                                      • @0x20010010: 01020X00: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                                  • -
                                  • STEP 5 : Download FUS v1.0.2:

                                    +
                                  • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                                      -
                                    • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade stm32wb3x_FUS_fw_1_0_2.bin [Install@] firstinstall=0
                                    • +
                                    • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade stm32wb3x_FUS_fw_for_fus_0_5_3.bin [Install@] firstinstall=0

                                    Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                                  • -
                                  • STEP 6 :Download latest FUS :

                                    +
                                  • STEP 6: Download latest FUS

                                    • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade [FUS_Binary] [Install@] firstinstall=0

                                    Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                                  • -
                                  • STEP 7 : Download new wireless stack :

                                    +
                                  • STEP 7: Download new wireless stack

                                      -
                                    • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1
                                    • +
                                    • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=0
                                    -

                                    Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary.

                                  • -
                                  • STEP 8 : Revert to default OB configuration :

                                    +

                                    Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary. (optional: activate “Anti-Rollback” on downloaded binary: STM32_Programmer_CLI.exe -c port=swd -antirollback) If you need to perform FUS related manipulations, you always need to START the FUS in case the FUS is not running.

                                  • +
                                  • STEP 8: Revert to default OB configuration

                                    • *STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=1 nboot1=1 nboot0=1
                                  -

                                  How to flash the Wireless Coprocessor Binary via USB (STM32CubeProgrammer GUI)

                                  +

                                  How to flash the Wireless Coprocessor Binary via USB (Command Line Interface)

                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • -
                                  • STEP 1: Use STM32CubeProgrammer GUI

                                    +
                                  • STEP 1: Use STM32CubeProgrammer

                                      -
                                    • Version 2.4.0 or higher.

                                    • +
                                    • Version 2.7 or higher.

                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • -
                                    • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                                    • +
                                    • It is currently available as Command Line Interface (CLI) mode.

                                  • STEP 2: Access to Bootloader USB Interface (system flash)

                                    • Boot mode selected by Boot0 pin set to VDD
                                        -
                                      • For P-NUCLEO-WB55.Nucleo : +
                                      • For NUCLEO-WB35CE :
                                        • Jumper between CN7.5(VDD) and CN7.7(Boot0)
                                        • Power ON via USB_USER and Jumper JP1(USB_MCU)
                                      • -
                                      • For P-NUCLEO-WB55.USBDongle : -
                                          -
                                        • Move switch SW2 to Boot0
                                        • -
                                        • Connect P-NUCLEO-WB55.USBDongle
                                        • -
                                    • -
                                    • open STM32CubeProgrammer GUI and select “USB”
                                    • -
                                    • in USB configuration: (Port: USB1) then select “Connect”
                                    • +
                                    • Warning: required Option Byte configuration: [nSWboot0=1]
                                  • -
                                  • STEP 3 : Delete current wireless stack

                                    +
                                  • STEP 3: step bypassed via USB

                                  • +
                                  • STEP 4: Read and upgrade FUS Version

                                      -
                                    • in Firmware Upgrade Services: select “Delete Firmware”
                                    • -
                                  • -
                                  • STEP 4 : Read and upgrade FUS Version

                                    -
                                      -
                                    • in Firmware Upgrade Services: select “Read FUS state” +
                                    • STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
                                        -
                                      • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
                                      • -
                                      • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
                                      • -
                                      • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
                                      • +
                                      • @0x20030030: 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                                      • +
                                      • @0x20030030: 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                                      • +
                                      • @0x20030030: 01020X00: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                                  • -
                                  • STEP 5 : Download FUS v1.0.2 :

                                    +
                                  • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                                      -
                                    • in Firmware Upgrade Service: (File Path: [stm32wb3x_FUS_fw_1_0_2.bin], Start Adress: [Install@])
                                    • -
                                    • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                    • -
                                  • -
                                  • STEP 6 :Download latest FUS :

                                    +
                                  • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb3x_FUS_fw_for_fus_0_5_3.bin [Install@] firstinstall=0
                                  • +
                                  +

                                  Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                                  +
                                • STEP 6: Download latest FUS

                                    -
                                  • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
                                  • -
                                  • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                  • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [FUS_Binary] [Install@] firstinstall=0 Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                • -
                                • STEP 7 : Download new wireless stack :

                                  +
                                • STEP 7: Download new wireless stack

                                    -
                                  • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                                  • -
                                  • then select “Firmware Upgrade” with “Verify download” and “Start stack after upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                  • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=0 Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary.
                                • -
                                • STEP 8 : Revert STEP 2 procedure to put back device in normal mode.

                                • +
                                • STEP 8: Revert STEP 2 procedure to put back device in normal mode.

                                • -

                                  How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (STM32CubeProgrammer GUI)

                                  -
                                    -
                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • -
                                  • STEP 1: Use STM32CubeProgrammer GUI

                                    -
                                      -
                                    • Version 2.4.0 or higher.

                                    • -
                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • -
                                    • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                                    • -
                                  • -
                                  • STEP 2: Access to SWD Interface (system flash)

                                    +

                                    How to compute available flash size

                                      -
                                    • For P-NUCLEO-WB55.Nucleo : +
                                    • The default linker file is provided in [\Drivers\CMSIS\Device\ST32WBxx\Source\Templates].

                                      +

                                      The maximum flash memory that can be used by the application is up to the Secure Flash Start Address (SFSA) that can be read from the option byte.

                                      +

                                      The ICFEDIT_region_ROM_end in the linker can be modified with a value up to : (0x08000000 + (SFSA << 12)) - 1.

                                    • +
                                    • Example: When the SFSA option byte is set to 0xA0, the maximum value to be used for __ICFEDIT_region_ROM_end is 0x0809FFFF – which is 640KB of flash

                                    • +
                                    • Note: The SFSA option byte can only be set by the CPU2. The user cannot modify that value.

                                    • +
                                    + +
                                    +

                                    Update History

                                    +
                                    + +
                                    +

                                    Main Changes

                                    +

                                    Associated changes in Wireless Coprocessor Binary:

                                      -
                                    • Power ON via ST-LINK and Jumper JP1(USB_STL)
                                    • -
                                  • -
                                  • For P-NUCLEO-WB55.USBDongle : +
                                  • Install address for STM32WB3x(256K) provided

                                  • +
                                  • BLE :
                                      -
                                    • remain switch SW2 to Boot1
                                    • -
                                    • Connect P-NUCLEO-WB55.USBDongle
                                    • -
                                  • -
                                  • open STM32CubeProgrammer GUI and select “ST-LINK”
                                  • -
                                  • in ST-LINK configuration: (Port: SWD) then select “Connect”
                                  • +
                                  • ID 102917 : [STM32WB15/STM32WB10] Apply “VCO patch” for all packages to solve “RX path issue”
                                  • +
                                  • ID 99680 : 2nd link secure fail if master database is clear during 1st link connection
                                  • +
                                  • ID 101346 : ACI_GAP_BOND_LOST_Event timeout does not work if ALLOW rebond not sent
                                  • +
                                  • ID 101921 : PTS issue ticket done CASE0070853: destination channel ID value above 1000 should be allowed and test passed
                                  • +
                                  • ID 94289 ,ID 102395 ,ID 100425 : BLE_Ota application improvments (SBSFU ready, Flash driver use, SEM7 flash activity control)
                                  -
                                • STEP 3: Delete current wireless stack

                                  +
                                • Thread:
                                    -
                                  • in Firmware Upgrade Services: select “Delete Firmware”
                                  • +
                                  • ID 102357 : High power consumption after exactly 3 minutes in Thread_SED_Coap_Multicast example
                                • -
                                • STEP 4 : Read and upgrade FUS Version (if unknown FUS version)

                                  -
                                    -
                                  • it can been obtained with Transparent Mode application from STM32CubeMonitor-RF interface or using other flashing method via USB described in RN. -
                                      -
                                    • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
                                    • -
                                    • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
                                    • -
                                    • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
                                    • -
                                  • -
                                • -
                                • STEP 5 : Download FUS v1.0.2 :

                                  +
                                • Zigbee:
                                    -
                                  • in Firmware Upgrade Services: (File Path: [stm32wb3x_FUS_fw_1_0_2.bin], Start Adress: [Install@])
                                  • -
                                  • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                  • ID 100612 : Zigbee stack not going back in low power mode after SF timer wrap-around
                                • -
                                • STEP 6 :Download latest FUS :

                                  +
                                • MAC 802.15.4:
                                    -
                                  • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
                                  • -
                                  • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                  • ID 95824 : stm32wb3x_Mac_802_15_4_fw.bin will change RCC_CFGR value even if user wants to use PLL for CM4 64MHz
                                • -
                                • STEP 7 : Download new wireless stack :

                                  +
                                • FUS binaries upgrade to v1.2.0:
                                    -
                                  • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                                  • -
                                  • then select “Firmware Upgrade” with “Verify download” and “Start stack after upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                  • +
                                  • New stm32wb3x_FUS_fw_for_fus_0_5_3.bin: FUS V1.2.0 image to be installed exclusively on stm32WB3x containing FUS V0.5.3
                                  • +
                                  • updated stm32wb3x_FUS_fw.bin: FUS V1.2.0 image to be installed on stm32WB3x containing all FUS versions higher than V0.5.3
                                  • +
                                  • stm32wb5x_FUS_fw_1_0_2.bin: Deprecated (empty file).
                                • -
                                • STEP 8 : Revert to default configuration: in Option Bytes menu for User Configuration set: nSWboot0=1 (checked) nboot1=1 nboot0=1

                                • - -

                                  How to compute available flash size

                                  -
                                    -
                                  • The default linker file is provided in [\Drivers\CMSIS\Device\ST32WBxx\Source\Templates].

                                    -

                                    The maximum flash memory that can be used by the application is up to the Secure Flash Start Address (SFSA) that can be read from the option byte.

                                    -

                                    The ICFEDIT_region_ROM_end in the linker can be modified with a value up to : (0x08000000 + (SFSA << 12)) - 1.

                                  • -
                                  • Example: When the SFSA option byte is set to 0xA0, the maximum value to be used for __ICFEDIT_region_ROM_end is 0x0809FFFF – which is 640KB of flash

                                  • -
                                  • Note: The SFSA option byte can only be set by the CPU2. The user cannot modify that value.

                                  +

                                  Firmware Upgrade Services Binary Table: Provides Install address for the targeted binary to be used in flash procedure “STEP 5/6” via USB or via SWD/JTAG.

                                  +
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1027,7 +1027,7 @@ See Bluetooth Assigned Numbers (HCI_COMMAND_COMPLETE_EVENT

                                  HCI_READ_LOCAL_SUPPORTED_COMMANDS

                                  Description

                                  This command reads the list of HCI commands supported for the local Controller. This command shall return the Supported_Commands configuration parameter. It is implied that if a command is listed as supported, the feature underlying that command is also supported.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.2)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_LOCAL_SUPPORTED_COMMANDS

                                  Description

                                  This command reads the list of HCI commands supported for the local Controller. This command shall return the Supported_Commands configuration parameter. It is implied that if a command is listed as supported, the feature underlying that command is also supported.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.2].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1038,7 +1038,7 @@ implementation dependent.

                                  Bit mask for each HCI Command. If a bit is 1, the Controller supports the corresponding command and the features required for the command. Unsupported or undefined commands shall be set to 0.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_LOCAL_SUPPORTED_FEATURES

                                  Description

                                  This command requests a list of the supported features for the local Controller. This command will return a list of the LMP features. For details see Part C, Link Manager Protocol Specification on page 227.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.3)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_LOCAL_SUPPORTED_FEATURES

                                  Description

                                  This command requests a list of the supported features for the local Controller. This command will return a list of the LMP features. For details see Part C, Link Manager Protocol Specification.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.3].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1048,7 +1048,7 @@ Unsupported or undefined commands shall be set to 0.

                                  8

                                  Bit Mask List of LMP features.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_BD_ADDR

                                  Description

                                  On an LE Controller, this command shall read the Public Device Address as defined in [Vol 6] Part B, Section 1.3, Device Address. If this Controller does not have a Public Device Address, the value 0x000000000000 shall be returned.
                                  On an LE Controller, the public address shall be the same as the BD_ADDR.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.4.6)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_BD_ADDR

                                  Description

                                  On an LE Controller, this command shall read the Public Device Address as defined in [Vol 6] Part B, Section 1.3, Device Address. If this Controller does not have a Public Device Address, the value 0x000000000000 shall be returned.
                                  On an LE Controller, the public address shall be the same as the BD_ADDR.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.4.6].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1058,7 +1058,7 @@ Unsupported or undefined commands shall be set to 0.

                                  6

                                  BD_ADDR ( Bluetooth Device Address) of the Device.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_RSSI

                                  Description

                                  This command reads the Received Signal Strength Indication (RSSI) value from a Controller. For an LE transport, a Connection_Handle is used as the Handle command parameter and return parameter. The meaning of the RSSI metric is an absolute receiver signal strength value in dBm to +/- 6 dB accuracy. If the RSSI cannot be read, the RSSI metric shall be set to 127.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.5.4)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_READ_RSSI

                                  Description

                                  This command reads the Received Signal Strength Indication (RSSI) value from a Controller. For an LE transport, a Connection_Handle is used as the Handle command parameter and return parameter. The meaning of the RSSI metric is an absolute receiver signal strength value in dBm to +/- 6 dB accuracy. If the RSSI cannot be read, the RSSI metric shall be set to 127.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.5.4].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1079,7 +1079,7 @@ Unsupported or undefined commands shall be set to 0.

                                  N Size: 1 Octet (signed integer) Units: dBm

                                • 127: RSSI not available
                                • -127 ... 20
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_EVENT_MASK

                                  Description

                                  The LE_Set_Event_Mask command is used to control which LE events are generated by the HCI for the Host. If the bit in the LE_Event_Mask is set to a one, then the event associated with that bit will be enabled. The Host has to deal with each event that is generated by an LE Controller. The event mask allows the Host to control which events will interrupt it.
                                  For LE events to be generated, the LE Meta-Event bit in the Event_Mask shall also be set. If that bit is not set, then LE events shall not be generated, regardless of how the LE_Event_Mask is set.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.1)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_EVENT_MASK

                                  Description

                                  The LE_Set_Event_Mask command is used to control which LE events are generated by the HCI for the Host. If the bit in the LE_Event_Mask is set to a one, then the event associated with that bit will be enabled. The Host has to deal with each event that is generated by an LE Controller. The event mask allows the Host to control which events will interrupt it.
                                  For LE events to be generated, the LE Meta-Event bit in the Event_Mask shall also be set. If that bit is not set, then LE events shall not be generated, regardless of how the LE_Event_Mask is set.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.1].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  LE_Event_Mask

                                  8

                                  @@ -1091,7 +1091,7 @@ Units: dBm

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_BUFFER_SIZE

                                  Description

                                  The LE_Read_Buffer_Size command is used to read the maximum size of the data portion of HCI LE ACL Data Packets sent from the Host to the Controller.
                                  The Host will segment the data transmitted to the Controller according to these values, so that the HCI Data Packets will contain data with up to this size. The LE_Read_Buffer_Size command also returns the total number of HCI LE ACL Data Packets that can be stored in the data buffers of the Controller. The LE_Read_Buffer_Size command must be issued by the Host before it sends any data to an LE Controller (see Section 4.1.1).
                                  If the Controller returns a length value of zero, the Host shall use the Read_Buffer_Size command to determine the size of the data buffers.
                                  Note: Both the Read_Buffer_Size and LE_Read_Buffer_Size commands may return buffer length and number of packets parameter values that are nonzero.
                                  The HC_LE_ACL_Data_Packet_Length return parameter shall be used to determine the size of the L2CAP PDU segments contained in ACL Data Packets, which are transferred from the Host to the Controller to be broken up into packets by the Link Layer. Both the Host and the Controller shall support command and event packets, where the data portion (excluding header) contained in the packets is 255 octets in size. The HC_Total_Num_LE_ACL_Data_Packets return parameter contains the total number of HCI ACL Data Packets that can be stored in the data buffers of the Controller. The Host determines how the buffers are to be divided between different Connection Handles.
                                  Note: The HC_LE_ACL_Data_Packet_Length return parameter does not include the length of the HCI Data Packet header.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.2)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_BUFFER_SIZE

                                  Description

                                  The LE_Read_Buffer_Size command is used to read the maximum size of the data portion of HCI LE ACL Data Packets sent from the Host to the Controller.
                                  The Host will segment the data transmitted to the Controller according to these values, so that the HCI Data Packets will contain data with up to this size. The LE_Read_Buffer_Size command also returns the total number of HCI LE ACL Data Packets that can be stored in the data buffers of the Controller. The LE_Read_Buffer_Size command must be issued by the Host before it sends any data to an LE Controller (see Section 4.1.1).
                                  If the Controller returns a length value of zero, the Host shall use the Read_Buffer_Size command to determine the size of the data buffers.
                                  Note: Both the Read_Buffer_Size and LE_Read_Buffer_Size commands may return buffer length and number of packets parameter values that are nonzero.
                                  The HC_LE_ACL_Data_Packet_Length return parameter shall be used to determine the size of the L2CAP PDU segments contained in ACL Data Packets, which are transferred from the Host to the Controller to be broken up into packets by the Link Layer. Both the Host and the Controller shall support command and event packets, where the data portion (excluding header) contained in the packets is 255 octets in size. The HC_Total_Num_LE_ACL_Data_Packets return parameter contains the total number of HCI ACL Data Packets that can be stored in the data buffers of the Controller. The Host determines how the buffers are to be divided between different Connection Handles.
                                  Note: The HC_LE_ACL_Data_Packet_Length return parameter does not include the length of the HCI Data Packet header.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.2].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1107,7 +1107,7 @@ Units: dBm

                                  0x00 No dedicated LE Buffer - use Read_Buffer_Size command. 0x01 - 0xFF Total number of HCI ACL Data Packets that can be stored in the data buffers of the Controller.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_LOCAL_SUPPORTED_FEATURES

                                  Description

                                  This command requests the list of the supported LE features for the Controller.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.3)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_LOCAL_SUPPORTED_FEATURES

                                  Description

                                  This command requests the list of the supported LE features for the Controller.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.3].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1115,9 +1115,9 @@ Units: dBm

                                  LE_Features

                                  8

                                  -

                                  Bit Mask List of LE features. See Core v5.0, Vol. 6, Part B, Section 4.6.

                                  +

                                  Bit Mask List of LE features. See Bluetooth Core specification.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_RANDOM_ADDRESS

                                  Description

                                  The LE_Set_Random_Address command is used by the Host to set the LE Random Device Address in the Controller (see [Vol 6] Part B, Section 1.3).
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.4)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_RANDOM_ADDRESS

                                  Description

                                  The LE_Set_Random_Address command is used by the Host to set the LE Random Device Address in the Controller (see [Vol 6] Part B, Section 1.3).
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.4].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Random_Address

                                  6

                                  @@ -1129,7 +1129,7 @@ Units: dBm

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADVERTISING_PARAMETERS

                                  Description

                                  The LE_Set_Advertising_Parameters command is used by the Host to set the advertising parameters.
                                  The Advertising_Interval_Min shall be less than or equal to the Advertising_Interval_Max.
                                  The Advertising_Interval_Min and Advertising_Interval_Max should not be the same value to enable the Controller to determine the best advertising interval given other activities.
                                  For high duty cycle directed advertising, i.e. when Advertising_Type is 0x01 (ADV_DIRECT_IND, high duty cycle), the Advertising_Interval_Min and Advertising_Interval_Max parameters are not used and shall be ignored.
                                  The Advertising_Type is used to determine the packet type that is used for advertising when advertising is enabled.
                                  The Advertising_Interval_Min and Advertising_Interval_Max shall not be set to less than 0x00A0 (100 ms) if the Advertising_Type is set to 0x02 (ADV_SCAN_IND) or 0x03 (ADV_NONCONN_IND). The Own_Address_Type determines if the advertising packets are identified with the Public Device Address of the device, or a Random Device Address as written by the LE_Set_Random_Address command.
                                  If directed advertising is performed, i.e. when Advertising_Type is set to 0x01 (ADV_DIRECT_IND, high duty cycle) or 0x04 (ADV_DIRECT_IND, low duty cycle mode), then the Direct_Address_Type and Direct_Address shall be valid, otherwise they shall be ignored by the Controller and not used.
                                  The Advertising_Channel_Map is a bit field that indicates the advertising channels that shall be used when transmitting advertising packets. At least one channel bit shall be set in the Advertising_Channel_Map parameter.
                                  The Advertising_Filter_Policy parameter shall be ignored when directed advertising is enabled.
                                  The Host shall not issue this command when advertising is enabled in the Controller; if it is the Command Disallowed error code shall be used.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.5)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADVERTISING_PARAMETERS

                                  Description

                                  The LE_Set_Advertising_Parameters command is used by the Host to set the advertising parameters.
                                  The Advertising_Interval_Min shall be less than or equal to the Advertising_Interval_Max.
                                  The Advertising_Interval_Min and Advertising_Interval_Max should not be the same value to enable the Controller to determine the best advertising interval given other activities.
                                  For high duty cycle directed advertising, i.e. when Advertising_Type is 0x01 (ADV_DIRECT_IND, high duty cycle), the Advertising_Interval_Min and Advertising_Interval_Max parameters are not used and shall be ignored.
                                  The Advertising_Type is used to determine the packet type that is used for advertising when advertising is enabled.
                                  The Advertising_Interval_Min and Advertising_Interval_Max shall not be set to less than 0x00A0 (100 ms) if the Advertising_Type is set to 0x02 (ADV_SCAN_IND) or 0x03 (ADV_NONCONN_IND). The Own_Address_Type determines if the advertising packets are identified with the Public Device Address of the device, or a Random Device Address as written by the LE_Set_Random_Address command.
                                  If directed advertising is performed, i.e. when Advertising_Type is set to 0x01 (ADV_DIRECT_IND, high duty cycle) or 0x04 (ADV_DIRECT_IND, low duty cycle mode), then the Direct_Address_Type and Direct_Address shall be valid, otherwise they shall be ignored by the Controller and not used.
                                  The Advertising_Channel_Map is a bit field that indicates the advertising channels that shall be used when transmitting advertising packets. At least one channel bit shall be set in the Advertising_Channel_Map parameter.
                                  The Advertising_Filter_Policy parameter shall be ignored when directed advertising is enabled.
                                  The Host shall not issue this command when advertising is enabled in the Controller; if it is the Command Disallowed error code shall be used.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.5].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Advertising_Interval_Min

                                  2

                                  @@ -1181,7 +1181,7 @@ Default: 00000111b (all channels enabled).

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER

                                  Description

                                  The LE_Read_Advertising_Channel_Tx_Power command is used by the Host to read the transmit power level used for LE advertising channel packets.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.6)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER

                                  Description

                                  The LE_Read_Advertising_Channel_Tx_Power command is used by the Host to read the transmit power level used for LE advertising channel packets.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.6].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1193,7 +1193,7 @@ Default: 00000111b (all channels enabled).

                                  Units: dBm Accuracy: +/- 4 dBm

                                • -20 ... 10
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADVERTISING_DATA

                                  Description

                                  The LE_Set_Advertising_Data command is used to set the data used in advertising packets that have a data field.
                                  Only the significant part of the Advertising_Data is transmitted in the advertising packets, as defined in [Vol 3] Part C, Section 11.,
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.7)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADVERTISING_DATA

                                  Description

                                  The LE_Set_Advertising_Data command is used to set the data used in advertising packets that have a data field.
                                  Only the significant part of the Advertising_Data is transmitted in the advertising packets, as defined in [Vol 3] Part C, Section 11.,
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.7].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Advertising_Data_Length

                                  1

                                  @@ -1209,7 +1209,7 @@ Accuracy: +/- 4 dBm

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_SCAN_RESPONSE_DATA

                                  Description

                                  This command is used to provide data used in Scanning Packets that have a data field.
                                  Only the significant part of the Scan_Response_Data is transmitted in the Scanning Packets, as defined in [Vol 3] Part C, Section 11.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.8)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_SCAN_RESPONSE_DATA

                                  Description

                                  This command is used to provide data used in Scanning Packets that have a data field.
                                  Only the significant part of the Scan_Response_Data is transmitted in the Scanning Packets, as defined in [Vol 3] Part C, Section 11.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.8].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Scan_Response_Data_Length

                                  1

                                  @@ -1225,7 +1225,7 @@ Accuracy: +/- 4 dBm

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADVERTISE_ENABLE

                                  Description

                                  The LE_Set_Advertise_Enable command is used to request the Controller to start or stop advertising. The Controller manages the timing of advertisements as per the advertising parameters given in the LE_Set_Advertising_Parameters command.
                                  The Controller shall continue advertising until the Host issues an LE_Set_Advertise_Enable command with Advertising_Enable set to 0x00 (Advertising is disabled) or until a connection is created or until the Advertising is timed out due to high duty cycle Directed Advertising. In these cases, advertising is then disabled.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.9)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADVERTISE_ENABLE

                                  Description

                                  The LE_Set_Advertise_Enable command is used to request the Controller to start or stop advertising. The Controller manages the timing of advertisements as per the advertising parameters given in the LE_Set_Advertising_Parameters command.
                                  The Controller shall continue advertising until the Host issues an LE_Set_Advertise_Enable command with Advertising_Enable set to 0x00 (Advertising is disabled) or until a connection is created or until the Advertising is timed out due to high duty cycle Directed Advertising. In these cases, advertising is then disabled.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.9].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Advertising_Enable

                                  1

                                  @@ -1237,7 +1237,7 @@ Accuracy: +/- 4 dBm

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CONNECTION_COMPLETE_EVENT
                                • HCI_LE_SET_SCAN_PARAMETERS

                                  Description

                                  The LE_Set_Scan_Parameters command is used to set the scan parameters.
                                  The LE_Scan_Type parameter controls the type of scan to perform.
                                  The LE_Scan_Interval and LE_Scan_Window parameters are recommendations from the Host on how long (LE_Scan_Window) and how frequently (LE_Scan_Interval) the Controller should scan (See [Vol 6] Part B, Section 4.4.3). The LE_Scan_Window parameter shall always be set to a value smaller or equal to the value set for the LE_Scan_Interval parameter. If they are set to the same value scanning should be run continuously.
                                  The Own_Address_Type parameter determines the address used (Public or Random Device Address) when performing active scan.
                                  The Host shall not issue this command when scanning is enabled in the Controller; if it is the Command Disallowed error code shall be used.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.10)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CONNECTION_COMPLETE_EVENT
                                • HCI_LE_SET_SCAN_PARAMETERS

                                  Description

                                  The LE_Set_Scan_Parameters command is used to set the scan parameters.
                                  The LE_Scan_Type parameter controls the type of scan to perform.
                                  The LE_Scan_Interval and LE_Scan_Window parameters are recommendations from the Host on how long (LE_Scan_Window) and how frequently (LE_Scan_Interval) the Controller should scan (See [Vol 6] Part B, Section 4.4.3). The LE_Scan_Window parameter shall always be set to a value smaller or equal to the value set for the LE_Scan_Interval parameter. If they are set to the same value scanning should be run continuously.
                                  The Own_Address_Type parameter determines the address used (Public or Random Device Address) when performing active scan.
                                  The Host shall not issue this command when scanning is enabled in the Controller; if it is the Command Disallowed error code shall be used.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.10].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  LE_Scan_Type

                                  1

                                  @@ -1279,7 +1279,7 @@ Time = N * 0.625 msec.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_SCAN_ENABLE

                                  Description

                                  The LE_Set_Scan_Enable command is used to start scanning. Scanning is used to discover advertising devices nearby.
                                  The Filter_Duplicates parameter controls whether the Link Layer shall filter duplicate advertising reports to the Host, or if the Link Layer should generate advertising reports for each packet received.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.11)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_SCAN_ENABLE

                                  Description

                                  The LE_Set_Scan_Enable command is used to start scanning. Scanning is used to discover advertising devices nearby.
                                  The Filter_Duplicates parameter controls whether the Link Layer shall filter duplicate advertising reports to the Host, or if the Link Layer should generate advertising reports for each packet received.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.11].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  LE_Scan_Enable

                                  1

                                  @@ -1295,7 +1295,7 @@ Time = N * 0.625 msec.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ADVERTISING_REPORT_EVENT
                                • HCI_LE_CREATE_CONNECTION

                                  Description

                                  The LE_Create_Connection command is used to create a Link Layer connection to a connectable advertiser.
                                  The LE_Scan_Interval and LE_Scan_Window parameters are recommendations from the Host on how long (LE_Scan_Window) and how frequently (LE_Scan_Interval) the Controller should scan. The LE_Scan_Window parameter shall be set to a value smaller or equal to the value set for the LE_Scan_Interval parameter. If both are set to the same value, scanning should run continuously.
                                  The Initiator_Filter_Policy is used to determine whether the White List is used.
                                  If the White List is not used, the Peer_Address_Type and the Peer_Address parameters specify the address type and address of the advertising device to connect to.
                                  The Link Layer shall set the address in the CONNECT_REQ packets to either the Public Device Address or the Random Device Addressed based on the Own_Address_Type parameter.
                                  The Conn_Interval_Min and Conn_Interval_Max parameters define the minimum and maximum allowed connection interval. The Conn_Interval_Min parameter shall not be greater than the Conn_Interval_Max parameter.
                                  The Conn_Latency parameter defines the maximum allowed connection latency (see [Vol 6] Part B, Section 4.5.1).
                                  The Supervision_Timeout parameter defines the link supervision timeout for the connection. The Supervision_Timeout in milliseconds shall be larger than (1 + Conn_Latency) * Conn_Interval_Max * 2, where Conn_Interval_Max is given in milliseconds. (See [Vol 6] Part B, Section 4.5.2).
                                  The Minimum_CE_Length and Maximum_CE_Length parameters are informative parameters providing the Controller with the expected minimum and maximum length of the connection events. The Minimum_CE_Length parameter shall be less than or equal to the Maximum_CE_Length parameter.
                                  The Host shall not issue this command when another LE_Create_Connection is pending in the Controller; if this does occur the Controller shall return the Command Disallowed error code shall be used.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.12)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ADVERTISING_REPORT_EVENT
                                • HCI_LE_CREATE_CONNECTION

                                  Description

                                  The LE_Create_Connection command is used to create a Link Layer connection to a connectable advertiser.
                                  The LE_Scan_Interval and LE_Scan_Window parameters are recommendations from the Host on how long (LE_Scan_Window) and how frequently (LE_Scan_Interval) the Controller should scan. The LE_Scan_Window parameter shall be set to a value smaller or equal to the value set for the LE_Scan_Interval parameter. If both are set to the same value, scanning should run continuously.
                                  The Initiator_Filter_Policy is used to determine whether the WhiteList is used.
                                  If the whitelist is not used, the Peer_Address_Type and the Peer_Address parameters specify the address type and address of the advertising device to connect to.
                                  The Link Layer shall set the address in the CONNECT_REQ packets to either the Public Device Address or the Random Device Addressed based on the Own_Address_Type parameter.
                                  The Conn_Interval_Min and Conn_Interval_Max parameters define the minimum and maximum allowed connection interval. The Conn_Interval_Min parameter shall not be greater than the Conn_Interval_Max parameter.
                                  The Conn_Latency parameter defines the maximum allowed connection latency.
                                  The Supervision_Timeout parameter defines the link supervision timeout for the connection. The Supervision_Timeout in milliseconds shall be larger than (1 + Conn_Latency) * Conn_Interval_Max * 2, where Conn_Interval_Max is given in milliseconds.
                                  The Minimum_CE_Length and Maximum_CE_Length parameters are informative parameters providing the Controller with the expected minimum and maximum length of the connection events. The Minimum_CE_Length parameter shall be less than or equal to the Maximum_CE_Length parameter.
                                  The Host shall not issue this command when another LE_Create_Connection is pending in the Controller; if this does occur the Controller shall return the Command Disallowed error code shall be used.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.12].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  LE_Scan_Interval

                                  2

                                  @@ -1375,13 +1375,13 @@ Time = N * 0.625 msec.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_CONNECTION_COMPLETE_EVENT
                                • HCI_LE_CREATE_CONNECTION_CANCEL

                                  Description

                                  The LE_Create_Connection_Cancel command is used to cancel the LE_Create_Connection command. This command shall only be issued after the LE_Create_Connection command has been issued, a Command Status event has been received for the LE Create Connection command and before the LE Connection Complete event.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.13)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_CONNECTION_COMPLETE_EVENT
                                • HCI_LE_CREATE_CONNECTION_CANCEL

                                  Description

                                  The LE_Create_Connection_Cancel command is used to cancel the LE_Create_Connection command. This command shall only be issued after the LE_Create_Connection command has been issued, a Command Status event has been received for the LE Create Connection command and before the LE Connection Complete event.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.13].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CONNECTION_COMPLETE_EVENT
                                • HCI_LE_READ_WHITE_LIST_SIZE

                                  Description

                                  The LE_Read_White_List_Size command is used to read the total number of white list entries that can be stored in the Controller.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.14)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CONNECTION_COMPLETE_EVENT
                                • HCI_LE_READ_WHITE_LIST_SIZE

                                  Description

                                  The LE_Read_White_List_Size command is used to read the total number of whitelist entries that can be stored in the Controller.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.14].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1391,13 +1391,13 @@ Time = N * 0.625 msec.

                                  1

                                  Total number of white list entries that can be stored in the Controller.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CLEAR_WHITE_LIST

                                  Description

                                  The LE_Clear_White_List command is used to clear the white list stored in the Controller.
                                  This command can be used at any time except when:
                                  - the advertising filter policy uses the white list and advertising is enabled.
                                  - the scanning filter policy uses the white list and scanning is enabled.
                                  - the initiator filter policy uses the white list and an LE_Create_Connection command is outstanding.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.15)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CLEAR_WHITE_LIST

                                  Description

                                  The LE_Clear_White_List command is used to clear the whitelist stored in the Controller.
                                  This command can be used at any time except when:
                                  - the advertising filter policy uses the whitelist and advertising is enabled.
                                  - the scanning filter policy uses the whitelist and scanning is enabled.
                                  - the initiator filter policy uses the whitelist and an LE_Create_Connection command is outstanding.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.15].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ADD_DEVICE_TO_WHITE_LIST

                                  Description

                                  The LE_Add_Device_To_White_List command is used to add a single device to the white list stored in the Controller.
                                  This command can be used at any time except when:
                                  - the advertising filter policy uses the white list and advertising is enabled.
                                  - the scanning filter policy uses the white list and scanning is enabled.
                                  - the initiator filter policy uses the white list and a create connection command is outstanding.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.16)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ADD_DEVICE_TO_WHITE_LIST

                                  Description

                                  The LE_Add_Device_To_White_List command is used to add a single device to the whitelist stored in the Controller.
                                  This command can be used at any time except when:
                                  - the advertising filter policy uses the whitelist and advertising is enabled.
                                  - the scanning filter policy uses the whitelist and scanning is enabled.
                                  - the initiator filter policy uses the whitelist and a create connection command is outstanding.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.16].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Address_Type

                                  1

                                  @@ -1413,7 +1413,7 @@ Time = N * 0.625 msec.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST

                                  Description

                                  The LE_Remove_Device_From_White_List command is used to remove a single device from the white list stored in the Controller.
                                  This command can be used at any time except when:
                                  - the advertising filter policy uses the white list and advertising is enabled.
                                  - the scanning filter policy uses the white list and scanning is enabled.
                                  - the initiator filter policy uses the white list and a create connection command is outstanding.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.17)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST

                                  Description

                                  The LE_Remove_Device_From_White_List command is used to remove a single device from the whitelist stored in the Controller.
                                  This command can be used at any time except when:
                                  - the advertising filter policy uses the whitelist and advertising is enabled.
                                  - the scanning filter policy uses the whitelist and scanning is enabled.
                                  - the initiator filter policy uses the whitelist and a create connection command is outstanding.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.17].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Address_Type

                                  1

                                  @@ -1429,7 +1429,7 @@ Time = N * 0.625 msec.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CONNECTION_UPDATE

                                  Description

                                  The LE_Connection_Update command is used to change the Link Layer connection parameters of a connection. This command is supported only on master side.
                                  The Conn_Interval_Min and Conn_Interval_Max parameters are used to define the minimum and maximum allowed connection interval. The Conn_Interval_Min parameter shall not be greater than the Conn_Interval_Max parameter.
                                  The Conn_Latency parameter shall define the maximum allowed connection latency.
                                  The Supervision_Timeout parameter shall define the link supervision timeout for the LE link. The Supervision_Timeout in milliseconds shall be larger than (1 + Conn_Latency) * Conn_Interval_Max * 2, where Conn_Interval_Max is given in milliseconds.
                                  The Minimum_CE_Length and Maximum_CE_Length are information parameters providing the Controller with a hint about the expected minimum and maximum length of the connection events. The Minimum_CE_Length shall be less than or equal to the Maximum_CE_Length.
                                  The actual parameter values selected by the Link Layer may be different from the parameter values provided by the Host through this command.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.18)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CONNECTION_UPDATE

                                  Description

                                  The LE_Connection_Update command is used to change the Link Layer connection parameters of a connection. This command is supported only on master side.
                                  The Conn_Interval_Min and Conn_Interval_Max parameters are used to define the minimum and maximum allowed connection interval. The Conn_Interval_Min parameter shall not be greater than the Conn_Interval_Max parameter.
                                  The Conn_Latency parameter shall define the maximum allowed connection latency.
                                  The Supervision_Timeout parameter shall define the link supervision timeout for the LE link. The Supervision_Timeout in milliseconds shall be larger than (1 + Conn_Latency) * Conn_Interval_Max * 2, where Conn_Interval_Max is given in milliseconds.
                                  The Minimum_CE_Length and Maximum_CE_Length are information parameters providing the Controller with a hint about the expected minimum and maximum length of the connection events. The Minimum_CE_Length shall be less than or equal to the Maximum_CE_Length.
                                  The actual parameter values selected by the Link Layer may be different from the parameter values provided by the Host through this command.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.18].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1471,7 +1471,7 @@ Time = N * 0.625 msec.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT
                                • HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION

                                  Description

                                  The LE_Set_Host_Channel_Classification command allows the Host to specify a channel classification for data channels based on its "local information". This classification persists until overwritten with a subsequent LE_Set_Host_Channel_Classification command or until the Controller is reset using the Reset command (see [Vol 6] Part B, Section 4.5.8.1).
                                  If this command is used, the Host should send it within 10 seconds of knowing that the channel classification has changed. The interval between two successive commands sent shall be at least one second.
                                  This command shall only be used when the local device supports the Master role.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.19)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT
                                • HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION

                                  Description

                                  The LE_Set_Host_Channel_Classification command allows the Host to specify a channel classification for data channels based on its "local information". This classification persists until overwritten with a subsequent LE_Set_Host_Channel_Classification command or until the Controller is reset using the Reset command (see [Vol 6] Part B, Section 4.5.8.1).
                                  If this command is used, the Host should send it within 10 seconds of knowing that the channel classification has changed. The interval between two successive commands sent shall be at least one second.
                                  This command shall only be used when the local device supports the Master role.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.19].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  LE_Channel_Map

                                  5

                                  @@ -1488,7 +1488,7 @@ At least one channel shall be marked as unknown.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_CHANNEL_MAP

                                  Description

                                  The LE_Read_Channel_Map command returns the current Channel_Map for the specified Connection_Handle. The returned value indicates the state of the Channel_Map specified by the last transmitted or received Channel_Map (in a CONNECT_REQ or LL_CHANNEL_MAP_REQ message) for the specified Connection_Handle, regardless of whether the Master has received an acknowledgement.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.20)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_CHANNEL_MAP

                                  Description

                                  The LE_Read_Channel_Map command returns the current Channel_Map for the specified Connection_Handle. The returned value indicates the state of the Channel_Map specified by the last transmitted or received Channel_Map (in a CONNECT_REQ or LL_CHANNEL_MAP_REQ message) for the specified Connection_Handle, regardless of whether the Master has received an acknowledgement.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.20].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1513,7 +1513,7 @@ Channel n is unused = 0. Channel n is used = 1. The most significant bits are reserved and shall be set to 0.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_REMOTE_FEATURES

                                  Description

                                  This command requests a list of the used LE features from the remote device.
                                  This command shall return a list of the used LE features. For details see [Vol 6] Part B, Section 4.6.
                                  This command may be issued on both the master and slave.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.21)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_REMOTE_FEATURES

                                  Description

                                  This command requests a list of the used LE features from the remote device.
                                  This command shall return a list of the used LE features. For details see [Vol 6] Part B, Section 4.6.
                                  This command may be issued on both the master and slave.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.21].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1525,7 +1525,7 @@ The most significant bits are reserved and shall be set to 0.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT
                                • HCI_LE_ENCRYPT

                                  Description

                                  The LE_Encrypt command is used to request the Controller to encrypt the Plaintext_Data in the command using the Key given in the command and returns the Encrypted_Data to the Host. The AES-128 bit block cypher is defined in NIST Publication FIPS-197 (http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf).
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.22)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT
                                • HCI_LE_ENCRYPT

                                  Description

                                  The LE_Encrypt command is used to request the Controller to encrypt the Plaintext_Data in the command using the Key given in the command and returns the Encrypted_Data to the Host. The AES-128 bit block cypher is defined in NIST Publication FIPS-197 (http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf).
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.22].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Key

                                  16

                                  @@ -1545,7 +1545,7 @@ The most significant bits are reserved and shall be set to 0.

                                  16

                                  128 bit encrypted data block.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_RAND

                                  Description

                                  The LE_Rand command is used to request the Controller to generate 8 octets of random data to be sent to the Host. The Random_Number shall be generated according to [Vol 2] Part H, Section 2 if the LE Feature (LL Encryption) is supported.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.23)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_RAND

                                  Description

                                  The LE_Rand command is used to request the Controller to generate 8 octets of random data to be sent to the Host. The Random_Number shall be generated according to [Vol 2] Part H, Section 2 if the LE Feature (LL Encryption) is supported.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.23].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1555,7 +1555,7 @@ The most significant bits are reserved and shall be set to 0.

                                  8

                                  Random Number

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_START_ENCRYPTION

                                  Description

                                  The LE_Start_Encryption command is used to authenticate the given encryption key associated with the remote device specified by the connection handle, and once authenticated will encrypt the connection. The parameters are as defined in [Vol 3] Part H, Section 2.4.4.
                                  If the connection is already encrypted then the Controller shall pause connection encryption before attempting to authenticate the given encryption key, and then re-encrypt the connection. While encryption is paused no user data shall be transmitted.
                                  On an authentication failure, the connection shall be automatically disconnected by the Link Layer. If this command succeeds, then the connection shall be encrypted.
                                  This command shall only be used when the local device's role is Master.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.24)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_START_ENCRYPTION

                                  Description

                                  The LE_Start_Encryption command is used to authenticate the given encryption key associated with the remote device specified by the connection handle, and once authenticated will encrypt the connection. The parameters are as defined in [Vol 3] Part H, Section 2.4.4.
                                  If the connection is already encrypted then the Controller shall pause connection encryption before attempting to authenticate the given encryption key, and then re-encrypt the connection. While encryption is paused no user data shall be transmitted.
                                  On an authentication failure, the connection shall be automatically disconnected by the Link Layer. If this command succeeds, then the connection shall be encrypted.
                                  This command shall only be used when the local device's role is Master.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.24].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1579,7 +1579,7 @@ The most significant bits are reserved and shall be set to 0.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_ENCRYPTION_CHANGE_EVENT
                                • HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVENT
                                • HCI_LE_LONG_TERM_KEY_REQUEST_REPLY

                                  Description

                                  The LE_Long_Term_Key_Request_Reply command is used to reply to an LE Long Term Key Request event from the Controller, and specifies the Long_Term_Key parameter that shall be used for this Connection_Handle. The Long_Term_Key is used as defined in [Vol 6] Part B, Section 5.1.3.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.25)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_ENCRYPTION_CHANGE_EVENT
                                • HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVENT
                                • HCI_LE_LONG_TERM_KEY_REQUEST_REPLY

                                  Description

                                  The LE_Long_Term_Key_Request_Reply command is used to reply to an LE Long Term Key Request event from the Controller, and specifies the Long_Term_Key parameter that shall be used for this Connection_Handle. The Long_Term_Key is used as defined in [Vol 6] Part B, Section 5.1.3.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.25].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1599,7 +1599,7 @@ The most significant bits are reserved and shall be set to 0.

                                  2

                                  Connection handle for which the event applies.

                                • 0x0000 ... 0x0EFF
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_LONG_TERM_KEY_REQUESTED_NEGATIVE_REPLY

                                  Description

                                  The LE_Long_Term_Key_Request_Negative_Reply command is used to reply to an LE Long Term Key Request event from the Controller if the Host cannot provide a Long Term Key for this Connection_Handle.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.26)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_LONG_TERM_KEY_REQUESTED_NEGATIVE_REPLY

                                  Description

                                  The LE_Long_Term_Key_Request_Negative_Reply command is used to reply to an LE Long Term Key Request event from the Controller if the Host cannot provide a Long Term Key for this Connection_Handle.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.26].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1615,7 +1615,7 @@ The most significant bits are reserved and shall be set to 0.

                                  2

                                  Connection handle for which the event applies.

                                • 0x0000 ... 0x0EFF
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_SUPPORTED_STATES

                                  Description

                                  The LE_Read_Supported_States command reads the states and state combinations that the link layer supports. See [Vol 6] Part B, Section 1.1.1.
                                  LE_States is an 8-octet bit field. If a bit is set to 1 then this state or state combination is supported by the Controller. Multiple bits in LE_States may be set to 1 to indicate support for multiple state and state combinations.
                                  All the Advertising type with the Initiate State combinations shall be set only if the corresponding Advertising types and Master Role combination are set.
                                  All the Scanning types and the Initiate State combinations shall be set only if the corresponding Scanning types and Master Role combination are set.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.27)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_SUPPORTED_STATES

                                  Description

                                  The LE_Read_Supported_States command reads the states and state combinations that the link layer supports. See [Vol 6] Part B, Section 1.1.1.
                                  LE_States is an 8-octet bit field. If a bit is set to 1 then this state or state combination is supported by the Controller. Multiple bits in LE_States may be set to 1 to indicate support for multiple state and state combinations.
                                  All the Advertising type with the Initiate State combinations shall be set only if the corresponding Advertising types and Master Role combination are set.
                                  All the Scanning types and the Initiate State combinations shall be set only if the corresponding Scanning types and Master Role combination are set.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.27].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1623,10 +1623,9 @@ The most significant bits are reserved and shall be set to 0.

                                  LE_States

                                  8

                                  -

                                  State or state combination is supported by the Controller. -See Core v5.0, Vol.2, part E, Ch. 7.8.27.

                                  +

                                  State or state combination is supported by the Controller.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_DATA_LENGTH

                                  Description

                                  The LE_Set_Data_Length command allows the Host to suggest maximum transmission packet size and maximum packet transmission time (connMaxTxOctets and connMaxTxTime - see Bluetooth Specification v5.0 [Vol 6] Part B, Section 4.5.10) to be used for a given connection. The Controller may use smaller or larger values based on local information.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_DATA_LENGTH

                                  Description

                                  The LE_Set_Data_Length command allows the Host to suggest maximum transmission packet size and maximum packet transmission time (connMaxTxOctets and connMaxTxTime - see Bluetooth spec. Vol 6 [Part B] 4.5.10) to be used for a given connection. The Controller may use smaller or larger values based on local information.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.33].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1650,7 +1649,7 @@ See Core v5.0, Vol.2, part E, Ch. 7.8.27.

                                  2

                                  Connection handle for which the event applies.

                                • 0x0000 ... 0x0EFF
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH

                                  Description

                                  The LE_Read_Suggested_Default_Data_Length command allows the Host to read the Host's suggested values (SuggestedMaxTxOctets and SuggestedMaxTxTime) for the Controller's maximum transmitted number of payload octets and maximum packet transmission time to be used for new connections (see Bluetooth Specification v5.0 [Vol 6] Part B, Section 4.5.10).

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH

                                  Description

                                  The LE_Read_Suggested_Default_Data_Length command allows the Host to read the Host's suggested values (SuggestedMaxTxOctets and SuggestedMaxTxTime) for the Controller's maximum transmitted number of payload octets and maximum packet transmission time to be used for new connections.
                                  See Bluetooth spec. v.5.2 [Vol 6, Part B, 4.5.10].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1664,7 +1663,7 @@ See Core v5.0, Vol.2, part E, Ch. 7.8.27.

                                  2

                                  The Host's suggested value for the Controller's maximum packet transmission time to be used for new connections.

                                • 0x0148 ... 0x4290
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH

                                  Description

                                  The LE_Write_Suggested_Default_Data_Length command allows the Host to specify its suggested values for the Controller's maximum transmission number of payload octets and maximum packet transmission time to be used for new connections. The Controller may use smaller or larger values for connInitialMaxTxOctets and connInitialMaxTxTime based on local information.
                                  (see Bluetooth Specification [Vol 6] Part B, Section 4.5.10).

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH

                                  Description

                                  The LE_Write_Suggested_Default_Data_Length command allows the Host to specify its suggested values for the Controller's maximum transmission number of payload octets and maximum packet transmission time to be used for new connections. The Controller may use smaller or larger values for connInitialMaxTxOctets and connInitialMaxTxTime based on local information.
                                  See Bluetooth spec. v.5.2 [Vol 6, Part B, 4.5.10].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  SuggestedMaxTxOctets

                                  2

                                  @@ -1680,13 +1679,13 @@ See Core v5.0, Vol.2, part E, Ch. 7.8.27.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_LOCAL_P256_PUBLIC_KEY

                                  Description

                                  The LE_Read_Local_P-256_Public_Key command is used to return the local P-256 public key from the Controller. The Controller shall generate a new P-256 public/private key pair upon receipt of this command.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.36)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_LOCAL_P256_PUBLIC_KEY

                                  Description

                                  The LE_Read_Local_P-256_Public_Key command is used to return the local P-256 public key from the Controller. The Controller shall generate a new P-256 public/private key pair upon receipt of this command.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.36].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT
                                • HCI_LE_GENERATE_DHKEY

                                  Description

                                  The LE_Generate_DHKey command is used to initiate generation of a Diffie-Hellman key in the Controller for use over the LE transport. This command takes the remote P-256 public key as input. The Diffie-Hellman key generation uses the private key generated by LE_Read_Local_P256_Public_Key command.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.37)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT
                                • HCI_LE_GENERATE_DHKEY

                                  Description

                                  The LE_Generate_DHKey command is used to initiate generation of a Diffie-Hellman key in the Controller for use over the LE transport. This command takes the remote P-256 public key as input. The Diffie-Hellman key generation uses the private key generated by LE_Read_Local_P256_Public_Key command.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.37].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Remote_P256_Public_Key

                                  64

                                  @@ -1701,7 +1700,7 @@ Little Endian Format

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT
                                • HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST

                                  Description

                                  The LE_Add_Device_To_Resolving_List command is used to add one device to the list of address translations used to resolve Resolvable Private Addresses in the Controller.
                                  This command cannot be used when address translation is enabled in the Controller and:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  This command can be used at any time when address translation is disabled in the Controller.
                                  When a Controller cannot add a device to the resolving list because the list is full, it shall respond with error code 0x07 (Memory Capacity Exceeded).
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.38)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT
                                • HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST

                                  Description

                                  The LE_Add_Device_To_Resolving_List command is used to add one device to the list of address translations used to resolve Resolvable Private Addresses in the Controller.
                                  This command cannot be used when address translation is enabled in the Controller and:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  This command can be used at any time when address translation is disabled in the Controller.
                                  When a Controller cannot add a device to the resolving list because the list is full, it shall respond with error code 0x07 (Memory Capacity Exceeded).
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.38].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Peer_Identity_Address_Type

                                  1

                                  @@ -1725,7 +1724,7 @@ Little Endian Format

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST

                                  Description

                                  The LE_Remove_Device_From_Resolving_List command is used to remove one device from the list of address translations used to resolve Resolvable Private Addresses in the controller.
                                  This command cannot be used when address translation is enabled in the Controller and:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  This command can be used at any time when address translation is disabled in the Controller.
                                  When a Controller cannot remove a device from the resolving list because it is not found, it shall respond with error code 0x02 (Unknown Connection Identifier).
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.39)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST

                                  Description

                                  The LE_Remove_Device_From_Resolving_List command is used to remove one device from the list of address translations used to resolve Resolvable Private Addresses in the controller.
                                  This command cannot be used when address translation is enabled in the Controller and:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  This command can be used at any time when address translation is disabled in the Controller.
                                  When a Controller cannot remove a device from the resolving list because it is not found, it shall respond with error code 0x02 (Unknown Connection Identifier).
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.39].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Peer_Identity_Address_Type

                                  1

                                  @@ -1741,13 +1740,13 @@ Little Endian Format

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CLEAR_RESOLVING_LIST

                                  Description

                                  The LE_Clear_Resolving_List command is used to remove all devices from the list of address translations used to resolve Resolvable Private Addresses in the Controller.
                                  This command cannot be used when address translation is enabled in the Controller and:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  This command can be used at any time when address translation is disabled in the Controller.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.40)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_CLEAR_RESOLVING_LIST

                                  Description

                                  The LE_Clear_Resolving_List command is used to remove all devices from the list of address translations used to resolve Resolvable Private Addresses in the Controller.
                                  This command cannot be used when address translation is enabled in the Controller and:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  This command can be used at any time when address translation is disabled in the Controller.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.40].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_RESOLVING_LIST_SIZE

                                  Description

                                  The LE_Read_Resolving_List_Size command is used to read the total number of address translation entries in the resolving list that can be stored in the Controller.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.41)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_RESOLVING_LIST_SIZE

                                  Description

                                  The LE_Read_Resolving_List_Size command is used to read the total number of address translation entries in the resolving list that can be stored in the Controller.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.41].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1757,7 +1756,7 @@ Little Endian Format

                                  1

                                  Number of address translation entries in the resolving list

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_PEER_RESOLVABLE_ADDRESS

                                  Description

                                  The LE_Read_Peer_Resolvable_Address command is used to get the current peer Resolvable Private Address being used for the corresponding peer Public and Random (static) Identity Address. The peer's resolvable address being used may change after the command is called.
                                  This command can be used at any time.
                                  When a Controller cannot find a Resolvable Private Address associated with the Peer Identity Address, it shall respond with error code 0x02 (Unknown Connection Identifier).
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.42)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_PEER_RESOLVABLE_ADDRESS

                                  Description

                                  The LE_Read_Peer_Resolvable_Address command is used to get the current peer Resolvable Private Address being used for the corresponding peer Public and Random (static) Identity Address. The peer's resolvable address being used may change after the command is called.
                                  This command can be used at any time.
                                  When a Controller cannot find a Resolvable Private Address associated with the Peer Identity Address, it shall respond with error code 0x02 (Unknown Connection Identifier).
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.42].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Peer_Identity_Address_Type

                                  1

                                  @@ -1777,7 +1776,7 @@ Little Endian Format

                                  6

                                  Resolvable Private Address being used by the peer device

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS

                                  Description

                                  The LE_Read_Local_Resolvable_Address command is used to get the current local Resolvable Private Address being used for the corresponding peer Identity Address. The local's resolvable address being used may change after the command is called.
                                  This command can be used at any time.
                                  When a Controller cannot find a Resolvable Private Address associated with the Peer Identity Address, it shall respond with error code 0x02 (Unknown Connection Identifier).
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.43)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS

                                  Description

                                  The LE_Read_Local_Resolvable_Address command is used to get the current local Resolvable Private Address being used for the corresponding peer Identity Address. The local's resolvable address being used may change after the command is called.
                                  This command can be used at any time.
                                  When a Controller cannot find a Resolvable Private Address associated with the Peer Identity Address, it shall respond with error code 0x02 (Unknown Connection Identifier).
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.43].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Peer_Identity_Address_Type

                                  1

                                  @@ -1797,7 +1796,7 @@ Little Endian Format

                                  6

                                  Resolvable Private Address being used by the local device

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE

                                  Description

                                  The LE_Set_Address_Resolution_Enable command is used to enable resolution of Resolvable Private Addresses in the Controller. This causes the Controller to use the resolving list whenever the Controller receives a local or peer Resolvable Private Address.
                                  This command can be used at any time except when:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, Section 7.8.44)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE

                                  Description

                                  The LE_Set_Address_Resolution_Enable command is used to enable resolution of Resolvable Private Addresses in the Controller. This causes the Controller to use the resolving list whenever the Controller receives a local or peer Resolvable Private Address.
                                  This command can be used at any time except when:
                                  - Advertising is enabled
                                  - Scanning is enabled
                                  - Create connection command is outstanding
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.44].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Address_Resolution_Enable

                                  1

                                  @@ -1811,7 +1810,7 @@ Little Endian Format

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT

                                  Description

                                  The LE_Set_Resolvable_Private_Address_Timeout command set the length of time the controller uses a Resolvable Private Address before a new resolvable private address is generated and starts being used. This timeout applies to all addresses generated by the controller.
                                  (See Bluetooth Specification v.5.0 [Vol 2] Part E, Section 7.8.45)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT

                                  Description

                                  The LE_Set_Resolvable_Private_Address_Timeout command set the length of time the controller uses a Resolvable Private Address before a new resolvable private address is generated and starts being used. This timeout applies to all addresses generated by the controller.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.45].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  RPA_Timeout

                                  2

                                  @@ -1825,7 +1824,7 @@ Default: N= 0x0384 (900 secs or 15 minutes)

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_MAXIMUM_DATA_LENGTH

                                  Description

                                  The LE_Read_Maximum_Data_Length command allows the Host to read the Controller's maximum supported payload octets and packet duration times for transmission and reception (supportedMaxTxOctets and supportedMaxTxTime, supportedMaxRxOctets, and supportedMaxRxTime, see Bluetooth Specification v5.0 [Vol 6] Part B, Section 4.5.10).

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_MAXIMUM_DATA_LENGTH

                                  Description

                                  The LE_Read_Maximum_Data_Length command allows the Host to read the Controller's maximum supported payload octets and packet duration times for transmission and reception (supportedMaxTxOctets and supportedMaxTxTime, supportedMaxRxOctets, and supportedMaxRxTime, see Bluetooth spec. v.5.2 [Vol 6, Part B, 4.5.10]).

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1847,7 +1846,7 @@ Default: N= 0x0384 (900 secs or 15 minutes)

                                  2

                                  Maximum time, in microseconds, that the local Controller supports for reception of a single Link Layer packet on a data connection.

                                • 0x0148 ... 0x4290
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_PHY

                                  Description

                                  The LE_Read_PHY command is used to read the current transmitter PHY and receiver PHY on the connection identified by the Connection_Handle. see Bluetooth Specification [Vol 2] part E, Section 7.8.47

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_READ_PHY

                                  Description

                                  The LE_Read_PHY command is used to read the current transmitter PHY and receiver PHY on the connection identified by the Connection_Handle.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.47].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1873,7 +1872,7 @@ Default: N= 0x0384 (900 secs or 15 minutes)

                                  Receiver PHY in use

                                • 0x01: The receiver PHY for the connection is LE 1M
                                • 0x02: The receiver PHY for the connection is LE 2M
                                • 0x03: The receiver PHY for the connection is LE Coded (Not supported by STM32WB)
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_DEFAULT_PHY

                                  Description

                                  The LE_Set_Default_PHY command allows the Host to specify its preferred values for the transmitter PHY and receiver PHY to be used for all subsequent connections over the LE transport.
                                  The ALL_PHYS parameter is a bit field that allows the Host to specify, for each
                                  direction, whether it has no preference among the PHYs that the Controller supports in a given direction or whether it has specified particular PHYs that it prefers in the TX_PHYS or RX_PHYS parameter.
                                  The TX_PHYS parameter is a bit field that indicates the transmitter PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the TX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  The RX_PHYS parameter is a bit field that indicates the receiver PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the RX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  See Bluetooth Specification [Vol2] Part E Section 7.8.48

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_DEFAULT_PHY

                                  Description

                                  The LE_Set_Default_PHY command allows the Host to specify its preferred values for the transmitter PHY and receiver PHY to be used for all subsequent connections over the LE transport.
                                  The ALL_PHYS parameter is a bit field that allows the Host to specify, for each
                                  direction, whether it has no preference among the PHYs that the Controller supports in a given direction or whether it has specified particular PHYs that it prefers in the TX_PHYS or RX_PHYS parameter.
                                  The TX_PHYS parameter is a bit field that indicates the transmitter PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the TX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  The RX_PHYS parameter is a bit field that indicates the receiver PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the RX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.48].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  ALL_PHYS

                                  1

                                  @@ -1893,7 +1892,7 @@ Default: N= 0x0384 (900 secs or 15 minutes)

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_PHY

                                  Description

                                  The LE_Set_PHY command is used to set the PHY preferences for the connection identified by the Connection_Handle. The Controller might not be able to make the change (e.g. because the peer does not support the requested PHY) or may decide that the current PHY is preferable.
                                  The ALL_PHYS parameter is a bit field that allows the Host to specify, for each direction, whether it has no preference among the PHYs that the Controller supports in a given direction or whether it has specified particular PHYs that it prefers in the TX_PHYS or RX_PHYS parameter.
                                  The TX_PHYS parameter is a bit field that indicates the transmitter PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the TX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  The RX_PHYS parameter is a bit field that indicates the receiver PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the RX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  If, for at least one direction, the Host has specified a preference and the current PHY is not one of those preferred, the Controller shall request a change. Otherwise the Controller may, but need not, request a change.
                                  The PHY preferences provided by the LE Set PHY command override those provided via the LE Set Default PHY command (Section 7.8.48) or any preferences previously set using the LE Set PHY command on the same connection.
                                  The PHY_options parameter is a bit field that allows the Host to specify options for PHYs. The default value for a new connection shall be all zero bits. The Controller may override any preferred coding for transmitting on the LE Coded PHY.
                                  The Host may specify a preferred coding even if it prefers not to use the LE Coded transmitter PHY since the Controller may override the PHY preference.
                                  (See Bluetooth Specification v5.0 [Vol 6] Part B, Section 7.8.49)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_PHY

                                  Description

                                  The LE_Set_PHY command is used to set the PHY preferences for the connection identified by the Connection_Handle. The Controller might not be able to make the change (e.g. because the peer does not support the requested PHY) or may decide that the current PHY is preferable.
                                  The ALL_PHYS parameter is a bit field that allows the Host to specify, for each direction, whether it has no preference among the PHYs that the Controller supports in a given direction or whether it has specified particular PHYs that it prefers in the TX_PHYS or RX_PHYS parameter.
                                  The TX_PHYS parameter is a bit field that indicates the transmitter PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the TX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  The RX_PHYS parameter is a bit field that indicates the receiver PHYs that the Host prefers the Controller to use. If the ALL_PHYS parameter specifies that the Host has no preference, the RX_PHYS parameter is ignored; otherwise at least one bit shall be set to 1.
                                  If, for at least one direction, the Host has specified a preference and the current PHY is not one of those preferred, the Controller shall request a change. Otherwise the Controller may, but need not, request a change.
                                  The PHY preferences provided by the LE Set PHY command override those provided via the LE Set Default PHY command (Section 7.8.48) or any preferences previously set using the LE Set PHY command on the same connection.
                                  The PHY_options parameter is a bit field that allows the Host to specify options for PHYs. The default value for a new connection shall be all zero bits. The Controller may override any preferred coding for transmitting on the LE Coded PHY.
                                  The Host may specify a preferred coding even if it prefers not to use the LE Coded transmitter PHY since the Controller may override the PHY preference.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.49].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -1921,7 +1920,7 @@ Default: N= 0x0384 (900 secs or 15 minutes)

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_PHY_UPDATE_COMPLETE_EVENT
                                • HCI_LE_READ_TRANSMIT_POWER

                                  Description

                                  This command is used to read the minimum and maximum transmit powers supported by the Controller.

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • HCI_LE_PHY_UPDATE_COMPLETE_EVENT
                                • HCI_LE_READ_TRANSMIT_POWER

                                  Description

                                  This command is used to read the minimum and maximum transmit powers supported by the Controller.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.74].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -1935,7 +1934,7 @@ Default: N= 0x0384 (900 secs or 15 minutes)

                                  1

                                  Signed integer. Units: dBm

                                • -127 ... 20
                                • Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_PRIVACY_MODE

                                  Description

                                  This command is used to allow the Host to specify the privacy mode to be used for a given entry on the resolving list.
                                  (See Bluetooth Specification v.5.0 [Vol 2] Part E, Section 7.8.77)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_SET_PRIVACY_MODE

                                  Description

                                  This command is used to allow the Host to specify the privacy mode to be used for a given entry on the resolving list.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.77].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Peer_Identity_Address_Type

                                  1

                                  @@ -1978,7 +1977,7 @@ Default: N= 0x0384 (900 secs or 15 minutes)

                                  HCI_LE_ENHANCED_TRANSMITTER_TEST

                                  0x2034

                                  Y

                                  HCI_LE_RECEIVER_TEST

                                  Description

                                  This command is used to start a test where the DUT receives test reference packets at a fixed interval. The tester generates the test reference packets.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.28)

                                  Input parameters

                                  +

                                  HCI_LE_RECEIVER_TEST

                                  Description

                                  This command is used to start a test where the DUT receives test reference packets at a fixed interval. The tester generates the test reference packets.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.28].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  RX_Frequency

                                  1

                                  @@ -1991,7 +1990,7 @@ Frequency Range : 2402 MHz to 2480 MHz

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_TRANSMITTER_TEST

                                  Description

                                  This command is used to start a test where the DUT generates test reference packets at a fixed interval. The Controller shall transmit at maximum power.
                                  An LE Controller supporting the LE_Transmitter_Test command shall support Packet_Payload values 0x00, 0x01 and 0x02. An LE Controller may support other values of Packet_Payload.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.29)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_TRANSMITTER_TEST

                                  Description

                                  This command is used to start a test where the DUT generates test reference packets at a fixed interval. The Controller shall transmit at maximum power.
                                  An LE Controller supporting the LE_Transmitter_Test command shall support Packet_Payload values 0x00, 0x01 and 0x02. An LE Controller may support other values of Packet_Payload.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.29].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  TX_Frequency

                                  1

                                  @@ -2012,7 +2011,7 @@ Frequency Range : 2402 MHz to 2480 MHz

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_TEST_END

                                  Description

                                  This command is used to stop any test which is in progress. The Number_Of_Packets for a transmitter test shall be reported as 0x0000. The Number_Of_Packets is an unsigned number and contains the number of received packets.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.8.30)

                                  Input parameters

                                  None

                                  Output parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_TEST_END

                                  Description

                                  This command is used to stop any test which is in progress. The Number_Of_Packets for a transmitter test shall be reported as 0x0000. The Number_Of_Packets is an unsigned number and contains the number of received packets.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.30].

                                  Input parameters

                                  None

                                  Output parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -2022,7 +2021,7 @@ Frequency Range : 2402 MHz to 2480 MHz

                                  2

                                  Number of packets received

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ENHANCED_RECEIVER_TEST

                                  Description

                                  This command is used to start a test where the DUT receives test reference packets at a fixed interval. The tester generates the test reference packets.
                                  (See Bluetooth Specification v5.0 [Vol 6] Part B, Section 7.8.50)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ENHANCED_RECEIVER_TEST

                                  Description

                                  This command is used to start a test where the DUT receives test reference packets at a fixed interval. The tester generates the test reference packets.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.50].

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  RX_Frequency

                                  1

                                  @@ -2043,7 +2042,7 @@ Frequency Range : 2402 MHz to 2480 MHz

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ENHANCED_TRANSMITTER_TEST

                                  Description

                                  This command is used to start a test where the DUT generates test reference packets at a fixed interval. The Controller shall transmit at maximum power.
                                  An LE Controller supporting the LE_Enhanced Transmitter_Test command shall support Packet_Payload values 0x00, 0x01 and 0x02. An LE Controller supporting the LE Coded PHY shall also support Packet_Payload value 0x04 (not supported by STM32WB). An LE Controller may support other values of Packet_Payload.
                                  (See Bluetooth Specification v5.0 [Vol 6] Part B, Section 7.8.51)

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • HCI_LE_ENHANCED_TRANSMITTER_TEST

                                  Description

                                  This command is used to start a test where the DUT generates test reference packets at a fixed interval. The Controller shall transmit at maximum power.
                                  An LE Controller supporting the LE_Enhanced Transmitter_Test command shall support Packet_Payload values 0x00, 0x01 and 0x02. An LE Controller supporting the LE Coded PHY shall also support Packet_Payload value 0x04 (not supported by STM32WB). An LE Controller may support other values of Packet_Payload.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.8.51].

                                  Input parameters

                                  + -
                                  ParameterSizeDescriptionPossible values

                                  TX_Frequency

                                  1

                                  @@ -2125,6 +2124,8 @@ Frequency Range : 2402 MHz to 2480 MHz

                                  ACI_HAL_GET_PM_DEBUG_INFO

                                  0xFC1C

                                  Y

                                  ACI_HAL_SET_SLAVE_LATENCY

                                  0xFC20

                                  +
                                  ACI_HAL_READ_RADIO_REG

                                  0xFC30

                                  Y

                                  Y

                                  @@ -2161,7 +2162,7 @@ Frequency Range : 2402 MHz to 2480 MHz

                                  2

                                  Build number of the firmware.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_HAL_WRITE_CONFIG_DATA

                                  Description

                                  This command writes a value to a low level configure data structure. It is useful to setup directly some low level parameters for the system in the runtime.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_HAL_WRITE_CONFIG_DATA

                                  Description

                                  This command writes a value to a configure data structure. It is useful to setup directly some parameters for the system in the runtime.
                                  Note: the static random address set by this command is taken into account by the GAP only when it receives the ACI_GAP_INIT command.

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Offset

                                  1

                                  @@ -2186,7 +2187,7 @@ Static Random Address; 6 bytes

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_HAL_READ_CONFIG_DATA

                                  Description

                                  This command requests the value in the low level configure data structure.
                                  The number of read bytes changes for different Offset.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_HAL_READ_CONFIG_DATA

                                  Description

                                  This command requests the value in the configure data structure. The number of read bytes changes for different Offset.

                                  Input parameters

                                  +Identity root key used to derive LTK and CSRK; 16 bytes
                                • 0x2E: CONFIG_DATA_RANDOM_ADDRESS_WR; +Static Random Address; 6 bytes
                                • ParameterSizeDescriptionPossible values

                                  Offset

                                  1

                                  @@ -2195,8 +2196,8 @@ which has to be read.

                                • 0x00: CONFIG_DATA_PUBADDR_OFFSET; Bluetooth public address; 6 bytes
                                • 0x08: CONFIG_DATA_ER_OFFSET; Encryption root key used to derive LTK and CSRK; 16 bytes
                                • 0x18: CONFIG_DATA_IR_OFFSET -Identity root key used to derive LTK and CSRK; 16 bytes
                                • 0x80: CONFIG_DATA_RANDOM_ADDRESS -Static random address; 6 bytes (read-only)
                                • Output parameters

                                  +
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  @@ -2347,6 +2348,18 @@ T = N * 0.625 ms.

                                  1

                                  Overall allocated MBlocks

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_HAL_SET_SLAVE_LATENCY

                                  Description

                                  This command is used to disable/enable the slave latency feature during a connection. Note that, by default, the slave latency is enabled at connection time.

                                  Input parameters

                                  + + +
                                  ParameterSizeDescriptionPossible values

                                  Enable

                                  +

                                  1

                                  +

                                  Enable/disable slave latency.

                                  +
                                • 0x00: Slave latency is disabled
                                • 0x01: Slave latency is enabled
                                • Output parameters

                                  + +
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  +

                                  1

                                  +

                                  Status error code.

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_HAL_READ_RADIO_REG

                                  Description

                                  This command Reads Register value from the RF module.

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Register_Address

                                  @@ -2579,7 +2592,7 @@ frequency deviation (250kHz).

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GAP_SET_LIMITED_DISCOVERABLE

                                  Description

                                  Put the device in limited discoverable mode (as defined in Bluetooth Specification v.5.0, Vol. 3, Part C, section 9.2.3). The device will be discoverable for maximum period of TGAP (lim_adv_timeout) = 180 seconds (from errata). The advertising can be disabled at any time by issuing ACI_GAP_SET_NON_DISCOVERABLE command.
                                  The Adv_Interval_Min and Adv_Interval_Max parameters are optional. If both are set to 0, the GAP will use default values for adv intervals for limited discoverable mode (250 ms and 500 ms respectively).
                                  To allow a fast connection, the host can set Local_Name, Service_Uuid_List, Slave_Conn_Interval_Min and Slave_Conn_Interval_Max. If provided, these data will be inserted into the advertising packet payload as AD data. These parameters are optional in this command. These values can be set in advertised data using ACI_GAP_UPDATE_ADV_DATA command separately.
                                  The total size of data in advertising packet cannot exceed 31 bytes.
                                  With this command, the BLE Stack will also add automatically the following standard AD types:
                                  - AD Flags
                                  - Power Level
                                  When advertising timeout happens (i.e. limited discovery period has elapsed), controller generates ACI_GAP_LIMITED_DISCOVERABLE_EVENT event.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GAP_SET_LIMITED_DISCOVERABLE

                                  Description

                                  Put the device in limited discoverable mode (as defined in Bluetooth spec. v.5.2 [Vol 3, Part C, 9.2.3]). The device will be discoverable for maximum period of TGAP (lim_adv_timeout) = 180 seconds (from errata). The advertising can be disabled at any time by issuing ACI_GAP_SET_NON_DISCOVERABLE command.
                                  The Adv_Interval_Min and Adv_Interval_Max parameters are optional. If both are set to 0, the GAP will use default values for adv intervals for limited discoverable mode (250 ms and 500 ms respectively).
                                  To allow a fast connection, the host can set Local_Name, Service_Uuid_List, Slave_Conn_Interval_Min and Slave_Conn_Interval_Max. If provided, these data will be inserted into the advertising packet payload as AD data. These parameters are optional in this command. These values can be set in advertised data using ACI_GAP_UPDATE_ADV_DATA command separately.
                                  The total size of data in advertising packet cannot exceed 31 bytes.
                                  With this command, the BLE Stack will also add automatically the following standard AD types:
                                  - AD Flags
                                  - Power Level
                                  When advertising timeout happens (i.e. limited discovery period has elapsed), controller generates ACI_GAP_LIMITED_DISCOVERABLE_EVENT event.

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Advertising_Type

                                  1

                                  @@ -2623,8 +2636,7 @@ If there is no service to be advertised, set this field to 0x00.

                                  Service_Uuid_List

                                  Service_Uuid_length

                                  -

                                  This is the list of the UUIDs as defined in Volume 3, Section 11 of GAP Specification. First byte is the AD Type. -See also Supplement to the Bluetooth Core 5.0 specification.

                                  +

                                  This is the list of the UUIDs as defined in Volume 3, Section 11 of GAP Specification. First byte is the AD Type.

                                  Slave_Conn_Interval_Min

                                  2

                                  @@ -2646,7 +2658,7 @@ connIntervalmax = Slave_Conn_Interval_Max x 1.25ms

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • ACI_GAP_LIMITED_DISCOVERABLE_EVENT
                                • ACI_GAP_SET_DISCOVERABLE

                                  Description

                                  Put the device in general discoverable mode (as defined in Bluetooth Specification v.5.0, Vol. 3, Part C, section 9.2.4). The device will be discoverable until the host issues the ACI_GAP_SET_NON_DISCOVERABLE command. The Adv_Interval_Min and Adv_Interval_Max parameters are optional. If both are set to 0, the GAP uses the default values for adv intervals for general discoverable mode.
                                  When using connectable undirected advertising events:
                                  - Adv_Interval_Min = 30 ms
                                  - Adv_Interval_Max = 60 ms
                                  When using non-connectable advertising events or scannable undirected advertising events:
                                  - Adv_Interval_Min = 100 ms
                                  - Adv_Interval_Max = 150 ms
                                  Host can set the Local Name, a Service UUID list and the Slave Connection Interval Range.
                                  If provided, these data will be inserted into the advertising packet payload as AD data.
                                  These parameters are optional in this command. These values can be also set using ACI_GAP_UPDATE_ADV_DATA command separately.
                                  The total size of data in advertising packet cannot exceed 31 bytes.
                                  With this command, the BLE Stack will also add automatically the following standard AD types:
                                  - AD Flags
                                  - TX Power Level

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • ACI_GAP_LIMITED_DISCOVERABLE_EVENT
                                • ACI_GAP_SET_DISCOVERABLE

                                  Description

                                  Put the device in general discoverable mode (as defined in Bluetooth spec. v.5.2 [Vol 3, Part C, 9.2.4]). The device will be discoverable until the host issues the ACI_GAP_SET_NON_DISCOVERABLE command. The Adv_Interval_Min and Adv_Interval_Max parameters are optional. If both are set to 0, the GAP uses the default values for adv intervals for general discoverable mode.
                                  When using connectable undirected advertising events:
                                  - Adv_Interval_Min = 30 ms
                                  - Adv_Interval_Max = 60 ms
                                  When using non-connectable advertising events or scannable undirected advertising events:
                                  - Adv_Interval_Min = 100 ms
                                  - Adv_Interval_Max = 150 ms
                                  Host can set the Local Name, a Service UUID list and the Slave Connection Interval Range.
                                  If provided, these data will be inserted into the advertising packet payload as AD data.
                                  These parameters are optional in this command. These values can be also set using ACI_GAP_UPDATE_ADV_DATA command separately.
                                  The total size of data in advertising packet cannot exceed 31 bytes.
                                  With this command, the BLE Stack will also add automatically the following standard AD types:
                                  - AD Flags
                                  - TX Power Level

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Advertising_Type

                                  1

                                  @@ -2690,8 +2702,7 @@ If there is no service to be advertised, set this field to 0x00.

                                  Service_Uuid_List

                                  Service_Uuid_length

                                  -

                                  This is the list of the UUIDs as defined in Volume 3, Section 11 of GAP Specification. First byte is the AD Type. -See also Supplement to the Bluetooth Core 5.0 specification.

                                  +

                                  This is the list of the UUIDs as defined in Volume 3, Section 11 of GAP Specification. First byte is the AD Type.

                                  Slave_Conn_Interval_Min

                                  2

                                  @@ -2713,7 +2724,7 @@ connIntervalmax = Slave_Conn_Interval_Max x 1.25ms

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GAP_SET_DIRECT_CONNECTABLE

                                  Description

                                  Set the device in direct connectable mode (as defined in Bluetooth Specification v.5.0, Vol. 3, Part C, section 9.3.3). Device uses direct connectable mode to advertise using High Duty cycle advertisement events or Low Duty cycle advertisement events and the address as either what is specified in the Own Address Type parameter. The command specifies the type of the advertising used.
                                  If the privacy is enabled, the Type parameter in reconnection address is used for advertising, otherwise the address of the type specified in OwnAddrType is used.
                                  The device stays in directed connectable mode only for 1.28 seconds. If no connection is established within this duration, the device enters non discoverable mode and advertising has to be again enabled explicitly.
                                  The controller generates a HCI_LE_CONNECTION_COMPLETE_EVENT event with the status set to HCI_ADVERTISING_TIMEOUT_ERR_CODE if the connection was not established and BLE_STATUS_SUCCESS (0x00) if the connection was successfully established.
                                  If Host privacy is enabled this command returns BLE_STATUS_INVALID_PARAMS.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GAP_SET_DIRECT_CONNECTABLE

                                  Description

                                  Set the device in direct connectable mode (as defined in Bluetooth spec. v.5.2 [Vol 3, Part C, 9.3.3]). Device uses direct connectable mode to advertise using High Duty cycle advertisement events or Low Duty cycle advertisement events and the address as either what is specified in the Own Address Type parameter. The command specifies the type of the advertising used.
                                  If the privacy is enabled, the Type parameter in reconnection address is used for advertising, otherwise the address of the type specified in OwnAddrType is used.
                                  The device stays in directed connectable mode only for 1.28 seconds. If no connection is established within this duration, the device enters non discoverable mode and advertising has to be again enabled explicitly.
                                  The controller generates a HCI_LE_CONNECTION_COMPLETE_EVENT event with the status set to HCI_ADVERTISING_TIMEOUT_ERR_CODE if the connection was not established and BLE_STATUS_SUCCESS (0x00) if the connection was successfully established.
                                  If Host privacy is enabled this command returns BLE_STATUS_INVALID_PARAMS.

                                  Input parameters

                                  ParameterSizeDescriptionPossible values

                                  Own_Address_Type

                                  1

                                  @@ -2972,7 +2983,7 @@ Time = N * 0.625 msec.

                                  ParameterSizeDescriptionPossible values

                                  ADType

                                  1

                                  -

                                  One of the AD types like in Bluetooth specification (see volume 3, Part C, 11.1)

                                  +

                                  One of the AD types as in Bluetooth spec. [Vol 3, Part C, 11].

                                  Output parameters

                                  @@ -3176,7 +3187,7 @@ Time = N * 0.625 msec.

                                  -
                                  ParameterSizeDescriptionPossible values

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • ACI_GAP_PROC_COMPLETE_EVENT
                                • ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC

                                  Description

                                  Start the auto connection establishment procedure. The devices specified are added to the white list of the controller and a LE_Create_Connection call will be made to the controller by GAP with the initiator filter policy set to "use whitelist to determine which advertiser to connect to". When a command is issued to terminate the procedure by upper layer, a LE_Create_Connection_Cancel call will be made to the controller by GAP.
                                  The procedure is terminated when either a connection is successfully established with one of the specified devices in the white list or the procedure is explicitly terminated by issuing the command ACI_GAP_TERMINATE_GAP_PROC with the procedure code set to 0x08. A ACI_GAP_PROC_COMPLETE_EVENT event is returned with the procedure code set to 0x08.
                                  If controller privacy is enabled and the peer device (advertiser) is in the resolving list then the link layer will generate a RPA, if it is not then the RPA/NRPA generated by the Host will be used.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • ACI_GAP_PROC_COMPLETE_EVENT
                                • ACI_GAP_START_AUTO_CONNECTION_ESTABLISH_PROC

                                  Description

                                  Start the auto connection establishment procedure. The devices specified are added to the whitelist of the controller and a LE_Create_Connection call will be made to the controller by GAP with the initiator filter policy set to "use whitelist to determine which advertiser to connect to". When a command is issued to terminate the procedure by upper layer, a LE_Create_Connection_Cancel call will be made to the controller by GAP.
                                  The procedure is terminated when either a connection is successfully established with one of the specified devices in the whitelist or the procedure is explicitly terminated by issuing the command ACI_GAP_TERMINATE_GAP_PROC with the procedure code set to 0x08. A ACI_GAP_PROC_COMPLETE_EVENT event is returned with the procedure code set to 0x08.
                                  If controller privacy is enabled and the peer device (advertiser) is in the resolving list then the link layer will generate a RPA, if it is not then the RPA/NRPA generated by the Host will be used.

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  LE_Scan_Interval

                                  2

                                  @@ -3292,7 +3303,7 @@ Time = N * 0.625 msec.

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • ACI_GAP_PROC_COMPLETE_EVENT
                                • ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC

                                  Description

                                  Start a selective connection establishment procedure. The GAP adds the specified device addresses into white list and enables scanning in the controller with the scanner filter policy set to "accept packets only from devices in whitelist". All the devices found are sent to the upper layer by the event HCI_LE_ADVERTISING_REPORT_EVENT. The upper layer then has to select one of the devices to which it wants to connect by issuing the command ACI_GAP_CREATE_CONNECTION.
                                  On completion of the procedure a ACI_GAP_PROC_COMPLETE_EVENT event is generated with the procedure code set to 0x20. The procedure is terminated when a connection is established or the upper layer terminates the procedure by issuing the command ACI_GAP_TERMINATE_GAP_PROC with the procedure code set to 0x20.
                                  If controller privacy is enabled and the peer device (advertiser) is in the resolving list then the link layer will generate a RPA, if it is not then the RPA/NRPA generated by the Host will be used.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_STATUS_EVENT
                                • ACI_GAP_PROC_COMPLETE_EVENT
                                • ACI_GAP_START_SELECTIVE_CONNECTION_ESTABLISH_PROC

                                  Description

                                  Start a selective connection establishment procedure. The GAP adds the specified device addresses into whitelist and enables scanning in the controller with the scanner filter policy set to "accept packets only from devices in whitelist". All the devices found are sent to the upper layer by the event HCI_LE_ADVERTISING_REPORT_EVENT. The upper layer then has to select one of the devices to which it wants to connect by issuing the command ACI_GAP_CREATE_CONNECTION.
                                  On completion of the procedure a ACI_GAP_PROC_COMPLETE_EVENT event is generated with the procedure code set to 0x20. The procedure is terminated when a connection is established or the upper layer terminates the procedure by issuing the command ACI_GAP_TERMINATE_GAP_PROC with the procedure code set to 0x20.
                                  If controller privacy is enabled and the peer device (advertiser) is in the resolving list then the link layer will generate a RPA, if it is not then the RPA/NRPA generated by the Host will be used.

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  LE_Scan_Type

                                  1

                                  @@ -3552,7 +3563,7 @@ If Privacy is enabled, then the address can be a resolvable private address or a

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GAP_START_OBSERVATION_PROC

                                  Description

                                  Starts an Observation procedure, when the device is in Observer Role. The host enables scanning in the controller. The advertising reports are sent to the upper layer using standard LE Advertising Report Event. (See Bluetooth Core v5.0, Vol. 2, part E, Ch. 7.7.65.2, LE Advertising Report Event).
                                  If controller privacy is enabled and the peer device (advertiser) is in the resolving list then the link layer will generate a RPA, if it is not then the RPA/NRPA generated by the Host will be used.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GAP_START_OBSERVATION_PROC

                                  Description

                                  Starts an Observation procedure, when the device is in Observer Role. The host enables scanning in the controller. The advertising reports are sent to the upper layer using standard LE Advertising Report Event.
                                  If controller privacy is enabled and the peer device (advertiser) is in the resolving list then the link layer will generate a RPA, if it is not then the RPA/NRPA generated by the Host will be used.

                                  Input parameters

                                  +
                                  ParameterSizeDescriptionPossible values

                                  LE_Scan_Interval

                                  2

                                  @@ -3672,7 +3683,7 @@ Time = N * 0.625 msec.

                                  OOB_Data_Type

                                  1

                                  OOB Data type

                                  -
                                • 0x00: TK (LP v.4.1)
                                • 0x01: Random (SC v.4.2)
                                • 0x02: Confirm (SC v.4.2)
                                • 0x00: TK (LP v.4.1)
                                • 0x01: Random (SC)
                                • 0x02: Confirm (SC)
                                • Output parameters

                                  + + -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  @@ -3690,7 +3701,7 @@ Time = N * 0.625 msec.

                                  OOB_Data_Type

                                  1

                                  OOB Data type

                                  -
                                • 0x00: TK (LP v.4.1)
                                • 0x01: Random (SC v.4.2)
                                • 0x02: Confirm (SC v.4.2)
                                • 0x00: TK (LP v.4.1)
                                • 0x01: Random (SC)
                                • 0x02: Confirm (SC)
                                • OOB_Data_Len

                                  1

                                  Length of OOB Data

                                  @@ -3716,7 +3727,7 @@ Time = N * 0.625 msec.

                                  OOB_Data_Type

                                  1

                                  OOB Data type

                                  -
                                • 0x00: TK (LP v.4.1)
                                • 0x01: Random (SC v.4.2)
                                • 0x02: Confirm (SC v.4.2)
                                • 0x00: TK (LP v.4.1)
                                • 0x01: Random (SC)
                                • 0x02: Confirm (SC)
                                • OOB_Data_Len

                                  1

                                  Length of OOB Data

                                  @@ -4014,7 +4025,7 @@ Server also allocates a range of handles for this service from serviceHandle to

                                  Char_Properties

                                  1

                                  -

                                  Characteristic Properties (Volume 3, Part G, section 3.3.1.1 of Bluetooth Specification 5.0)

                                  +

                                  Characteristic Properties (Volume 3, Part G, section 3.3.1.1 of Bluetooth Core Specification)

                                  Bitmask of:

                                • 0x00: CHAR_PROP_NONE
                                • 0x01: CHAR_PROP_BROADCAST (Broadcast)
                                • 0x02: CHAR_PROP_READ (Read)
                                • 0x04: CHAR_PROP_WRITE_WITHOUT_RESP (Write w/o resp)
                                • 0x08: CHAR_PROP_WRITE (Write)
                                • 0x10: CHAR_PROP_NOTIFY (Notify)
                                • 0x20: CHAR_PROP_INDICATE (Indicate)
                                • 0x40: CHAR_PROP_SIGNED_WRITE (Authenticated Signed Writes)
                                • 0x80: CHAR_PROP_EXT (Extended Properties)
                                • Security_Permissions

                                  1

                                  @@ -4105,7 +4116,7 @@ a variable length.

                                  2

                                  Handle of the characteristic descriptor

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GATT_UPDATE_CHAR_VALUE

                                  Description

                                  Update a characteristic value in a service. If notifications (or indications) are enabled on that characteristic, a notification (or indication) is sent to the client after sending this command. The command is queued into the STM32WB command queue.
                                  If the buffer is full, because previous commands could not be still processed, the function will return BLE_STATUS_INSUFFICIENT_RESOURCES. This will happen if notifications (or indications) are enabled and the application calls ACI_GATT_UPDATE_CHAR_VALUE at an higher rate than what is allowed by the link.
                                  Throughput on BLE link depends on connection interval and connection length parameters (decided by the master, see aci_l2cap_connection_parameter_update_request() for more info on how to suggest new connection parameters from a slave). If the application does not want to lose notifications because STM32WB buffer becomes full, it has to retry again till the function returns BLE_STATUS_SUCCESS or any other error code.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GATT_UPDATE_CHAR_VALUE

                                  Description

                                  Update a characteristic value in a service. If notifications (or indications) are enabled on that characteristic, a notification (or indication) is sent to the client after sending this command. The command is queued into the STM32WB command queue.
                                  If the buffer is full, because previous commands could not be still processed, the function will return BLE_STATUS_INSUFFICIENT_RESOURCES. This will happen if notifications (or indications) are enabled and the application calls ACI_GATT_UPDATE_CHAR_VALUE at an higher rate than what is allowed by the link.
                                  Throughput on BLE link depends on connection interval and connection length parameters (decided by the master, see aci_l2cap_connection_parameter_update_request() for more info on how to suggest new connection parameters from a slave). If the application does not want to lose notifications because STM32WB buffer becomes full, it must retry again till the function returns BLE_STATUS_SUCCESS or any other error code.

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Service_Handle

                                  2

                                  @@ -4819,7 +4830,7 @@ If the Val_Offset is set to a value greater than 0, then the length of the attri

                                  1

                                  Status error code.

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GATT_ALLOW_READ

                                  Description

                                  Allow the GATT server to send a response to a read request from a client.
                                  The application has to send this command when it receives the
                                  ACI_GATT_READ_PERMIT_REQ_EVENT or ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT. This command indicates to the stack that the response can be sent to the client. So if the application wishes to update any of the attributes before they are read by the client, it has to update the characteristic values using the ACI_GATT_UPDATE_CHAR_VALUE and then give this command. The application should perform the required operations within 30 seconds. Otherwise the GATT procedure will be timeout.

                                  Input parameters

                                  +

                                  Events generated

                                • HCI_COMMAND_COMPLETE_EVENT
                                • ACI_GATT_ALLOW_READ

                                  Description

                                  Allow the GATT server to send a response to a read request from a client.
                                  The application has to send this command when it receives the
                                  ACI_GATT_READ_PERMIT_REQ_EVENT or ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT. This command indicates to the stack that the response can be sent to the client. So if the application wishes to update any of the attributes before they are read by the client, it must update the characteristic values using the ACI_GATT_UPDATE_CHAR_VALUE and then give this command. The application should perform the required operations within 30 seconds. Otherwise the GATT procedure will be timeout.

                                  Input parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -5311,9 +5322,9 @@ Time = N * 0.625 msec.

                                • 0x0000 ... 0x0EFF
                                • Reason

                                  1

                                  -

                                  Reason for disconnection (see Bluetooth Core Specification [Vol 2] Part D, Error Codes).

                                  +

                                  Reason for disconnection (see Bluetooth spec. [Vol 1, Part F] Error Codes).

                                  HCI_ENCRYPTION_CHANGE_EVENT

                                  Description

                                  The Encryption Change event is used to indicate that the change of the encryption mode has been completed. The Connection_Handle will be a Connection_Handle for an ACL connection. The Encryption_Enabled event parameter specifies the new Encryption_Enabled parameter for the Connection_Handle specified by the Connection_Handle event parameter. This event will occur on both devices to notify the Hosts when Encryption has changed for the specified Connection_Handle between two devices. Note: This event shall not be generated if encryption is paused or resumed; during a role switch, for example.
                                  The meaning of the Encryption_Enabled parameter depends on whether the Host has indicated support for Secure Connections in the Secure_Connections_Host_Support parameter. When Secure_Connections_Host_Support is 'disabled' or the Connection_Handle refers to an LE link, the Controller shall only use Encryption_Enabled values 0x00 (OFF) and 0x01 (ON).
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.7.8)

                                  Event parameters

                                  +

                                  HCI_ENCRYPTION_CHANGE_EVENT

                                  Description

                                  The Encryption Change event is used to indicate that the change of the encryption mode has been completed. The Connection_Handle will be a Connection_Handle for an ACL connection. The Encryption_Enabled event parameter specifies the new Encryption_Enabled parameter for the Connection_Handle specified by the Connection_Handle event parameter. This event will occur on both devices to notify the Hosts when Encryption has changed for the specified Connection_Handle between two devices. Note: This event shall not be generated if encryption is paused or resumed; during a role switch, for example.
                                  The meaning of the Encryption_Enabled parameter depends on whether the Host has indicated support for Secure Connections in the Secure_Connections_Host_Support parameter. When Secure_Connections_Host_Support is 'disabled' or the Connection_Handle refers to an LE link, the Controller shall only use Encryption_Enabled values 0x00 (OFF) and 0x01 (ON).
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.8].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5327,7 +5338,7 @@ Time = N * 0.625 msec.

                                  1

                                  Link Level Encryption.

                                • 0x00: Link Level Encryption OFF
                                • 0x01: Link Level Encryption is ON with AES-CCM
                                • HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVENT

                                  Description

                                  The Read Remote Version Information Complete event is used to indicate the completion of the process obtaining the version information of the remote Controller specified by the Connection_Handle event parameter. The Connection_Handle shall be for an ACL connection.
                                  The Version event parameter defines the specification version of the LE Controller.
                                  The Manufacturer_Name event parameter indicates the manufacturer of the remote Controller. The Subversion event parameter is controlled by the manufacturer and is implementation dependent. The Subversion event parameter defines the various revisions that each version of the Bluetooth hardware will go through as design processes change and errors are fixed. This allows the software to determine what Bluetooth hardware is being used and, if necessary, to work around various bugs in the hardware.
                                  When the Connection_Handle is associated with an LE-U logical link, the Version event parameter shall be Link Layer VersNr parameter, the Manufacturer_Name event parameter shall be the CompId parameter, and the Subversion event parameter shall be the SubVersNr parameter.
                                  (See Bluetooth Specification v.5.0, Vol. 2, Part E, 7.7.12)

                                  Event parameters

                                  +

                                  HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVENT

                                  Description

                                  The Read Remote Version Information Complete event is used to indicate the completion of the process obtaining the version information of the remote Controller specified by the Connection_Handle event parameter. The Connection_Handle shall be for an ACL connection.
                                  The Version event parameter defines the specification version of the LE Controller.
                                  The Manufacturer_Name event parameter indicates the manufacturer of the remote Controller. The Subversion event parameter is controlled by the manufacturer and is implementation dependent. The Subversion event parameter defines the various revisions that each version of the Bluetooth hardware will go through as design processes change and errors are fixed. This allows the software to determine what Bluetooth hardware is being used and, if necessary, to work around various bugs in the hardware.
                                  When the Connection_Handle is associated with an LE-U logical link, the Version event parameter shall be Link Layer VersNr parameter, the Manufacturer_Name event parameter shall be the CompId parameter, and the Subversion event parameter shall be the SubVersNr parameter.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.12].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5462,7 +5473,7 @@ Error code 3 is internal FIFO full.

                                  HCI_LE_PHY_UPDATE_COMPLETE_EVENT

                                  0x0C

                                  Y

                                  HCI_LE_CONNECTION_COMPLETE_EVENT

                                  Description

                                  The LE Connection Complete event indicates to both of the Hosts forming the connection that a new connection has been created. Upon the creation of the connection a Connection_Handle shall be assigned by the Controller, and passed to the Host in this event. If the connection establishment fails this event shall be provided to the Host that had issued the LE_Create_Connection command.
                                  This event indicates to the Host which issued a LE_Create_Connection command and received a Command Status event if the connection establishment failed or was successful.
                                  The Master_Clock_Accuracy parameter is only valid for a slave. On a master, this parameter shall be set to 0x00. See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.1

                                  Event parameters

                                  +

                                  HCI_LE_CONNECTION_COMPLETE_EVENT

                                  Description

                                  The LE Connection Complete event indicates to both of the Hosts forming the connection that a new connection has been created. Upon the creation of the connection a Connection_Handle shall be assigned by the Controller, and passed to the Host in this event. If the connection establishment fails this event shall be provided to the Host that had issued the LE_Create_Connection command.
                                  This event indicates to the Host which issued a LE_Create_Connection command and received a Command Status event if the connection establishment failed or was successful.
                                  The Master_Clock_Accuracy parameter is only valid for a slave. On a master, this parameter shall be set to 0x00.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.1].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5503,7 +5514,7 @@ Time = N * 10 msec.

                                  1

                                  Master clock accuracy. Only valid for a slave.

                                • 0x00: 500 ppm
                                • 0x01: 250 ppm
                                • 0x02: 150 ppm
                                • 0x03: 100 ppm
                                • 0x04: 75 ppm
                                • 0x05: 50 ppm
                                • 0x06: 30 ppm
                                • 0x07: 20 ppm
                                • HCI_LE_ADVERTISING_REPORT_EVENT

                                  Description

                                  The LE Advertising Report event indicates that a device or multiple devices have responded to an active scan or received some information during a passive scan. The Controller may queue these advertising reports and send information from multiple devices in one LE Advertising Report event (see Bluetooth spec 5.0 vol 2 [part E] 7.7.65.2). In the current BLE stack version, only one report is sent per event (Num_Reports = 1).

                                  Event parameters

                                  +

                                  HCI_LE_ADVERTISING_REPORT_EVENT

                                  Description

                                  The LE Advertising Report event indicates that a device or multiple devices have responded to an active scan or received some information during a passive scan. The Controller may queue these advertising reports and send information from multiple devices in one LE Advertising Report event.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.2].
                                  Note: in the current BLE stack version, only one report is sent per event (Num_Reports = 1).

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Num_Reports

                                  1

                                  @@ -5544,7 +5555,7 @@ as defined in [Vol 3] Part C, Section 8.

                                  N Size: 1 Octet (signed integer) Units: dBm

                                • 127: RSSI not available
                                • -127 ... 20
                                • HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT

                                  Description

                                  The LE Connection Update Complete event is used to indicate that the Controller process to update the connection has completed.
                                  On a slave, if no connection parameters are updated, then this event shall not be issued.
                                  On a master, this event shall be issued if the Connection_Update command was sent. See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.3

                                  Event parameters

                                  +

                                  HCI_LE_CONNECTION_UPDATE_COMPLETE_EVENT

                                  Description

                                  The LE Connection Update Complete event is used to indicate that the Controller process to update the connection has completed.
                                  On a slave, if no connection parameters are updated, then this event shall not be issued.
                                  On a master, this event shall be issued if the Connection_Update command was sent.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.3].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5569,7 +5580,7 @@ Time = N * 1.25 msec

                                  It shall be a multiple of 10 ms and larger than (1 + connSlaveLatency) * connInterval * 2. Time = N * 10 msec.

                                • 0x000A (100 ms) ... 0x0C80 (32000 ms)
                                • HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT

                                  Description

                                  The LE Read Remote Features Complete event is used to indicate the completion of the process of the Controller obtaining the used features of the remote Bluetooth device specified by the Connection_Handle event parameter.
                                  See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.4

                                  Event parameters

                                  +

                                  HCI_LE_READ_REMOTE_FEATURES_COMPLETE_EVENT

                                  Description

                                  The LE Read Remote Features Complete event is used to indicate the completion of the process of the Controller obtaining the used features of the remote Bluetooth device specified by the Connection_Handle event parameter.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.4].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5583,7 +5594,7 @@ Time = N * 10 msec.

                                  8

                                  Bit Mask List of used LE features. For details see LE Link Layer specification.

                                  HCI_LE_LONG_TERM_KEY_REQUEST_EVENT

                                  Description

                                  The LE Long Term Key Request event indicates that the master device is attempting to encrypt or re-encrypt the link and is requesting the Long Term Key from the Host.
                                  (See [Vol 6] Part B, Section 5.1.3)and Bluetooth spec 5.0 vol 2 [part E] 7.7.65.5

                                  Event parameters

                                  +

                                  HCI_LE_LONG_TERM_KEY_REQUEST_EVENT

                                  Description

                                  The LE Long Term Key Request event indicates that the master device is attempting to encrypt or re-encrypt the link and is requesting the Long Term Key from the Host.
                                  See Bluetooth spec. v.5.2 [Vol 6, Part B, 5.1.3] and [Vol 4, Part E, 7.7.65.5].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -5597,7 +5608,7 @@ Time = N * 10 msec.

                                  2

                                  16-bit encrypted diversifier

                                  HCI_LE_DATA_LENGTH_CHANGE_EVENT

                                  Description

                                  The LE Data Length Change event notifies the Host of a change to either the maximum Payload length or the maximum transmission time of packets in either direction. The values reported are the maximum that will actually be used on the connection following the change, except that on the LE Coded PHY a packet taking up to 2704 us to transmit may be sent even though the corresponding parameter has a lower value.
                                  See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.7

                                  Event parameters

                                  +

                                  HCI_LE_DATA_LENGTH_CHANGE_EVENT

                                  Description

                                  The LE Data Length Change event notifies the Host of a change to either the maximum Payload length or the maximum transmission time of packets in either direction. The values reported are the maximum that will actually be used on the connection following the change, except that on the LE Coded PHY a packet taking up to 2704 us to transmit may be sent even though the corresponding parameter has a lower value.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.7].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -5619,7 +5630,7 @@ Time = N * 10 msec.

                                  2

                                  The maximum time that the local Controller expects to take to receive a Link Layer packet on this connection (connEffectiveMaxRxTime defined in [Vol 6] Part B, Section 4.5.10).

                                • 0x0148 ... 0x4290
                                • HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT

                                  Description

                                  This event is generated when local P-256 key generation is complete.
                                  See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.8

                                  Event parameters

                                  +

                                  HCI_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT

                                  Description

                                  This event is generated when local P-256 key generation is complete.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.8].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5629,7 +5640,7 @@ Time = N * 10 msec.

                                  64

                                  Local P-256 public key.

                                  HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT

                                  Description

                                  This event indicates that LE Diffie Hellman key generation has been completed by the Controller.
                                  See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.9

                                  Event parameters

                                  +

                                  HCI_LE_GENERATE_DHKEY_COMPLETE_EVENT

                                  Description

                                  This event indicates that LE Diffie Hellman key generation has been completed by the Controller.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.9].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5639,7 +5650,7 @@ Time = N * 10 msec.

                                  32

                                  Diffie Hellman Key

                                  HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT

                                  Description

                                  The LE Enhanced Connection Complete event indicates to both of the Hosts forming the connection that a new connection has been created. Upon the creation of the connection a Connection_Handle shall be assigned by the Controller, and passed to the Host in this event. If the connection establishment fails, this event shall be provided to the Host that had issued the LE_Create_Connection command.
                                  If this event is unmasked and LE Connection Complete event is unmasked, only the LE Enhanced Connection Complete event is sent when a new connection has been completed.
                                  This event indicates to the Host that issued a LE_Create_Connection command and received a Command Status event if the connection establishment failed or was successful.
                                  The Master_Clock_Accuracy parameter is only valid for a slave. On a master, this parameter shall be set to 0x00.
                                  See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.10

                                  Event parameters

                                  +

                                  HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT

                                  Description

                                  The LE Enhanced Connection Complete event indicates to both of the Hosts forming the connection that a new connection has been created. Upon the creation of the connection a Connection_Handle shall be assigned by the Controller, and passed to the Host in this event. If the connection establishment fails, this event shall be provided to the Host that had issued the LE_Create_Connection command.
                                  If this event is unmasked and LE Connection Complete event is unmasked, only the LE Enhanced Connection Complete event is sent when a new connection has been completed.
                                  This event indicates to the Host that issued a LE_Create_Connection command and received a Command Status event if the connection establishment failed or was successful.
                                  The Master_Clock_Accuracy parameter is only valid for a slave. On a master, this parameter shall be set to 0x00.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.10].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5694,7 +5705,7 @@ Time = N * 10 msec.

                                  1

                                  Master clock accuracy. Only valid for a slave.

                                • 0x00: 500 ppm
                                • 0x01: 250 ppm
                                • 0x02: 150 ppm
                                • 0x03: 100 ppm
                                • 0x04: 75 ppm
                                • 0x05: 50 ppm
                                • 0x06: 30 ppm
                                • 0x07: 20 ppm
                                • HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT

                                  Description

                                  The LE Direct Advertising Report event indicates that directed advertisements have been received where the advertiser is using a resolvable private address for the InitA field in the ADV_DIRECT_IND PDU and the Scanning_Filter_Policy is equal to 0x02 or 0x03, see HCI_LE_Set_Scan_Parameters.
                                  Direct_Address_Type and Direct_Addres is the address the directed advertisements are being directed to. Address_Type and Address is the address of the advertiser sending the directed advertisements.
                                  See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.11.

                                  Event parameters

                                  +

                                  HCI_LE_DIRECT_ADVERTISING_REPORT_EVENT

                                  Description

                                  The LE Direct Advertising Report event indicates that directed advertisements have been received where the advertiser is using a resolvable private address for the InitA field in the ADV_DIRECT_IND PDU and the Scanning_Filter_Policy is equal to 0x02 or 0x03, see HCI_LE_Set_Scan_Parameters.
                                  Direct_Address_Type and Direct_Addres is the address the directed advertisements are being directed to. Address_Type and Address is the address of the advertiser sending the directed advertisements.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.11].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Num_Reports

                                  1

                                  @@ -5729,7 +5740,7 @@ Time = N * 10 msec.

                                  N Size: 1 Octet (signed integer) Units: dBm

                                • 127: RSSI not available
                                • -127 ... 20
                                • HCI_LE_PHY_UPDATE_COMPLETE_EVENT

                                  Description

                                  The LE PHY Update Complete Event is used to indicate that the Controller has changed the transmitter PHY or receiver PHY in use.
                                  If the Controller changes the transmitter PHY, the receiver PHY, or both PHYs, this event shall be issued.
                                  If an LE_Set_PHY command was sent and the Controller determines that neither PHY will change as a result, it issues this event immediately.
                                  See See Bluetooth spec 5.0 vol 2 [part E] 7.7.65.12.

                                  Event parameters

                                  +

                                  HCI_LE_PHY_UPDATE_COMPLETE_EVENT

                                  Description

                                  The LE PHY Update Complete Event is used to indicate that the Controller has changed the transmitter PHY or receiver PHY in use.
                                  If the Controller changes the transmitter PHY, the receiver PHY, or both PHYs, this event shall be issued.
                                  If an LE_Set_PHY command was sent and the Controller determines that neither PHY will change as a result, it issues this event immediately.
                                  See Bluetooth spec. v.5.2 [Vol 4, Part E, 7.7.65.12].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Status

                                  1

                                  @@ -5842,7 +5853,7 @@ Units: dBm

                                  2

                                  Connection handle for which the private address could not be resolved with any of the stored IRK's.

                                  ACI_GAP_NUMERIC_COMPARISON_VALUE_EVENT

                                  Description

                                  This event is sent only during SC v.4.2 Pairing, when Numeric Comparison Association model is selected, in order to show the Numeric Value generated, and to ask for Confirmation to the User. When this event is received, the application has to respond with the ACI_GAP_NUMERIC_COMPARISON_RESP command.

                                  Event parameters

                                  +

                                  ACI_GAP_NUMERIC_COMPARISON_VALUE_EVENT

                                  Description

                                  This event is sent only during SC Pairing, when Numeric Comparison Association model is selected, in order to show the Numeric Value generated, and to ask for Confirmation to the User. When this event is received, the application has to respond with the ACI_GAP_NUMERIC_COMPARISON_RESP command.

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -5851,7 +5862,7 @@ Units: dBm

                                  Numeric_Value

                                  4

                                  ACI_GAP_KEYPRESS_NOTIFICATION_EVENT

                                  Description

                                  This event is sent only during SC v.4.2 Pairing, when Keypress Notifications are supported, in order to show the input type signalled by the peer device, having Keyboard only I/O capabilities. When this event is received, no action is required to the User.

                                  Event parameters

                                  +

                                  ACI_GAP_KEYPRESS_NOTIFICATION_EVENT

                                  Description

                                  This event is sent only during SC Pairing, when Keypress Notifications are supported, in order to show the input type signalled by the peer device, having Keyboard only I/O capabilities. When this event is received, no action is required to the User.

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -5989,7 +6000,7 @@ Units: dBm

                                  2

                                  Attribute server receive MTU size

                                  ACI_ATT_FIND_INFO_RESP_EVENT

                                  Description

                                  This event is generated in response to a Find Information Request. See ACI_ATT_FIND_INFO_REQ and Find Information Response in Bluetooth Core v5.0 spec. This event is also generated in response to ACI_GATT_DISC_ALL_CHAR_DESC

                                  Event parameters

                                  +

                                  ACI_ATT_FIND_INFO_RESP_EVENT

                                  Description

                                  This event is generated in response to a Find Information Request. See ACI_ATT_FIND_INFO_REQ and Find Information Response in Bluetooth Core spec. This event is also generated in response to ACI_GATT_DISC_ALL_CHAR_DESC

                                  Event parameters

                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6041,7 +6052,7 @@ Units: dBm

                                  Handle_Value_Pair_Data

                                  Data_Length

                                  -

                                  Attribute Data List as defined in Bluetooth Core v5.0 spec. A sequence of handle-value pairs: [2 octets for Attribute Handle, (Handle_Value_Pair_Length - 2 octets) for Attribute Value]

                                  +

                                  Attribute Data List as defined in Bluetooth Core spec. A sequence of handle-value pairs: [2 octets for Attribute Handle, (Handle_Value_Pair_Length - 2 octets) for Attribute Value]

                                  ACI_ATT_READ_RESP_EVENT

                                  Description

                                  This event is generated in response to a Read Request. See ACI_GATT_READ_CHAR_VALUE.

                                  Event parameters

                                  @@ -6102,7 +6113,7 @@ A concatenation of attribute values for each of the attribute handles in the req
                                  ParameterSizeDescriptionPossible values

                                  Attribute_Data_List

                                  Data_Length

                                  -

                                  Attribute Data List as defined in Bluetooth Core v5.0 spec. A sequence of attribute handle, end group handle, attribute value tuples: [2 octets for Attribute Handle, 2 octets End Group Handle, (Attribute_Data_Length - 4 octets) for Attribute Value]

                                  +

                                  Attribute Data List as defined in Bluetooth Core spec. A sequence of attribute handle, end group handle, attribute value tuples: [2 octets for Attribute Handle, 2 octets End Group Handle, (Attribute_Data_Length - 4 octets) for Attribute Value]

                                  ACI_ATT_PREPARE_WRITE_RESP_EVENT

                                  Description

                                  This event is generated in response to a ACI_ATT_PREPARE_WRITE_REQ.

                                  Event parameters

                                  @@ -6196,7 +6207,7 @@ A concatenation of attribute values for each of the attribute handles in the req -
                                  ParameterSizeDescriptionPossible values

                                  1

                                  The reason why the request has generated an error response (ATT error codes)

                                • 0x01: Invalid handle
                                • 0x02: Read not permitted
                                • 0x03: Write not permitted
                                • 0x04: Invalid PDU
                                • 0x05: Insufficient authentication
                                • 0x06: Request not supported
                                • 0x07: Invalid offset
                                • 0x08: Insufficient authorization
                                • 0x09: Prepare queue full
                                • 0x0A: Attribute not found
                                • 0x0B: Attribute not long
                                • 0x0C: Insufficient encryption key size
                                • 0x0D: Invalid attribute value length
                                • 0x0E: Unlikely error
                                • 0x0F: Insufficient encryption
                                • 0x10: Unsupported group type
                                • 0x11: Insufficient resources
                                • ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT

                                  Description

                                  This event can be generated during a "Discover Characteristics By UUID" procedure or a "Read using Characteristic UUID" procedure.
                                  The attribute value will be a service declaration as defined in Bluetooth Core v5.0.spec (vol.3, Part G, ch. 3.3.1), when a "Discover Characteristics By UUID" has been started. It will be the value of the Characteristic if a* "Read using Characteristic UUID" has been performed.

                                  Event parameters

                                  +

                                  ACI_GATT_DISC_READ_CHAR_BY_UUID_RESP_EVENT

                                  Description

                                  This event can be generated during a "Discover Characteristics By UUID" procedure or a "Read using Characteristic UUID" procedure.
                                  The attribute value will be a service declaration as defined in Bluetooth spec. v.5.2 [Vol 3, Part G, 3.3.1], when a "Discover Characteristics By UUID" has been started. It will be the value of the Characteristic if a* "Read using Characteristic UUID" has been performed.

                                  Event parameters

                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6212,7 +6223,7 @@ A concatenation of attribute values for each of the attribute handles in the req

                                  Attribute_Value

                                  Attribute_Value_Length

                                  -

                                  The attribute value will be a service declaration as defined in Bluetooth Core v5.0 (vol.3, Part G, ch. 3.3.1), when a "Discover Characteristics By UUID" has been started. +

                                  The attribute value will be a service declaration as defined in Bluetooth spec. v.5.2 [Vol 3, Part G, 3.3.1], when a "Discover Characteristics By UUID" has been started. It will be the value of the Characteristic if a "Read using Characteristic UUID" has been performed.

                                  ACI_GATT_WRITE_PERMIT_REQ_EVENT

                                  Description

                                  This event is given to the application when a write request, write command or signed write command is received by the server from the client. This event will be given to the application only if the event bit for this event generation is set when the characteristic was added.
                                  When this event is received, the application has to check whether the value being requested for write can be allowed to be written and respond with the command ACI_GATT_WRITE_RESP.
                                  The details of the parameters of the command can be found. Based on the response from the application, the attribute value will be modified by the stack. If the write is rejected by the application, then the value of the attribute will not be modified. In case of a write REQ, an error response will be sent to the client, with the error code as specified by the application.
                                  In case of write/signed write commands, no response is sent to the client but the attribute is not modified.

                                  Event parameters

                                  @@ -6233,7 +6244,7 @@ It will be the value of the Characteristic if a "Read using Characteristic -

                                  Data_Length

                                  The data that the client has requested to write

                                  ACI_GATT_READ_PERMIT_REQ_EVENT

                                  Description

                                  This event is given to the application when a read request or read blob request is received by the server from the client. This event will be given to the application only if the event bit for this event generation is set when the characteristic was added.
                                  On receiving this event, the application can update the value of the handle if it desires and when done, it has to send the ACI_GATT_ALLOW_READ command to indicate to the stack that it can send the response to the client.

                                  Event parameters

                                  +

                                  ACI_GATT_READ_PERMIT_REQ_EVENT

                                  Description

                                  This event is given to the application when a read request or read blob request is received by the server from the client. This event will be given to the application only if the event bit for this event generation is set when the characteristic was added.
                                  On receiving this event, the application can update the value of the handle if it desires and when done, it must send the ACI_GATT_ALLOW_READ command to indicate to the stack that it can send the response to the client.

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6247,7 +6258,7 @@ It will be the value of the Characteristic if a "Read using Characteristic

                                  2

                                  Contains the offset from which the read has been requested

                                  ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT

                                  Description

                                  This event is given to the application when a read multiple request or read by type request is received by the server from the client. This event will be given to the application only if the event bit for this event generation is set when the characteristic was added.
                                  On receiving this event, the application can update the values of the handles if it desires and when done, it has to send the ACI_GATT_ALLOW_READ command to indicate to the stack that it can send the response to the client.

                                  Event parameters

                                  +

                                  ACI_GATT_READ_MULTI_PERMIT_REQ_EVENT

                                  Description

                                  This event is given to the application when a read multiple request or read by type request is received by the server from the client. This event will be given to the application only if the event bit for this event generation is set when the characteristic was added.
                                  On receiving this event, the application can update the values of the handles if it desires and when done, it must send the ACI_GATT_ALLOW_READ command to indicate to the stack that it can send the response to the client.

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6468,7 +6479,7 @@ Time = N * 1.25 msec.

                                  Data_Length

                                  Data field associated with Reason

                                  ACI_L2CAP_COC_CONNECT_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Connection Request packet. See Bluetooth Core specification Vol.3 Part A.

                                  Event parameters

                                  +

                                  ACI_L2CAP_COC_CONNECT_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Connection Request packet.
                                  See Bluetooth spec. v.5.2 [Vol 3, Part A].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6494,7 +6505,7 @@ Time = N * 1.25 msec.

                                  1

                                  Number of channels to be created. If this parameter is set to 0, it requests the creation of one LE credit based connection-oriented channel. Otherwise, it requests the creation of one or more enhanced credit based connection-oriented channels.

                                • 0 ... 5
                                • ACI_L2CAP_COC_CONNECT_CONFIRM_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Connection Response packet. See Bluetooth Core specification Vol.3 Part A.

                                  Event parameters

                                  +

                                  ACI_L2CAP_COC_CONNECT_CONFIRM_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Connection Response packet.
                                  See Bluetooth spec. v.5.2 [Vol 3, Part A].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6524,7 +6535,7 @@ Time = N * 1.25 msec.

                                  Channel_Number

                                  List of channel indexes for which the primitive applies.

                                  ACI_L2CAP_COC_RECONF_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Reconfigure Request packet. See Bluetooth Core specification Vol.3 Part A.

                                  Event parameters

                                  +

                                  ACI_L2CAP_COC_RECONF_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Reconfigure Request packet.
                                  See Bluetooth spec. v.5.2 [Vol 3, Part A].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6546,7 +6557,7 @@ Time = N * 1.25 msec.

                                  Channel_Number

                                  List of channel indexes for which the primitive applies.

                                  ACI_L2CAP_COC_RECONF_CONFIRM_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Reconfigure Response packet. See Bluetooth Core specification Vol.3 Part A.

                                  Event parameters

                                  +

                                  ACI_L2CAP_COC_RECONF_CONFIRM_EVENT

                                  Description

                                  This event is generated when receiving a valid Credit Based Reconfigure Response packet.
                                  See Bluetooth spec. v.5.2 [Vol 3, Part A].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Connection_Handle

                                  2

                                  @@ -6556,13 +6567,13 @@ Time = N * 1.25 msec.

                                  2

                                  This parameter indicates the outcome of the request. A value of 0x0000 indicates success while a non-zero value indicates the request is refused.

                                • 0x0000 ... 0x000C
                                • ACI_L2CAP_COC_DISCONNECT_EVENT

                                  Description

                                  This event is generated when a connection-oriented channel is disconnected following an L2CAP channel termination procedure. See Bluetooth Core specification Vol.3 Part A.

                                  Event parameters

                                  +

                                  ACI_L2CAP_COC_DISCONNECT_EVENT

                                  Description

                                  This event is generated when a connection-oriented channel is disconnected following an L2CAP channel termination procedure.
                                  See Bluetooth spec. v.5.2 [Vol 3, Part A].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Channel_Index

                                  1

                                  Index of the connection-oriented channel for which the primitive applies.

                                  ACI_L2CAP_COC_FLOW_CONTROL_EVENT

                                  Description

                                  This event is generated when receiving a valid Flow Control Credit signaling packet. See Bluetooth Core specification Vol.3 Part A.

                                  Event parameters

                                  +

                                  ACI_L2CAP_COC_FLOW_CONTROL_EVENT

                                  Description

                                  This event is generated when receiving a valid Flow Control Credit signaling packet.
                                  See Bluetooth spec. v.5.2 [Vol 3, Part A].

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Channel_Index

                                  1

                                  @@ -6572,7 +6583,7 @@ Time = N * 1.25 msec.

                                  2

                                  Number of credits the receiving device can increment, corresponding to the number of K-frames that can be sent to the peer device sending the Flow Control Credit packet.

                                • 1 ... 65535
                                • ACI_L2CAP_COC_RX_DATA_EVENT

                                  Description

                                  This event is generated when receiving a valid K-frame packet on a connection-oriented channel. See Bluetooth Core specification Vol.3 Part A.
                                  Note: for the first K-frame of the SDU, the Information data contains the L2CAP SDU Length coded on two octets followed by the K-frame information payload. For the next K-frames of the SDU, the Information data only contains the K-frame information payload.

                                  Event parameters

                                  +

                                  ACI_L2CAP_COC_RX_DATA_EVENT

                                  Description

                                  This event is generated when receiving a valid K-frame packet on a connection-oriented channel.
                                  See Bluetooth spec. v.5.2 [Vol 3, Part A].
                                  Note: for the first K-frame of the SDU, the Information data contains the L2CAP SDU Length coded on two octets followed by the K-frame information payload. For the next K-frames of the SDU, the Information data only contains the K-frame information payload.

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Channel_Index

                                  1

                                  @@ -6600,7 +6611,7 @@ Time = N * 1.25 msec.

                                  Y

                                  Y

                                  ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT

                                  Description

                                  This event is generated when the device completes a radio activity and provide information when a new radio acitivity will be performed.
                                  Informtation provided includes type of radio activity and absolute time in system ticks when a new radio acitivity is schedule, if any. Application can use this information to schedule user activities synchronous to selected radio activitities. A command ACI_HAL_SET_RADIO_ACTIVITY_MASK is provided to enable radio activity events of user interests, by default no events are enabled.
                                  User should take into account that enablinng radio events in application with intense radio activity could lead to a fairly high rate of events generated.
                                  Application use cases includes synchronizing notification with connection interval, switiching antenna at the end of advertising or performing flash erase operation while radio is idle.

                                  Event parameters

                                  +

                                  ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT

                                  Description

                                  This event is generated when the device completes a radio activity and provide information when a new radio activity will be performed.
                                  Information provided includes type of radio activity and absolute time in system ticks when a new radio activity is schedule, if any. Application can use this information to schedule user activities synchronous to selected radio activitities. A command ACI_HAL_SET_RADIO_ACTIVITY_MASK is provided to enable radio activity events of user interests, by default no events are enabled.
                                  User should take into account that enabling radio events in application with intense radio activity could lead to a fairly high rate of events generated.
                                  Application use cases includes synchronizing notification with connection interval, switching antenna at the end of advertising or performing flash erase operation while radio is idle.

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  Last_State

                                  1

                                  @@ -6614,7 +6625,7 @@ Time = N * 1.25 msec.

                                  4

                                  32bit absolute current time expressed in internal time units.

                                  ACI_HAL_SCAN_REQ_REPORT_EVENT

                                  Description

                                  This event is reported to the application after a scan request is received and a scan reponse is scheduled to be transmitted.

                                  Event parameters

                                  +

                                  ACI_HAL_SCAN_REQ_REPORT_EVENT

                                  Description

                                  This event is reported to the application after a scan request is received and a scan response is scheduled to be transmitted.

                                  Event parameters

                                  -
                                  ParameterSizeDescriptionPossible values

                                  RSSI

                                  1

                                  @@ -6647,7 +6658,7 @@ Units: dBm

                                  Data_Length

                                  The error event info

                                  Status error codes

                                  Status error codes are used for the return status of all commands. Only the codes from 0 to 0x3E are used for HCI commands (see Core Specification v5.0, Vol. 2, part D), while more codes are defined for ACI commands (see table below).

                                  +

                                  Status error codes

                                  Status error codes are used for the return status of all commands. Only the codes from 0 to 0x3E are used for HCI commands (see Core Specification Vol. 2, part D), while more codes are defined for ACI commands (see table below).

                                  - + - + + + + + + + + + @@ -3521,6 +3531,16 @@ How to use OnOff cluster as a server on a centralized Zigbee network. + + + + + + + + - + - + - + - +
                                  Status error codeDescription

                                  0x00

                                  Success

                                  diff --git a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC.a b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC.a index 8cbc4815a..b3f279d93 100644 Binary files a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC.a and b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC.a differ diff --git a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC_DEBUG.a b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC_DEBUG.a index 760c635ff..c86f0094e 100644 Binary files a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC_DEBUG.a and b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_GCC_DEBUG.a differ diff --git a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR.a b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR.a index 2d4da306d..314828748 100644 Binary files a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR.a and b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR.a differ diff --git a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR_DEBUG.a b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR_DEBUG.a index 5102b50fe..2fe07dffe 100644 Binary files a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR_DEBUG.a and b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_IAR_DEBUG.a differ diff --git a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil.lib b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil.lib index bb18d7218..45cc25085 100644 Binary files a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil.lib and b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil.lib differ diff --git a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil_DEBUG.lib b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil_DEBUG.lib index d87d684d5..eb4781e5b 100644 Binary files a/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil_DEBUG.lib and b/Middlewares/ST/STM32_WPAN/ble/mesh/Library/libBle_Mesh_CM4_Keil_DEBUG.lib differ diff --git a/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/lhci/lhci.c b/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/lhci/lhci.c index aeaed2812..7e6372c52 100644 --- a/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/lhci/lhci.c +++ b/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/lhci/lhci.c @@ -130,11 +130,8 @@ void LHCI_C1_Read_Device_Information( TL_CmdPacket_t *pcmd ) MB_RefTable_t * p_ref_table; ipccdba = READ_BIT(FLASH->IPCCBR, FLASH_IPCCBR_IPCCDBA); -#if(STM32WB15xx == 0) - p_ref_table = (MB_RefTable_t*)((ipccdba<<2) + (SRAM_BASE + 0x00030000)); -#else p_ref_table = (MB_RefTable_t*)((ipccdba<<2) + SRAM2A_BASE); -#endif + ((TL_EvtPacket_t*) pcmd)->evtserial.type = TL_LOCRSP_PKT_TYPE; ((TL_EvtPacket_t*) pcmd)->evtserial.evt.evtcode = TL_BLEEVT_CC_OPCODE; ((TL_EvtPacket_t*) pcmd)->evtserial.evt.plen = TL_EVT_HDR_SIZE + sizeof(LHCI_C1_Device_Information_ccrp_t); diff --git a/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c b/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c index dae16e3d4..d6e7c5656 100644 --- a/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c +++ b/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c @@ -668,12 +668,7 @@ SHCI_CmdStatus_t SHCI_GetWirelessFwInfo( WirelessFwInfo_t* pWirelessInfo ) * If the FUS is running on CPU2, FUS_DEVICE_INFO_TABLE_VALIDITY_KEYWORD shall be written in the table. * Otherwise, it means the Wireless Firmware is running on the CPU2 */ - -#if(STM32WB15xx == 0) - p_fus_device_info_table = (MB_FUS_DeviceInfoTable_t*)(*(uint32_t*)((ipccdba<<2) + (SRAM_BASE + 0x00030000))); -#else p_fus_device_info_table = (MB_FUS_DeviceInfoTable_t*)(*(uint32_t*)((ipccdba<<2) + SRAM2A_BASE)); -#endif if(p_fus_device_info_table->DeviceInfoTableState == FUS_DEVICE_INFO_TABLE_VALIDITY_KEYWORD) { @@ -696,12 +691,7 @@ SHCI_CmdStatus_t SHCI_GetWirelessFwInfo( WirelessFwInfo_t* pWirelessInfo ) else { /* The Wireless Firmware is running on CPU2 */ - -#if(STM32WB15xx == 0) - p_RefTable = (MB_RefTable_t*)((ipccdba<<2) + (SRAM_BASE + 0x00030000)); -#else p_RefTable = (MB_RefTable_t*)((ipccdba<<2) + SRAM2A_BASE); -#endif /** * Retrieve the WirelessFwInfoTable diff --git a/Middlewares/ST/STM32_WPAN/stm32_wpan_common.h b/Middlewares/ST/STM32_WPAN/stm32_wpan_common.h index cad9026d4..ada159b74 100644 --- a/Middlewares/ST/STM32_WPAN/stm32_wpan_common.h +++ b/Middlewares/ST/STM32_WPAN/stm32_wpan_common.h @@ -157,7 +157,7 @@ extern "C" { #define PACKED_STRUCT struct PACKED__ #elif defined (__ICCARM__) #define PACKED_STRUCT __packed struct -#elif +#else #define PACKED_STRUCT __packed struct #endif diff --git a/Middlewares/ST/STM32_WPAN/utilities/utilities_common.h b/Middlewares/ST/STM32_WPAN/utilities/utilities_common.h index 18163c36b..ac6c4323c 100644 --- a/Middlewares/ST/STM32_WPAN/utilities/utilities_common.h +++ b/Middlewares/ST/STM32_WPAN/utilities/utilities_common.h @@ -143,7 +143,7 @@ extern "C" { #define PACKED_STRUCT struct PACKED__ #elif defined (__ICCARM__) #define PACKED_STRUCT __packed struct -#elif +#else #define PACKED_STRUCT __packed struct #endif 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 5a4fe3cb1..61106b886 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 @@ -40,8 +40,8 @@ /** * Define Advertising parameters */ -#define CFG_ADV_BD_ADDRESS (0) -#define CFG_FAST_CONN_ADV_INTERVAL_MIN (0x80) /**< 80ms */ +#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 */ @@ -126,9 +126,9 @@ * When set to 1, the device is central * When set to 0, the device is peripheral */ -#define CFG_BLE_CENTRAL 1 +#define CFG_BLE_CENTRAL 0 -#define CFG_SERVER_ONLY 0 +#define CFG_SERVER_ONLY 1 /** * in this specific application, the device is either central * or peripheral but cannot be both @@ -284,7 +284,7 @@ /** * 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 (0xFFFF) +#define CFG_BLE_MAX_CONN_EVENT_LENGTH (0xFFFFFFFF) /** * Viterbi Mode @@ -423,7 +423,7 @@ #define CFG_RTCCLK_DIV (16) #define CFG_RTC_WUCKSEL_DIVIDER (0) -#define CFG_RTC_ASYNCH_PRESCALER (0x0F) +#define CFG_RTC_ASYNCH_PRESCALER (CFG_RTCCLK_DIV - 1) #define CFG_RTC_SYNCH_PRESCALER (0x7FFF) #else 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 e95c655cf..6bb14069c 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 @@ -169,8 +169,8 @@ * @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 VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY ((uint32_t)(1<<__NVIC_PRIO_BITS) - 1) /*!< tick interrupt priority (lowest by default) */ #define USE_RTOS 0U #define PREFETCH_ENABLE 1U #define INSTRUCTION_CACHE_ENABLE 1U diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject index 5c4119788..bd6b2ad6d 100644 --- a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject +++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_DataThroughput/STM32CubeIDE/.cproject @@ -26,6 +26,7 @@
                                  6

                                  Applications

                                  Applications

                                  BLE

                                  BLE_Beacon

                                  @@ -3261,7 +3261,7 @@ Use of the USB device application based on the Human Interface (HID). -

                                  Zigbee

                                  Zigbee

                                  Zigbee_APS_Coord

                                  How to use the APS layer in an application with a centralized Zigbee network. @@ -3471,6 +3471,16 @@ How to use OnOff cluster as a client on a centralized Zigbee network. CubeMx -

                                  Zigbee_OnOff_Client_Router_FreeRTOS

                                  +How to use OnOff cluster as a client on a centralized Zigbee network. +--X-

                                  Zigbee_OnOff_Client_Router_Ota

                                  @@ -3504,7 +3514,7 @@ How to use OnOff cluster with persistent data on a centralized Zigbee network.

                                  Zigbee_OnOff_Router_NVM

                                  -How to use OnOff cluster and the persistent data on a centralized Zigbee network. +How to use OnOff cluster with persistent data on a centralized Zigbee network. - -CubeMx -

                                  Zigbee_OnOff_Server_Coord_FreeRTOS

                                  +How to use OnOff cluster as a server on a centralized Zigbee network. +--X-

                                  Zigbee_OnOff_Server_Distrib

                                  @@ -3642,17 +3662,17 @@ user can send requests to the different boards through the push buttons in order -
                                  Total number of applications: 132Total number of applications: 134 1 18103105 10
                                  Total number of projects: 423Total number of projects: 425 11 19309311 84
                                  diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/Release_Notes.html b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/Release_Notes.html index 5587b0737..c48725ab9 100644 --- a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/Release_Notes.html +++ b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/Release_Notes.html @@ -33,6 +33,8 @@

                                  This software component is licensed by ST under Ultimate Liberty license SLA0044, the “License”;

                                  You may not use this file except in compliance with the License.

                                  You may obtain a copy of the License at: SLA0044

                                  +

                                  Known Limitations

                                  +

                                  If Anti-Rollback needs to be activated, please make sure to activate it only after installing the latest FUS version (>= V1.2.0) and after successfully installing a wireless stack (without deleting it). Otherwise, further wireless stack installation will be blocked.

                                  Purpose

                                  This release covers the delivery of STM32WB Coprocessor binaries.

                                  Here is the list of references to user documents:

                                  @@ -42,6 +44,17 @@

                                  Here is the list of the supported binaries:

                                    +
                                  • stm32wb1x_BLE_HCI_AdvScan_fw.bin +
                                      +
                                    • HCI Layer only mode 5.0 certified : Link Layer, HCI
                                    • +
                                    • BT SIG Certification listing : Declaration ID D042213
                                    • +
                                    • To be used for advertising and scanning through HCI interface
                                    • +
                                  • +
                                  • stm32wb1x_BLE_LLD_fw.bin +
                                      +
                                    • BLE LLD (Low Level Driver) Radio Transparent firmware
                                    • +
                                    • To be used for direct access on BLE LLD features and API
                                    • +
                                  • stm32wb1x_BLE_Stack_full_fw.bin
                                    • Full BLE Stack 5.0 certified : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database
                                    • @@ -53,7 +66,8 @@
                                    • GATT server, client
                                    • Data length extension
                                    • 2Mbit PHY / PHY update
                                    • -
                                    • Privacy / White list
                                    • +
                                    • Privacy
                                    • +
                                    • White list
                                    • Legacy Pairing, LE secure connections
                                    • HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin)
                                    • Direct Test Mode
                                    • @@ -71,10 +85,15 @@
                                    • GAP peripheral only (LL slave up to 2 links)
                                    • GATT server
                                    • Data length extension
                                    • +
                                    • Privacy
                                    • +
                                    • White list
                                    • Legacy Pairing, LE secure connections
                                    • HCI interface (reduced)
                                    • Direct Test Mode
                                  • +
                                  • BLE “Slave Only” stack implies that with this stack configuration, STM32WB is not able to scan and request a BLE connection.
                                  • +
                                  • It will just advertise, and accept incoming connection request from other master devices.
                                  • +
                                  • While with the “full feature” BLE stack, STM32WB1xx is able to support both master and slave roles on different links.
                                • stm32wb1x_BLE_HCILayer_fw.bin @@ -82,22 +101,17 @@
                                • HCI Layer only mode 5.0 certified : Link Layer, HCI with Direct Test Mode
                                • BT SIG Certification listing : Declaration ID D042213
                                • -
                                • stm32wb1x_BLE_LLD_fw.bin -
                                    -
                                  • BLE LLD (Low Level Driver) Radio Transparent firmware
                                  • -
                                  • To be used for direct access on BLE LLD features and API
                                  • -
                                • How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (STM32CubeProgrammer GUI)

                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • STEP 1: Use STM32CubeProgrammer GUI

                                      -
                                    • Version 2.5.0 or higher.

                                    • +
                                    • Version 2.7.0 or higher.

                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                                  • -
                                  • STEP 2: Access to “Erasing & Programming” in STM32CubeProgrammer GUI

                                    +
                                  • STEP 2: Access to SWD Interface (system flash)

                                    • For NUCLEO-WB15 :
                                        @@ -106,14 +120,11 @@
                                      • open STM32CubeProgrammer GUI and select “ST-LINK”
                                      • in ST-LINK configuration: (Port: SWD) then select “Connect”
                                    • -
                                    • STEP 3: Flash erase

                                      +
                                    • STEP 3: select “Start FUS” in Firmware Upgrade Services

                                    • +
                                    • STEP 4: Download new wireless stack (after “FW Delete” if requested)

                                        -
                                      • in Erase flash memory: select “Full chip erase”
                                      • -
                                    • -
                                    • STEP 4 : Download new wireless stack :

                                      -
                                        -
                                      • in Erasing & Programming/Download: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                                      • -
                                      • then select “Start programming” with “Verify download” and “Run after programming”
                                      • +
                                      • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                                      • +
                                      • then select “Firmware Upgrade” (with “Verify download” and “Start stack after upgrade”) Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary. (optional: activate “Anti-Rollback” on downloaded binary) If you need to perform FUS related manipulations, you always need to START the FUS in case the FUS is not running.

                                    How to compute available flash size

                                    @@ -128,11 +139,73 @@

                                    Update History

                                    - +

                                    Main Changes

                                    Associated changes in Wireless Coprocessor Binary:

                                      +
                                    • BLE : +
                                        +
                                      • ID 102917 : Apply “VCO patch” for all packages [STM32WB15/STM32WB10] to solve “RX path issue” at low temperatures on Slow corners
                                      • +
                                      • ID 102000 : [STM32WB55/STM32WB15]: Default CFG_BLE_MAX_CONN_EVENT_LENGTH value updated for all BLE examples
                                      • +
                                      • ID 99680 : 2nd link secure fail if master database is clear during 1st link connection
                                      • +
                                      • ID 101346 : ACI_GAP_BOND_LOST_Event timeout does not work if ALLOW rebond not sent
                                      • +
                                      • ID 101921 : PTS issue ticket done CASE0070853: destination channel ID value above 1000 should be allowed and test passed
                                      • +
                                      • ID 94289 ,ID 102395 ,ID 100425 : BLE_Ota application improvments (SBSFU ready, Flash driver use, SEM7 flash activity control)
                                      • +
                                    • +
                                    • install address updated
                                    • +
                                    +

                                    Wireless Coprocessor Binary Table: Provides Install address for the targeted binary to be used in flash procedure via SWD/JTAG.

                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    Wireless Coprocessor Binarystm32wb1x(320K)VersionDate
                                    stm32wb1x_BLE_HCILayer_fw.bin0x08032800v1.11.103/22/2021
                                    stm32wb1x_BLE_HCI_AdvScan_fw.bin0x0803C000v1.11.103/22/2021
                                    stm32wb1x_BLE_LLD_fw.bin0x0803E800v1.11.103/22/2021
                                    stm32wb1x_BLE_Stack_full_fw.bin0x0801C000v1.11.103/22/2021
                                    stm32wb1x_BLE_Stack_light_fw.bin0x08028000v1.11.103/22/2021
                                    +
                                    +
                                    +
                                    + +
                                    +

                                    Main Changes

                                    +

                                    Associated changes in Wireless Coprocessor Binary:

                                    +
                                    • Initial version of the binaries.

                                    Wireless Coprocessor Binary Table: Provides Install address for the targeted binary to be used in flash procedure via SWD/JTAG.

                                    @@ -153,7 +226,7 @@
                                  12/02/2021
                                  stm32wb5x_BLE_HCI_AdvScan_fw.binstm32wb1x_BLE_HCI_AdvScan_fw.bin 0x0803B800 v1.11.0 12/02/2021
                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                  Wireless Coprocessor BinarySTM32WB3x(512K)STM32WB3x(256K)VersionDate
                                  stm32wb3x_FUS_fw_for_fus_0_5_3.bin0x0807A0000x0803A000v1.2.004/06/2021
                                  stm32wb3x_FUS_fw.bin0x0807A0000x0803A000v1.2.004/06/2021
                                  +

                                  Wireless Coprocessor Binary Table: Provides Install address for the targeted binary to be used in flash procedure “STEP 7” via USB or via SWD/JTAG.

                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                  Wireless Coprocessor BinarySTM32WB3x(512K)STM32WB3x(256K)VersionDate
                                  stm32wb3x_BLE_HCILayer_fw.bin0x0806C0000x0802C000v1.11.103/22/2021
                                  stm32wb3x_BLE_HCI_AdvScan_fw.bin0x080760000x08036000v1.11.103/22/2021
                                  stm32wb3x_BLE_LLD_fw.bin0x080780000x08038000v1.11.103/22/2021
                                  stm32wb3x_BLE_Mac_802_15_4_fw.bin0x080410000x00v1.11.002/05/2021
                                  stm32wb3x_BLE_Stack_full_fw.bin0x080560000x08016000v1.11.103/22/2021
                                  stm32wb3x_BLE_Stack_light_fw.bin0x080620000x08022000v1.11.103/22/2021
                                  stm32wb3x_Mac_802_15_4_fw.bin0x0806F0000x0802F000v1.11.103/23/2021
                                  stm32wb3x_Phy_802_15_4_fw.bin0x0806A0000x0802A000v1.11.103/23/2021
                                  stm32wb3x_Thread_FTD_fw.bin0x080240000x00v1.11.103/23/2021
                                  stm32wb3x_Thread_MTD_fw.bin0x080370000x00v1.11.103/23/2021
                                  stm32wb3x_Zigbee_FFD_fw.bin0x080330000x00v1.11.103/23/2021
                                  stm32wb3x_Zigbee_RFD_fw.bin0x080410000x00v1.11.103/23/2021
                                  +
                                -
                                -

                                Update History

                                - +
                                -

                                Main Changes

                                +

                                Main Changes

                                Associated changes in Wireless Coprocessor Binary:

                                • Support of new binary: @@ -534,7 +679,7 @@
                                  -

                                  Main Changes

                                  +

                                  Main Changes

                                  Associated changes in Wireless Coprocessor Binary:

                                  • BLE: @@ -632,7 +777,7 @@
                                    -

                                    Main Changes

                                    +

                                    Main Changes

                                    Associated changes in Wireless Coprocessor Binary:

                                    • Introducing following new binary:
                                    • @@ -746,7 +891,7 @@
                                      -

                                      Main Changes

                                      +

                                      Main Changes

                                      Associated changes in Wireless Coprocessor Binary:

                                      • BLE: @@ -854,7 +999,7 @@
                                        -

                                        Main Changes

                                        +

                                        Main Changes

                                        Associated changes in Wireless Coprocessor Binary:

                                        • MAC: @@ -943,7 +1088,7 @@
                                          -

                                          Main Changes

                                          +

                                          Main Changes

                                          Associated changes in Wireless Coprocessor Binary:

                                          • Initial version of Wireless Coprocessor Binary compatible with STM32WB3x.
                                          • diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCILayer_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCILayer_fw.bin index d48db497f..6c26f237e 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCILayer_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCILayer_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCI_AdvScan_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCI_AdvScan_fw.bin index 8211b0b1a..1e6cc47ba 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCI_AdvScan_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_HCI_AdvScan_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_full_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_full_fw.bin index a4ec39df1..509bf8cd7 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_full_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_full_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_light_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_light_fw.bin index 06c59a278..c9525bc78 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_light_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_BLE_Stack_light_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw.bin index f79878fb6..5c5cb465e 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_1_0_2.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_1_0_2.bin index f75d7aff7..e69de29bb 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_1_0_2.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_1_0_2.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_for_fus_0_5_3.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_for_fus_0_5_3.bin new file mode 100644 index 000000000..86a14ad21 Binary files /dev/null and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_FUS_fw_for_fus_0_5_3.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Mac_802_15_4_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Mac_802_15_4_fw.bin index 5fb978ee2..0f1a7e6bf 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Mac_802_15_4_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Mac_802_15_4_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Phy_802_15_4_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Phy_802_15_4_fw.bin index 88482e7fb..df6fc41d5 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Phy_802_15_4_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Phy_802_15_4_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_FTD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_FTD_fw.bin index d3e9a00bd..9fbaa0402 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_FTD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_FTD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_MTD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_MTD_fw.bin index 5c5d798f4..d68415a01 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_MTD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Thread_MTD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_FFD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_FFD_fw.bin index 3f700d13c..ca28980f0 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_FFD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_FFD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_RFD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_RFD_fw.bin index 15a43fa42..4c2dd0dd5 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_RFD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/stm32wb3x_Zigbee_RFD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html index c2800fe22..a73dac3b1 100644 --- a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html +++ b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html @@ -33,6 +33,8 @@

                                            This software component is licensed by ST under Ultimate Liberty license SLA0044, the “License”;

                                            You may not use this file except in compliance with the License.

                                            You may obtain a copy of the License at: SLA0044

                                            +

                                            Known Limitations

                                            +

                                            If Anti-Rollback needs to be activated, please make sure to activate it only after installing the latest FUS version (>= V1.2.0) and after successfully installing a wireless stack (without deleting it). Otherwise, further wireless stack installation will be blocked.

                                            Purpose

                                            This release covers the delivery of STM32WB Coprocessor binaries.

                                            Here is the list of references to user documents:

                                            @@ -48,7 +50,7 @@
                                          • BT SIG Certification listing : Declaration ID D042213
                                          • To be used for advertising and scanning through HCI interface
                                        • -
                                        • stm32wb3x_BLE_LLD_fw.bin +
                                        • stm32wb5x_BLE_LLD_fw.bin
                                          • BLE LLD (Low Level Driver) Radio Transparent firmware
                                          • To be used for direct access on BLE LLD features and API
                                          • @@ -64,7 +66,8 @@
                                          • GATT server, client
                                          • Data length extension
                                          • 2Mbit PHY / PHY update
                                          • -
                                          • Privacy / White list
                                          • +
                                          • Privacy
                                          • +
                                          • White list
                                          • Legacy Pairing, LE secure connections
                                          • HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin)
                                          • Direct Test Mode
                                          • @@ -82,13 +85,15 @@
                                          • GAP peripheral only (LL slave up to 2 links)
                                          • GATT server
                                          • Data length extension
                                          • +
                                          • Privacy
                                          • +
                                          • White list
                                          • Legacy Pairing, LE secure connections
                                          • HCI interface (reduced)
                                          • Direct Test Mode
                                        • BLE “Slave Only” stack implies that with this stack configuration, STM32WB is not able to scan and request a BLE connection.
                                        • It will just advertise, and accept incoming connection request from other master devices (e.g. Smartphone).
                                        • -
                                        • While with the “full feature” BLE stack, STM32WB55xx is able to support both master and slave roles on different links (with the limitation of max 8 links in parallel, from which max 2 slave links).
                                        • +
                                        • While with the “full feature” BLE stack, STM32WB5xx is able to support both master and slave roles on different links (with the limitation of max 8 links in parallel, from which max 2 slave links).
                                    • stm32wb5x_BLE_HCILayer_fw.bin @@ -139,7 +144,7 @@
                                    • Zigbee Compliant Platform certified
                                    • To be used for End Device Zigbee role
                                  • -
                                  • stm32wb3x_BLE_Mac_802_15_4_fw.bin +
                                  • stm32wb5x_BLE_Mac_802_15_4_fw.bin
                                    • Static Concurrent Mode BLE MAC 802.15.4.
                                    • Supports Full BLE Stack 5.0 certified and MAC 802.15.4 API based on latest official IEEE Std 802.15.4-2011
                                    • @@ -168,9 +173,13 @@
                                  • stm32wb5x_FUS_fw_1_0_2.bin
                                      +
                                    • Deprecated (empty file).
                                    • +
                                  • +
                                  • stm32wb5x_FUS_fw_for_fus_0_5_3.bin +
                                    • Firmware Upgrade Services (FUS)
                                    • This binary is the utility to flash the Wireless Coprocessor Binaries.
                                    • -
                                    • FUS version v1.0.2
                                    • +
                                    • Latest version of the FUS to upgrade board containing only FUS v0.5.3
                                  • stm32wb5x_FUS_fw.bin
                                      @@ -179,14 +188,64 @@
                                    • Latest version of the FUS
                                  -

                                  How to flash the Wireless Coprocessor Binary via USB (Command Line Interface)

                                  +

                                  How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (STM32CubeProgrammer GUI)

                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • -
                                  • STEP 1: Use STM32CubeProgrammer

                                    +
                                  • STEP 1: Use STM32CubeProgrammer GUI

                                      -
                                    • Version 2.0 or higher.

                                    • +
                                    • Version 2.7.0 or higher.

                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • -
                                    • It is currently available as Command Line Interface (CLI) mode.

                                    • +
                                    • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                                    • +
                                  • +
                                  • STEP 2: Access to SWD Interface (system flash)

                                    +
                                      +
                                    • For P-NUCLEO-WB55.Nucleo : +
                                        +
                                      • Power ON via ST-LINK and Jumper JP1(USB_STL)
                                      • +
                                    • +
                                    • For P-NUCLEO-WB55.USBDongle : +
                                        +
                                      • remain switch SW2 to Boot1
                                      • +
                                      • Connect P-NUCLEO-WB55.USBDongle
                                      • +
                                    • +
                                    • open STM32CubeProgrammer GUI and select “ST-LINK”
                                    • +
                                    • in ST-LINK configuration: (Port: SWD) then select “Connect”
                                    • +
                                  • +
                                  • STEP 3: select “Start FUS” in Firmware Upgrade Services

                                  • +
                                  • STEP 4: Read and upgrade FUS Version

                                    +
                                      +
                                    • it can been obtained selecting “Read FUS infos” +
                                        +
                                      • 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                                      • +
                                      • 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                                      • +
                                      • 01020000: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                                      • +
                                    • +
                                  • +
                                  • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                                    +
                                      +
                                    • in Firmware Upgrade Services: (File Path: [stm32wb5x_FUS_fw_for_fus_0_5_3.bin], Start Adress: [Install@])
                                    • +
                                    • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                    • +
                                  • +
                                  • STEP 6: Download latest FUS

                                    +
                                      +
                                    • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
                                    • +
                                    • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                                    • +
                                  • +
                                  • STEP 7: Download new wireless stack (after “FW Delete” if requested)

                                    +
                                      +
                                    • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                                    • +
                                    • then select “Firmware Upgrade” (with “Verify download” and “Start stack after upgrade”) Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary. (optional: activate “Anti-Rollback” on downloaded binary) If you need to perform FUS related manipulations, you always need to START the FUS in case the FUS is not running.
                                    • +
                                  • +
                                  • STEP 8: Revert to default configuration: in Option Bytes menu for User Configuration set: nSWboot0=1 (checked) nboot1=1 nboot0=1

                                  • +
                                  +

                                  How to flash the Wireless Coprocessor Binary via USB (STM32CubeProgrammer GUI)

                                  +
                                    +
                                  • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                                  • +
                                  • STEP 1: Use STM32CubeProgrammer GUI

                                    +
                                      +
                                    • Version 2.7.0 or higher.

                                    • +
                                    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                                    • +
                                    • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                                  • STEP 2: Access to Bootloader USB Interface (system flash)

                                      @@ -203,43 +262,42 @@
                                    • Connect P-NUCLEO-WB55.USBDongle
                                • +
                                • Warning: required Option Byte configuration: [nSWboot0=1]

                                • +
                                • Open STM32CubeProgrammer GUI and select “USB” with (Port: USB1) in USB configuration then select “Connect”

                                -
                              • STEP 3 : Delete current wireless stack

                                -
                                  -
                                • STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
                                • -
                              • -
                              • STEP 4 : Read and upgrade FUS Version +
                              • STEP 3: step bypassed via USB

                              • +
                              • STEP 4: Read and upgrade FUS Version

                                  -
                                • STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1 +
                                • it can been obtained selecting “Read FUS infos”
                                    -
                                  • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
                                  • -
                                  • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
                                  • -
                                  • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
                                  • +
                                  • 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                                  • +
                                  • 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                                  • +
                                  • 01020000: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                              • -
                              • STEP 5 : Download FUS 1.0.2 (stm32wb5x_FUS_fw_1_0_2.bin):

                                +
                              • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                                  -
                                • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw_1_0_2.bin [Install@] firstinstall=0
                                • -
                                -

                                Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                              • -
                              • STEP 6 : Download latest FUS :

                                +
                              • in Firmware Upgrade Service: (File Path: [stm32wb5x_FUS_fw_for_fus_0_5_3.bin], Start Adress: [Install@])
                              • +
                              • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                              • +
                              +
                            • STEP 6: Download latest FUS

                                -
                              • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [FUS_Binary] [Install@] firstinstall=0
                              • -
                              -

                              Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                            • -
                            • STEP 7 : Download new wireless stack :

                              +
                            • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
                            • +
                            • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                            • +
                            +
                          • STEP 7: Download new wireless stack (after “FW Delete” if requested)

                              -
                            • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1
                            • -
                            -

                            Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary.

                          • -
                          • STEP 8 : Revert STEP 2 procedure to put back device in normal mode.

                          • +
                          • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                          • +
                          • then select “Firmware Upgrade” (with “Verify download” and “Start stack after upgrade”) Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                          • +
                          +
                        • STEP 8: Revert STEP 2 procedure to put back device in normal mode.

                        How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (Command Line Interface)

                        • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                        • STEP 1: Use STM32CubeProgrammer

                            -
                          • Version 2.4.0 or higher.

                          • +
                          • Version 2.7.0 or higher.

                          • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                          • It is currently available as Command Line Interface (CLI) mode.

                        • @@ -255,47 +313,47 @@
                        • Connect P-NUCLEO-WB55.USBDongle
                    • -
                    • STEP 3: Delete current wireless stack

                      +
                    • STEP 3: apply “Start FUS”

                        -
                      • STM32_Programmer_CLI.exe -c port=swd -fwdelete
                      • +
                      • STM32_Programmer_CLI.exe -c port=swd -startfus
                    • -
                    • STEP 4 : Read and upgrade FUS Version (if unknown FUS version)

                      +
                    • STEP 4: Read and upgrade FUS Version

                        -
                      • it can been obtained with Transparent Mode application from STM32CubeMonitor-RF interface or using other flashing method via USB described in RN. +
                      • STM32_Programmer_CLI.exe -c port=swd mode=UR -r32 0x20010010 1
                          -
                        • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
                        • -
                        • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
                        • -
                        • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
                        • +
                        • @0x20010010: 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                        • +
                        • @0x20010010: 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                        • +
                        • @0x20010010: 01020X00: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                    • -
                    • STEP 5 : Download FUS v1.0.2:

                      +
                    • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                        -
                      • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade stm32wb5x_FUS_fw_1_0_2.bin [Install@] firstinstall=0
                      • +
                      • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade stm32wb5x_FUS_fw_for_fus_0_5_3.bin [Install@] firstinstall=0

                      Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                    • -
                    • STEP 6 :Download latest FUS:

                      +
                    • STEP 6: Download latest FUS

                      • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade [FUS_Binary] [Install@] firstinstall=0

                      Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

                    • -
                    • STEP 7 : Download new wireless stack :

                      +
                    • STEP 7: Download new wireless stack

                        -
                      • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1
                      • +
                      • STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=0
                      -

                      Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary.

                    • -
                    • STEP 8 : Revert to default OB configuration :

                      +

                      Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary. (optional: activate “Anti-Rollback” on downloaded binary: STM32_Programmer_CLI.exe -c port=swd -antirollback) If you need to perform FUS related manipulations, you always need to START the FUS in case the FUS is not running.

                    • +
                    • STEP 8: Revert to default OB configuration

                      • *STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=1 nboot1=1 nboot0=1
                    -

                    How to flash the Wireless Coprocessor Binary via USB (STM32CubeProgrammer GUI)

                    +

                    How to flash the Wireless Coprocessor Binary via USB (Command Line Interface)

                    • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

                    • -
                    • STEP 1: Use STM32CubeProgrammer GUI

                      +
                    • STEP 1: Use STM32CubeProgrammer

                        -
                      • Version 2.4.0 or higher.

                      • +
                      • Version 2.7 or higher.

                      • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                      • -
                      • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                      • +
                      • It is currently available as Command Line Interface (CLI) mode.

                    • STEP 2: Access to Bootloader USB Interface (system flash)

                        @@ -312,107 +370,312 @@
                      • Connect P-NUCLEO-WB55.USBDongle
                    -
                  • open STM32CubeProgrammer GUI and select “USB”
                  • -
                  • in USB configuration: (Port: USB1) then select “Connect”
                  • +
                  • Warning: required Option Byte configuration: [nSWboot0=1]
                  -
                • STEP 3 : Delete current wireless stack

                  +
                • STEP 3: step bypassed via USB

                • +
                • STEP 4: Read and upgrade FUS Version

                    -
                  • in Firmware Upgrade Services: select “Delete Firmware”
                  • -
                • -
                • STEP 4 : Read and upgrade FUS Version

                  -
                    -
                  • in Firmware Upgrade Services: select “Read FUS state” +
                  • STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
                      -
                    • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
                    • -
                    • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
                    • -
                    • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
                    • +
                    • @0x20030030: 00050300: FUSv0.5.3 => Must be updated using STEP 5.
                    • +
                    • @0x20030030: 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
                    • +
                    • @0x20030030: 01020X00: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
                • -
                • STEP 5 : Download FUS v1.0.2 :

                  +
                • STEP 5: Download latest FUS for only FUSv0.5.3 upgrade

                    -
                  • in Firmware Upgrade Service: (File Path: [stm32wb5x_FUS_fw_1_0_2.bin], Start Adress: [Install@])
                  • -
                  • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                  • -
                • -
                • STEP 6 :Download latest FUS :

                  +
                • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw_for_fus_0_5_3.bin [Install@] firstinstall=0
                • +
                +

                Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

              • +
              • STEP 6: Download latest FUS

                  -
                • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
                • -
                • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                • +
                • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [FUS_Binary] [Install@] firstinstall=0 Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
              • -
              • STEP 7 : Download new wireless stack :

                +
              • STEP 7: Download new wireless stack

                  -
                • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
                • -
                • then select “Firmware Upgrade” with “Verify download” and “Start stack after upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
                • +
                • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=0 Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary.
              • -
              • STEP 8 : Revert STEP 2 procedure to put back device in normal mode.

              • +
              • STEP 8: Revert STEP 2 procedure to put back device in normal mode.

              -

              How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (STM32CubeProgrammer GUI)

              -
                -
              • Inside the below procedure, the references to binaries name and install address are provided in the section Main Changes of this file.

              • -
              • STEP 1: Use STM32CubeProgrammer GUI

                -
                  -
                • Version 2.4.0 or higher.

                • -
                • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

                • -
                • It is currently available as Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).

                • -
              • -
              • STEP 2: Access to SWD Interface (system flash)

                -
                  -
                • For P-NUCLEO-WB55.Nucleo : +

                  How to compute available flash size

                    -
                  • Power ON via ST-LINK and Jumper JP1(USB_STL)
                  • -
                • -
                • For P-NUCLEO-WB55.USBDongle : +
                • The default linker file is provided in [\Drivers\CMSIS\Device\ST32WBxx\Source\Templates].

                  +

                  The maximum flash memory that can be used by the application is up to the Secure Flash Start Address (SFSA) that can be read from the option byte.

                  +

                  The ICFEDIT_region_ROM_end in the linker can be modified with a value up to : (0x08000000 + (SFSA << 12)) - 1.

                • +
                • Example: When the SFSA option byte is set to 0xA0, the maximum value to be used for __ICFEDIT_region_ROM_end is 0x0809FFFF – which is 640KB of flash

                • +
                • Note: The SFSA option byte can only be set by the CPU2. The user cannot modify that value.

                • +
                +
              +
              +

              Update History

              +
              + +
              +

              Main Changes

                -
              • remain switch SW2 to Boot1
              • -
              • Connect P-NUCLEO-WB55.USBDongle
              • -
              -
            • open STM32CubeProgrammer GUI and select “ST-LINK”
            • -
            • in ST-LINK configuration: (Port: SWD) then select “Connect”
            • -
          • -
          • STEP 3: Delete current wireless stack

            +
          • BLE:
              -
            • in Firmware Upgrade Services: select “Delete Firmware”
            • +
            • ID 102000 : [STM32WB55/STM32WB15]: Default CFG_BLE_MAX_CONN_EVENT_LENGTH value updated for all BLE examples
            • +
            • ID 99680 : 2nd link secure fail if master database is clear during 1st link connection
            • +
            • ID 101346 : ACI_GAP_BOND_LOST_Event timeout does not work if ALLOW rebond not sent
            • +
            • ID 101921 : PTS issue ticket done CASE0070853: destination channel ID value above 1000 should be allowed and test passed
            • +
            • ID 94289 ,ID 102395 ,ID 100425 : BLE_Ota application improvments (SBSFU ready, Flash driver use, SEM7 flash activity control)
          • -
          • STEP 4 : Read and upgrade FUS Version (if unknown FUS version)

            +
          • Thread:
              -
            • it can been obtained with Transparent Mode application from STM32CubeMonitor-RF interface or using other flashing method via USB described in RN. -
                -
              • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
              • -
              • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Must be updated using STEP 6.
              • -
              • 0x20030030 : 01010200 : FUSv1.1.2 => Up to date, you can download the new wireless stack using STEP 7.
              • -
            • +
            • ID 102357 : High power consumption after exactly 3 minutes in Thread_SED_Coap_Multicast example
          • -
          • STEP 5 : Download FUS v1.0.2 :

            +
          • Zigbee:
              -
            • in Firmware Upgrade Services: (File Path: [stm32wb5x_FUS_fw_1_0_2.bin], Start Adress: [Install@])
            • -
            • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
            • +
            • ID 100612 : Zigbee stack not going back in low power mode after SF timer wrap-around
          • -
          • STEP 6 :Download latest FUS :

            +
          • MAC 802.15.4:
              -
            • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
            • -
            • then select “Firmware Upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
            • +
            • ID 95824 : stm32wb5x_Mac_802_15_4_fw.bin will change RCC_CFGR value even if user wants to use PLL for CM4 64MHz
          • -
          • STEP 7 : Download new wireless stack :

            +
          • FUS binaries upgrade to v1.2.0:
              -
            • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
            • -
            • then select “Firmware Upgrade” with “Verify download” and “Start stack after upgrade” Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
            • +
            • New stm32wb5x_FUS_fw_for_fus_0_5_3.bin: FUS V1.2.0 image to be installed exclusively on STM32WB5x containing FUS V0.5.3
            • +
            • updated stm32wb5x_FUS_fw.bin: FUS V1.2.0 image to be installed on STM32WB5x containing all FUS versions higher than V0.5.3
            • +
            • stm32wb5x_FUS_fw_1_0_2.bin: Deprecated (empty file).
          • -
          • STEP 8 : Revert to default configuration: in Option Bytes menu for User Configuration set: nSWboot0=1 (checked) nboot1=1 nboot0=1

          • -
          -

          How to compute available flash size

          -
            -
          • The default linker file is provided in [\Drivers\CMSIS\Device\ST32WBxx\Source\Templates].

            -

            The maximum flash memory that can be used by the application is up to the Secure Flash Start Address (SFSA) that can be read from the option byte.

            -

            The ICFEDIT_region_ROM_end in the linker can be modified with a value up to : (0x08000000 + (SFSA << 12)) - 1.

          • -
          • Example: When the SFSA option byte is set to 0xA0, the maximum value to be used for __ICFEDIT_region_ROM_end is 0x0809FFFF – which is 640KB of flash

          • -
          • Note: The SFSA option byte can only be set by the CPU2. The user cannot modify that value.

          +

          Firmware Upgrade Services Binary Table: Provides Install address for the targeted binary to be used in flash procedure “STEP 5/6” via USB or via SWD/JTAG.

          + +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Wireless Coprocessor BinarySTM32WB5xxG(1M)STM32WB5xxY(640k)STM32WB5xxE(512K)STM32WB5xxC(256K)VersionDate
          stm32wb5x_FUS_fw_for_fus_0_5_3.bin0x080EC0000x0809A0000x0807A0000x0803A000v1.2.004/06/2021
          stm32wb5x_FUS_fw.bin0x080EC0000x0809A0000x0807A0000x0803A000v1.2.004/06/2021
          +

          Wireless Coprocessor Binary Table: Provides Install address for the targeted binary to be used in flash procedure “STEP 7” via USB or via SWD/JTAG.

          + +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Wireless Coprocessor BinarySTM32WB5xxG(1M)STM32WB5xxY(640k)STM32WB5xxE(512K)STM32WB5xxC(256K)VersionDate
          stm32wb5x_BLE_HCILayer_fw.bin0x080E00000x0808C0000x0806C0000x802C000v1.11.103/22/2021
          stm32wb5x_BLE_HCI_AdvScan_fw.bin0x080EA0000x080960000x080760000x8036000v1.11.103/22/2021
          stm32wb5x_BLE_LLD_fw.bin0x080EC0000x080980000x080780000x08038000v1.11.002/05/2021
          stm32wb5x_BLE_Mac_802_15_4_fw.bin0x080B50000x080610000x080410000x08001000v1.11.002/05/2021
          stm32wb5x_BLE_Stack_full_fw.bin0x080CA0000x080760000x080560000x8016000v1.11.103/22/2021
          stm32wb5x_BLE_Stack_light_fw.bin0x080D60000x080820000x080620000x8022000v1.11.103/22/2021
          stm32wb5x_BLE_Thread_dynamic_fw.bin0x080700000x0801C0000x000x00v1.11.002/05/2021
          stm32wb5x_BLE_Thread_static_fw.bin0x080720000x0801E0000x000x00v1.11.002/05/2021
          stm32wb5x_BLE_Zigbee_FFD_dynamic_fw.bin0x080770000x080230000x080030000x00v1.11.002/05/2021
          stm32wb5x_BLE_Zigbee_FFD_static_fw.bin0x080790000x080250000x080050000x00v1.11.002/05/2021
          stm32wb5x_BLE_Zigbee_RFD_dynamic_fw.bin0x080860000x080320000x080120000x00v1.11.002/05/2021
          stm32wb5x_BLE_Zigbee_RFD_static_fw.bin0x080870000x080330000x080130000x00v1.11.002/05/2021
          stm32wb5x_Mac_802_15_4_fw.bin0x080E30000x0808F0000x0806F0000x0802F000v1.11.103/23/2021
          stm32wb5x_Phy_802_15_4_fw.bin0x080DE0000x0808A0000x0806A0000x0802A000v1.11.103/23/2021
          stm32wb5x_Thread_FTD_fw.bin0x080980000x080440000x080240000x00v1.11.103/23/2021
          stm32wb5x_Thread_MTD_fw.bin0x080AB0000x080570000x080370000x00v1.11.103/23/2021
          stm32wb5x_Zigbee_FFD_fw.bin0x080A70000x080530000x080330000x00v1.11.103/23/2021
          stm32wb5x_Zigbee_RFD_fw.bin0x080B50000x080610000x080410000x08001000v1.11.103/23/2021
          +
          -
          -

          Update History

          - +
          -

          Main Changes

          +

          Main Changes

          Associated changes in Wireless Coprocessor Binary:

          • Support of new binary: @@ -693,7 +956,7 @@
            -

            Main Changes

            +

            Main Changes

            Associated changes in Wireless Coprocessor Binary:

            • BLE: @@ -936,7 +1199,7 @@
              -

              Main Changes

              +

              Main Changes

              Associated changes in Wireless Coprocessor Binary:

              • Introducing following new binaries: @@ -1225,7 +1488,7 @@
                -

                Main Changes

                +

                Main Changes

                Associated changes in Wireless Coprocessor Binary:

                • BLE: @@ -1421,7 +1684,7 @@
                  -

                  Main Changes

                  +

                  Main Changes

                  Associated changes in Wireless Coprocessor Binary:

                  • MAC: @@ -1617,7 +1880,7 @@
                    -

                    Main Changes

                    +

                    Main Changes

                    Associated changes in Wireless Coprocessor Binary:

                    • FUS: @@ -1809,7 +2072,7 @@ then #define CFG_BLE_NUM_LINK in app_conf.h shall be updated accordingly.
                    • -

                      Main Changes

                      +

                      Main Changes

                      Associated changes in Wireless Coprocessor Binary:

                      • ZIGBEE : @@ -1954,7 +2217,7 @@ then #define CFG_BLE_NUM_LINK in app_conf.h shall be updated accordingly.
                      • -

                        Main Changes

                        +

                        Main Changes

                        Associated changes in Wireless Coprocessor Binary:

                        • ZIGBEE : @@ -2094,7 +2357,7 @@ then #define CFG_BLE_NUM_LINK in app_conf.h shall be updated accordingly.
                        • -

                          Main Changes

                          +

                          Main Changes

                          Associated changes in Wireless Coprocessor Binary:

                          • BLE Link layer : fix issues with pairing
                          • @@ -2207,7 +2470,7 @@ then #define CFG_BLE_NUM_LINK in app_conf.h shall be updated accordingly.
                            -

                            Main Changes

                            +

                            Main Changes

                            Associated changes in Firmware Upgrade Services (FUS):

                            • Add support for STM32WB5xE(512K) and STM32WB5xC(256K) devices.
                            • @@ -2313,7 +2576,7 @@ then #define CFG_BLE_NUM_LINK in app_conf.h shall be updated accordingly.
                              -

                              Main Changes

                              +

                              Main Changes

                              Introduction of the Firmware Upgrade Services (FUS):

                              • This feature is embedded inside stm32wb5x_FUS_fw.bin.
                              • @@ -2422,7 +2685,7 @@ then #define CFG_BLE_NUM_LINK in app_conf.h shall be updated accordingly.
                                -

                                Main Changes

                                +

                                Main Changes

                                First release

                                First official release.

                                Binary Install Address and version : Provides Install address for the targeted binary to be used in “STEP 6” of flash procedure.

                                diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin index d48db497f..6c26f237e 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCI_AdvScan_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCI_AdvScan_fw.bin index 8211b0b1a..1e6cc47ba 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCI_AdvScan_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCI_AdvScan_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_full_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_full_fw.bin index a4ec39df1..509bf8cd7 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_full_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_full_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_light_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_light_fw.bin index 06c59a278..c9525bc78 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_light_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_light_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw.bin index f79878fb6..5c5cb465e 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_1_0_2.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_1_0_2.bin index f75d7aff7..e69de29bb 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_1_0_2.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_1_0_2.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_for_fus_0_5_3.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_for_fus_0_5_3.bin new file mode 100644 index 000000000..86a14ad21 Binary files /dev/null and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_for_fus_0_5_3.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Mac_802_15_4_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Mac_802_15_4_fw.bin index 5fb978ee2..0f1a7e6bf 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Mac_802_15_4_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Mac_802_15_4_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Phy_802_15_4_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Phy_802_15_4_fw.bin index 88482e7fb..df6fc41d5 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Phy_802_15_4_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Phy_802_15_4_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_FTD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_FTD_fw.bin index d3e9a00bd..9fbaa0402 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_FTD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_FTD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_MTD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_MTD_fw.bin index 5c5d798f4..d68415a01 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_MTD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Thread_MTD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_FFD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_FFD_fw.bin index 3f700d13c..ca28980f0 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_FFD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_FFD_fw.bin differ diff --git a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_RFD_fw.bin b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_RFD_fw.bin index 15a43fa42..4c2dd0dd5 100644 Binary files a/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_RFD_fw.bin and b/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_Zigbee_RFD_fw.bin differ diff --git a/Release_Notes.html b/Release_Notes.html index b06b141fc..d5a39f323 100644 --- a/Release_Notes.html +++ b/Release_Notes.html @@ -87,9 +87,604 @@

                                Update History

                                - +

                                Main Changes

                                +

                                Patch Release for FUS security update and Wireless protocols corrections

                                +
                                  +
                                • FUS: +
                                    +
                                  • Add functional security enhancements
                                  • +
                                • +
                                • BLE: +
                                    +
                                  • STM32WB15/WB10 VCO settings update to enhance RX path
                                  • +
                                  • Data throughput enhancement on all projects
                                  • +
                                  • Ability to reconnect in secure mode on a 2nd link if master database is clear during 1st link connection
                                  • +
                                  • Resolution of ACI_GAP_BOND_LOST_Event timeout in case Allow_rebond is not sent
                                  • +
                                  • PTS issue ticket done CASE0070853: destination channel ID value above 1000 should be allowed and test passed
                                  • +
                                  • BLE_Ota application improved to be SBSFU ready and support Flash driver use / SEM7 flash activity control
                                  • +
                                • +
                                • Thread: +
                                    +
                                  • Power consumption enhancement when running above 3mn in Thread_SED_Coap_Multicast example   
                                  • +
                                • +
                                • Zigbee: +
                                    +
                                  • Allow Zigbee stack to go in low power mode after SF timer wrap-around
                                  • +
                                  • Add support of 2 new Zigbee FreeRTOS example applications (IAR only): +
                                      +
                                    • /P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS
                                    • +
                                    • /P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS  
                                    • +
                                  • +
                                • +
                                • MAC 802.15.4: +
                                    +
                                  • Allow the user to set the PLL @64MHz for CM4
                                  • +
                                • +
                                +


                                +

                                +

                                Contents

                                +

                                Projects

                                +

                                The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                                +

                                The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                                + +


                                +

                                +

                                Components

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                STM32WBx Firmware Upgrade Services Binary
                                NameVersionLicenseRelease note
                                stm32wb5x_FUS_fw.binV1.2.0SLA0044 (binary release)release note
                                stm32wb5x_FUS_fw_for_fus_0_5_3.binV1.2.0SLA0044 (binary release)release note
                                stm32wb5x_FUS_fw_1_0_2.binObsoleteSLA0044 (binary release)release note
                                stm32wb3x_FUS_fw.binV1.2.0SLA0044 (binary release)release note
                                stm32wb3x_FUS_fw_1_0_2.binObsoleteSLA0044 (binary release)release note
                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                STM32WBxx Coprocessor Wireless Binaries
                                NameVersionLicenseRelease note
                                stm32wb5x_BLE_HCILayer_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_BLE_HCI_AdvScan_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_BLE_LLD_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_BLE_Mac_802_15_4_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_BLE_Stack_full_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_BLE_Stack_light_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_BLE_Thread_dynamic_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_BLE_Thread_static_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_BLE_Zigbee_FFD_dynamic_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_BLE_Zigbee_FFD_static_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_BLE_Zigbee_RFD_dynamic_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_BLE_Zigbee_RFD_static_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb5x_Mac_802_15_4_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_Phy_802_15_4_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_Thread_FTD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_Thread_MTD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_Zigbee_FFD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb5x_Zigbee_RFD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_BLE_HCILayer_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_BLE_HCI_AdvScan_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_BLE_LLD_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb3x_BLE_Mac_802_15_4_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb3x_BLE_Stack_full_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_BLE_Stack_light_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_Mac_802_15_4_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_Phy_802_15_4_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_Thread_FTD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_Thread_MTD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_Zigbee_FFD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb3x_Zigbee_RFD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb1x_BLE_HCILayer_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb1x_BLE_Stack_full_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb1x_BLE_Stack_light_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb1x_BLE_HCILayer_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb1x_BLE_HCI_AdvScan_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb1x_BLE_LLD_fw.binV1.11.1SLA0044 (binary release)release note
                                stm32wb1x_BLE_Stack_full_fw.binV1.11.0SLA0044 (binary release)release note
                                stm32wb1x_BLE_Stack_light_fw.binV1.11.0SLA0044 (binary release)release note
                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                Drivers
                                NameVersionLicenseRelease note
                                Cortex-M CMSISV5.6.0Apache License 2.0release notes
                                STM32WB CMSISV1.8.0Apache License 2.0release notes
                                STM32WBxx_HAL_DriverV1.8.0BSD 3-Clauserelease notes
                                P-NUCLEO-WB55.USBDongleV1.0.2BSD 3-Clauserelease notes
                                P-NUCLEO-WB55.NucleoV1.0.2BSD 3-Clauserelease notes
                                STM32WB5MM-DKV1.0.0BSD 3-Clauserelease notes
                                NUCLEO-WB15CCV1.0.0BSD 3-Clauserelease notes
                                BSP CommonV7.0.0BSD 3-Clauserelease notes
                                BSP stts22hV1.1.1BSD 3-Clauserelease notes
                                BSP ism330dhcxV1.0.2BSD 3-Clauserelease notes
                                BSP ssd1315V2.0.0BSD 3-Clauserelease notes
                                BSP s25fl128sV1.0.0BSD 3-Clauserelease notes
                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                Middleware
                                NameVersionLicenseRelease note
                                STM32 USB Device LibraryV2.7.1SLA0044release notes
                                STM32 WPANV1.11.0SLA0044release notes
                                FatFSR0.12cFatFs Licenserelease notes
                                ST modified 20191011SLA0044release notes ST
                                FreeRTOSV10.2.1MITrelease notes
                                ST modified 20200831SLA0044release notes ST
                                STM32_TouchSensing_LibraryV2.2.5SLA0044release notes
                                PDMv3.3.0SLA0047release notes
                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                Utilities
                                NameVersionLicenseRelease note
                                CPUV1.1.0BSD 3-Clauserelease notes
                                FontsV2.0.2BSD 3-Clauserelease notes
                                LogV1.0.0BSD 3-Clauserelease notes
                                confV1.4.1BSD 3-Clauserelease notes
                                lpmV1.3.1BSD 3-Clauserelease notes
                                sequencerV1.5.1BSD 3-Clauserelease notes
                                LCDV2.0.0BSD 3-Clauserelease notes
                                +

                                Known Limitations

                                +
                                  +
                                • FUS upgrade: +
                                    +
                                  • If Anti-Rollback needs to be activated, please make sure to activate it only after installing the latest FUS version (>= V1.2.0) and after successfully installing a wireless stack (without deleting it). Otherwise, further wireless stack installation will be blocked.
                                  • +
                                • +
                                • stm32wb5x_BLE_Zigbee_FFD_static_fw.bin and stm32wb5x_BLE_Zigbee_RFD_static_fw.bin:

                                  +
                                    +
                                  • When using the static concurrent mode BLE/Zigbee binaries, due to a memory leak inside Zigbee shutdown procedure, the number of transitions from Zigbee to BLE is limited. This number depends on the available memory for the application. For instance, the BLE_Zigbee_Static application, available inside this package, faces this limitation after 10 transition average.
                                  • +
                                  • The workaround is to rely on the dynamic concurrent mode provided by stm32wb5x_BLE_Zigbee_FFD_dynamic_fw.bin which is not facing this limitation.
                                  • +
                                  • This limitation will be corrected inside a future release and is referenced under ID95417.
                                  • +
                                • +
                                • Application Zigbee_Commissioning_Server_Router:

                                  +
                                    +
                                  • For STM32CubeIDE project, some elements inside the traces are not correctly displayed (uint64_t formatting only). Not observable on IAR and MDK-ARM project.
                                  • +
                                • +
                                • The stm32wb5x_BLE_Zigbee_RFD_dynamic_fw coprocessor wireless binary must be flashed only using the USB interface (as defined in the release note located in the STM32WB_Copro_Wireless_Binaries folder). It is not possible to flash this binary via ST-LINK.
                                • +
                                • BLE_DataThroughput known throughput limitation at 2M PHY with Cube IDE project in debug configuration

                                • +
                                +

                                Development Toolchains and Compilers

                                +
                                  +
                                • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                                • +
                                • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                                • +
                                • STM32CubeIDE toolchain V1.4.0 + ST-Link
                                • +
                                +

                                Supported Devices and boards

                                +
                                  +
                                • STM32WB55xx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.
                                • +
                                • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle.
                                • +
                                • STM32WB5MM-DK board
                                • +
                                • NUCLEO-WB15CC board
                                • +
                                +

                                Dependencies

                                +

                                This software release is compatible with:

                                +
                                  +
                                • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                                • +
                                +

                                Several applications (BLE (Bluetooth low energy), Thread or Mac 802-15-4) are available under:

                                +
                                  +
                                • Projects/P-NUCLEO-WB55.Nucleo/Applications
                                • +
                                • Projects/P-NUCLEO-WB55.USBDongle/Applications
                                • +
                                • Projects/NUCLEO-WB15CC/Applications
                                • +
                                +

                                All of them are provided in source code and some of them are also available in binary format directly for ready to use usage:

                                +
                                  +
                                • Projects/P-NUCLEO-WB55.Nucleo/Applications/xxx/Binary/.hex
                                • +
                                • Projects/P-NUCLEO-WB55.USBDongle/Applications/xxx/Binary/.hex
                                • +
                                • Projects/NUCLEO-WB15CC/Applications/xxx/Binary/.hex
                                • +
                                +

                                Each of them require a different coprocessor binary in order to behave correctly. This is documented inside each readme.txt of those applications.

                                +

                                For a detailed explanation on how to use and how to flash them, you can refer to:

                                + +
                                +
                                +
                                + +
                                +

                                Main Changes

                                Add new devices STM32WB15xx, STM32WB10xx and new boards STM32WB5MM-DK and NUCLEO-WB15CC

                                • Introduce HAL, LL and STM32WPAN support for stm32wb15xx and stm32wb10xx
                                • @@ -146,8 +741,8 @@
                                • Minor fixes in DRLC, Voice over Zigbee & RSSI location Clusters
                              -

                              Contents

                              -

                              Projects

                              +

                              Contents

                              +

                              Projects

                              The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                              The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                              -

                              Components

                              +

                              Components

                              @@ -636,7 +1231,7 @@
                              STM32WBx Firmware Upgrade Services Binary
                              -

                              Known Limitations

                              +

                              Known Limitations

                              • stm32wb5x_BLE_Zigbee_FFD_static_fw.bin and stm32wb5x_BLE_Zigbee_RFD_static_fw.bin:

                                  @@ -650,20 +1245,20 @@
                              • The stm32wb5x_BLE_Zigbee_RFD_dynamic_fw coprocessor wireless binary must be flashed only using the USB interface (as defined in the release note located in the STM32WB_Copro_Wireless_Binaries folder). It is not possible to flash this binary via ST-LINK.

                              -

                              Development Toolchains and Compilers

                              +

                              Development Toolchains and Compilers

                              • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                              • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                              • STM32CubeIDE toolchain V1.4.0 + ST-Link
                              -

                              Supported Devices and boards

                              +

                              Supported Devices and boards

                              • STM32WB55xx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.
                              • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle.
                              • STM32WB5MM-DK board
                              • NUCLEO-WB15CC board
                              -

                              Dependencies

                              +

                              Dependencies

                              This software release is compatible with:

                              • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                              • @@ -692,7 +1287,7 @@
                                -

                                Main Changes

                                +

                                Main Changes

                                Introduce Zigbee applications compatible with STM32CubeMX 6.1.0

                                • BLE-Mesh library version 1.13.001:

                                  @@ -715,15 +1310,15 @@
                            -

                            Contents

                            -

                            Projects

                            +

                            Contents

                            +

                            Projects

                            The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                            The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                            -

                            Components

                            +

                            Components

                            @@ -1029,7 +1624,7 @@
                            STM32WB5x Firmware Upgrade Services Binary
                            -

                            Known Limitations

                            +

                            Known Limitations

                            • stm32wb5x_BLE_Zigbee_FFD_static_fw.bin and stm32wb5x_BLE_Zigbee_RFD_static_fw.bin:

                                @@ -1043,18 +1638,18 @@
                            • The stm32wb5x_BLE_Zigbee_RFD_dynamic_fw coprocessor wireless binary must be flashed only using the USB interface (as defined in the release note located in the STM32WB_Copro_Wireless_Binaries folder). It is not possible to flash this binary via ST-LINK.

                            -

                            Development Toolchains and Compilers

                            +

                            Development Toolchains and Compilers

                            • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                            • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                            • STM32CubeIDE toolchain V1.4.0 + ST-Link
                            -

                            Supported Devices and boards

                            +

                            Supported Devices and boards

                            • STM32WB55xx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.
                            • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                            -

                            Dependencies

                            +

                            Dependencies

                            This software release is compatible with:

                            • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                            • @@ -1076,7 +1671,7 @@
                              -

                              Main Changes

                              +

                              Main Changes

                              Introduce BLE/Thread and BLE/Zigbee dynamic concurrent mode, the support of LLD BLE and PHY_802.15.4 CLI application

                              • Dynamic Concurrent mode support between BLE and Zigbee @@ -1142,15 +1737,15 @@
                          -

                          Contents

                          -

                          Projects

                          +

                          Contents

                          +

                          Projects

                          The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                          The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                          -

                          Components

                          +

                          Components

                          @@ -1456,25 +2051,25 @@
                          STM32WB5x Firmware Upgrade Services Binary
                          -

                          Known Limitations

                          +

                          Known Limitations

                          • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                            • Moving from stm32wb5x_BLE_Stack_fw.bin to stm32wb5x_BLE_Thread_fw.bin
                          -

                          Development Toolchains and Compilers

                          +

                          Development Toolchains and Compilers

                          • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                          • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                          • STM32CubeIDE toolchain V1.4.0 + ST-Link
                          -

                          Supported Devices and boards

                          +

                          Supported Devices and boards

                          • STM32WB55xx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.
                          • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                          -

                          Dependencies

                          +

                          Dependencies

                          This software release is compatible with:

                          • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                          • @@ -1496,7 +2091,7 @@
                            -

                            Main Changes

                            +

                            Main Changes

                            Add Zigbee low power mode support and firmware and wireless stack upgrade over the air

                            • Zigbee @@ -1560,15 +2155,15 @@
                            • Replace SW4STM32 by STM32CubeIDE projects files for all examples and application
                          -

                          Contents

                          -

                          Projects

                          +

                          Contents

                          +

                          Projects

                          The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                          The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                          -

                          Components

                          +

                          Components

                          @@ -1838,25 +2433,25 @@
                          STM32WB5x Firmware Upgrade Services Binary
                          -

                          Known Limitations

                          +

                          Known Limitations

                          • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                            • Moving from stm32wb5x_BLE_Stack_fw.bin to stm32wb5x_BLE_Thread_fw.bin
                          -

                          Development Toolchains and Compilers

                          +

                          Development Toolchains and Compilers

                          • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                          • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                          • STM32CubeIDE toolchain V1.4.0 + ST-Link
                          -

                          Supported Devices and boards

                          +

                          Supported Devices and boards

                          • STM32WB55xx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.
                          • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                          -

                          Dependencies

                          +

                          Dependencies

                          This software release is compatible with:

                          • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                          • @@ -1878,10 +2473,10 @@
                            -

                            Main Changes

                            +

                            Main Changes

                            Correct install address for stm32wb5x_Thread_FTD_fw.bin

                            -

                            Contents

                            -

                            Projects

                            +

                            Contents

                            +

                            Projects

                            The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                            The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                            -

                            Components

                            +

                            Components

                            @@ -2214,26 +2809,26 @@
                            STM32WB5x Firmware Upgrade Services Binary
                            -

                            Known Limitations

                            +

                            Known Limitations

                            • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                              • Moving from stm32wb5x_BLE_Stack_fw.bin to stm32wb5x_BLE_Thread_fw.bin
                            -

                            Development Toolchains and Compilers

                            +

                            Development Toolchains and Compilers

                            • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                            • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                            • STM32CubeIDE toolchain V1.2.0 + ST-Link
                            -

                            Supported Devices and boards

                            +

                            Supported Devices and boards

                            • STM32WB55xx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.
                            • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                            • NUCLEO-WB35CE board.
                            -

                            Dependencies

                            +

                            Dependencies

                            This software release is compatible with:

                            • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                            • @@ -2256,7 +2851,7 @@
                              -

                              Main Changes

                              +

                              Main Changes

                              Add the support of several additional Zigbee clusters

                              • Zigbee @@ -2357,8 +2952,8 @@
                          -

                          Contents

                          -

                          Projects

                          +

                          Contents

                          +

                          Projects

                          The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                          The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                          -

                          Components

                          +

                          Components

                          @@ -2691,27 +3286,27 @@
                          STM32WB5x Firmware Upgrade Services Binary
                          -

                          Known Limitations

                          +

                          Known Limitations

                          • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                            • Moving from stm32wb5x_BLE_Stack_fw.bin to stm32wb5x_BLE_Thread_fw.bin
                          -

                          Development Toolchains and Compilers

                          +

                          Development Toolchains and Compilers

                          • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                          • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                          • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                          • STM32CubeIDE toolchain V1.2.0 + ST-Link
                          -

                          Supported Devices and boards

                          +

                          Supported Devices and boards

                          • STM32WB55xx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.
                          • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                          • NUCLEO-WB35CE board.
                          -

                          Dependencies

                          +

                          Dependencies

                          This software release is compatible with:

                          • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                          • @@ -2734,7 +3329,7 @@
                            -

                            Main Changes

                            +

                            Main Changes

                            Introduction of STM32WB5Mxx, STM32WB35xx, STM32WB30xx product and BLE/Zigbee static concurrent mode

                            • STM32WB35xx: @@ -2847,8 +3442,8 @@
                            • Introduce the support od STM32WB5Mxx inside the cmsis device, the HAL and the LL library.
                          -

                          Contents

                          -

                          Projects

                          +

                          Contents

                          +

                          Projects

                          The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                          The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                          -

                          Components

                          +

                          Components

                          @@ -3169,7 +3764,7 @@
                          STM32WB5x Firmware Upgrade Services Binary
                          -

                          Known Limitations

                          +

                          Known Limitations

                          • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                              @@ -3177,20 +3772,20 @@
                          • The example RCC/RCC_ClockConfig encounter a hard fault after few keypressed. This will be corrected inside the next release.
                          -

                          Development Toolchains and Compilers

                          +

                          Development Toolchains and Compilers

                          • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                          • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                          • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                          • STM32CubeIDE toolchain V1.2.0 + ST-Link
                          -

                          Supported Devices and boards

                          +

                          Supported Devices and boards

                          • STM32WB55xx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.
                          • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                          • NUCLEO-WB35CE board.
                          -

                          Dependencies

                          +

                          Dependencies

                          This software release is compatible with:

                          • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                          • @@ -3213,7 +3808,7 @@
                            -

                            Main Changes

                            +

                            Main Changes

                            Maintenance Release

                            • BLE: @@ -3238,15 +3833,15 @@
                          • Maintenance release for HAL and LL drivers.
                          -

                          Contents

                          -

                          Projects

                          +

                          Contents

                          +

                          Projects

                          The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                          The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                          -

                          Components

                          +

                          Components

                          @@ -3492,7 +4087,7 @@
                          Firmware Upgrade Services Binary
                          -

                          Known Limitations

                          +

                          Known Limitations

                          • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                              @@ -3500,18 +4095,18 @@
                          • BLE_MeshLightingDemo application is not functionnal under Linux platform.
                          -

                          Development Toolchains and Compilers

                          +

                          Development Toolchains and Compilers

                          • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                          • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                          • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                          -

                          Supported Devices and boards

                          +

                          Supported Devices and boards

                          • STM32WB55xx and STM32WB50xx devices
                          • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                          -

                          Dependencies

                          +

                          Dependencies

                          This software release is compatible with:

                          • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                          • @@ -3533,7 +4128,7 @@
                            -

                            Main Changes

                            +

                            Main Changes

                            Introduction of ZIGBEE support

                            STM32WB ecosystem keeps growing, now with the introduction of ZigBee protocol support as certified compliant platform, running on certified 802.15.4 2015 LLD MAC and PHY.

                            The wireless stack is based on ZigBee pro 2017, R22 release version in order to propose a ZigBee 3.0 solution. First ON/OFF cluster is coming in this STM32CubeWB Firmware Package delivery release.

                            @@ -3562,15 +4157,15 @@
                          • Integration of BLE Mesh library v1.10.004
                          • Maintenance release for CMSIS, HAL and LL drivers.
                          -

                          Contents

                          -

                          Projects

                          +

                          Contents

                          +

                          Projects

                          The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                          The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                          -

                          Components

                          +

                          Components

                          @@ -3810,7 +4405,7 @@
                          Firmware Upgrade Services Binary
                          -

                          Known Limitations

                          +

                          Known Limitations

                          • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                              @@ -3819,18 +4414,18 @@
                            • Mac 802-15-4 applications are provided with EWARM IDE. MDK-ARM and SW4STM32 IDE are planned for a future release.
                            • BLE_MeshLightingDemo application is not functionnal under Linux platform.
                            -

                            Development Toolchains and Compilers

                            +

                            Development Toolchains and Compilers

                            • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                            • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                            • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                            -

                            Supported Devices and boards

                            +

                            Supported Devices and boards

                            • STM32WB55xx and STM32WB50xx devices
                            • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                            -

                            Dependencies

                            +

                            Dependencies

                            This software release is compatible with:

                            • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                            • @@ -3852,7 +4447,7 @@
                              -

                              Main Changes

                              +

                              Main Changes

                              STM32WB50xx introduction and new features addition

                              This release introduces the following feature:

                                @@ -3879,15 +4474,15 @@
                              • Mesh Library V1.10.000
                            -

                            Contents

                            -

                            Projects

                            +

                            Contents

                            +

                            Projects

                            The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                            The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                            -

                            Components

                            +

                            Components

                            @@ -4127,7 +4722,7 @@
                            Firmware Upgrade Services Binary
                            -

                            Known Limitations

                            +

                            Known Limitations

                            • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                                @@ -4137,18 +4732,18 @@
                              • BLE_MeshLightingDemo application is not functionnal under Linux platform.
                              • Zigbee supports only OnOff cluster.
                              -

                              Development Toolchains and Compilers

                              +

                              Development Toolchains and Compilers

                              • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                              • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                              • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                              -

                              Supported Devices and boards

                              +

                              Supported Devices and boards

                              • STM32WB55xx and STM32WB50xx devices
                              • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                              -

                              Dependencies

                              +

                              Dependencies

                              This software release is compatible with:

                              • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                              • @@ -4170,7 +4765,7 @@
                                -

                                Main Changes

                                +

                                Main Changes

                                Patch release for FUS V1.0.2,Wireless Coprocessor Binary bug fix and BLE Mesh Library improvements

                                This release introduces the following feature:

                                  @@ -4196,8 +4791,8 @@
                            -

                            Contents

                            -

                            Projects

                            +

                            Contents

                            +

                            Projects

                            The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                            The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                            Please note that the path of the example projects have been change to P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle.

                            -

                            Components

                            +

                            Components

                            @@ -4427,7 +5022,7 @@
                            Firmware Upgrade Services Binary
                            -

                            Known Limitations

                            +

                            Known Limitations

                            • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                                @@ -4445,18 +5040,18 @@
                              • SW4STM32 project is compiled without optimisation. (With optimised size compilation, the virtual com port required for the application is not functionnal)
                            -

                            Development Toolchains and Compilers

                            +

                            Development Toolchains and Compilers

                            • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                            • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                            • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                            -

                            Supported Devices and boards

                            +

                            Supported Devices and boards

                            • STM32WB55xx devices
                            • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                            -

                            Dependencies

                            +

                            Dependencies

                            This software release is compatible with:

                            • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                            • @@ -4478,7 +5073,7 @@
                              -

                              Main Changes

                              +

                              Main Changes

                              New features introduction and maintenance release

                              This release introduces the following feature:

                                @@ -4540,8 +5135,8 @@
                              • Projects\P-NUCLEO-WB55.USBDongle\Applications\BLE
                              • Projects\P-NUCLEO-WB55.USBDongle\Applications\Thread
                              -

                              Contents

                              -

                              Projects

                              +

                              Contents

                              +

                              Projects

                              The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                              The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                              Please note that the path of the example projects have been change to P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle.

                              -

                              Components

                              +

                              Components

                              @@ -4771,7 +5366,7 @@
                              Firmware Upgrade Services Binary
                              -

                              Known Limitations

                              +

                              Known Limitations

                              • With the ability to change the Coprocessor Wireless Binaries Over The Air (OTA), it is possible to switch from one binary to another. Only, the following case is not possible due to available memory size:
                                  @@ -4789,18 +5384,18 @@
                                • SW4STM32 project is compiled without optimisation. (With optimised size compilation, the virtual com port required for the application is not functionnal)
                              -

                              Development Toolchains and Compilers

                              +

                              Development Toolchains and Compilers

                              • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                              • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                              • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                              -

                              Supported Devices and boards

                              +

                              Supported Devices and boards

                              • STM32WB55xx devices
                              • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                              -

                              Dependencies

                              +

                              Dependencies

                              This software release is compatible with:

                              • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                              • @@ -4822,7 +5417,7 @@
                                -

                                Main Changes

                                +

                                Main Changes

                                First release

                                First release of STM32CubeWB (STM32Cube for STM32WB Series) supporting STM32WB55xx devices.

                                In the STM32CubeWB MCU Package, most of the examples and applications projects are generated with the STM32CubeMX tool to initialize the system, peripherals and middleware stacks.

                                @@ -4838,15 +5433,15 @@
                              • Projects\P-NUCLEO-WB55.USBDongle\Applications\BLE
                              • Projects\P-NUCLEO-WB55.USBDongle\Applications\Thread
                              -

                              Contents

                              -

                              Projects

                              +

                              Contents

                              +

                              Projects

                              The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.

                              The exhaustive list of projects and their short description is provided in this table (STM32CubeProjectsList.html).

                              -

                              Components

                              +

                              Components

                              @@ -5037,7 +5632,7 @@
                              Coprocessor Wireless Binaries
                              -

                              Known Limitations

                              +

                              Known Limitations

                              • BLE\BLE_p2pClient is provided with EWARM and MDK-ARM IDE. A connection issue with BLE_p2pServer is encounter with SW4STM32.
                              • BLE\BLE_p2pRouter is provided with EWARM and MDK-ARM IDE. A connection issue with BLE_p2pServer is encounter with SW4STM32.
                              • @@ -5067,18 +5662,18 @@
                          -

                          Development Toolchains and Compilers

                          +

                          Development Toolchains and Compilers

                          • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
                          • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
                          • System Workbench for STM32 (SW4STM32) toolchain V2.7 + ST-Link
                          -

                          Supported Devices and boards

                          +

                          Supported Devices and boards

                          • STM32WB55xx devices
                          • P-NUCLEO-WB55 kit composed of P-NUCLEO-WB55.Nucleo and P-NUCLEO-WB55.USBDongle
                          -

                          Dependencies

                          +

                          Dependencies

                          This software release is compatible with:

                          • STM32WB_Copro_Wireless_Binaries available under Projects/STM32WB_Copro_Wireless_Binaries
                          • diff --git a/_htmresc/ReleaseNotes.html b/_htmresc/ReleaseNotes.html index bb7d4f602..04f4ddbe7 100644 --- a/_htmresc/ReleaseNotes.html +++ b/_htmresc/ReleaseNotes.html @@ -1,12 +1,22 @@ -STM32CubeWB Firmware Package V1.10.0 / 30-October-2020
                            +STM32CubeWB Firmware Package V1.11.0 / 12-February-2021

                            Main -Changes

                            Introduce Zigbee applications compatible with STM32CubeMX 6.1.0

                            -
                            • BLE-Mesh library version 1.13.001:

                              -
                              • Updated number of element to 8 and number of Model per element to 7
                            • ZIGBEE :

                              -
                              • Zigbee interface clarification by adding comments inside the ZCL header files
                              • Minor Poll control, IAS and Window covering cluster improvements
                              • Provide the following examples compatible to STM32CubeMX format:

                                -
                                • Zigbee_MeterId_Client_Router
                                • Zigbee_MeterId_Server_Coord
                                • Zigbee_OnOff_Client_Distrib
                                • Zigbee_OnOff_Client_Router
                                • Zigbee_OnOff_Client_SED
                                • Zigbee_OnOff_Server_Coord
                                • Zigbee_OnOff_Server_Distrib
                              +Changes

                              Add new devices STM32WB15xx, STM32WB10xx and new boards STM32WB5MM-DK and NUCLEO-WB15CC

                              • Introduce hal, ll and STM32WPAN support for stm32wb15xx and stm32wb10xx
                              • Introduce STM32WB5MM-DK and NUCLEO-WB15CC BSP support
                              • BLE-Mesh library version 1.13.002:
                                • Updated +max number of element to 5 and max number of Model per element to 11 +(support lighting control system with occupancy sensing).  
                                • Bug fix: Client API, Light LC model and sensor status, modify Light LC FSM default Lightness values
                                • Sensor & Light LC Server Models updated
                                • Client Models updated
                                • Config Model APIs callbacks added over application layer
                                • Save & Restore APIs for Models parameters in Flash updated
                                • Publication enabled for multiple elements
                                • Remove double disconnection to accelerate provisioning with IOS ST BLE Mesh App version 1.08.001
                                • Bug correction during unprovisioning with ST BLE Mesh App of non GATT connected Nodes.       
                              • BLE:
                                • HID: +added: Battery Service and Device Information Service, connection and +disconnection events - ID 97936:  L2CAP update to support IP +over BLE (M.6874), SHCI_C2_BLE_init() updated parameters to be provided +to CPU2 with new BLE stack Options flags
                                • ID 95186:  SHCI_C2_FUS_GetState fixed to identify when wireless stack running (with correct error code)
                              • THREAD:
                                • Update OpenThread stack to SHA-1: 3dbd91aa2b70c7d5cc71b2c465ce3583a13dea79 (thread-reference-20191113)
                                • ID 91270: CoapSecure support added
                                • ID 96955: Fix for entering standby mode while Thread stop procedure is called. New system command SHCI_C2_802_15_4_DeInit added
                              • Zigbee:
                                • Clarification of PICS information inside the Clusters API interface include files 
                                • New directory structure used to store Clusters API interfaces include files
                                • Range input parameter checks added when managing Clusters
                                • ZCL +Commissioning Cluster improvement to allow joining commissioning +network and sending unicast frames (as well as Inter-PAN)
                                • Support +of a Custom Cluster (Refer to the appropriate applications to see how +to use it : Zigbee_custom_ls_Server_Coord, and +Zigbee_custom_ls_Client_Router)
                                • Support +of new APIs to control  TouchLink features (Refer to + zcl.touchlink.h file for more details). Adding of TouchLink +utility commands
                                • Minor fixes in DRLC, Voice over Zigbee & RSSI location Clusters
                                \ No newline at end of file diff --git a/_htmresc/ReleaseNotes_Patch.html b/_htmresc/ReleaseNotes_Patch.html index f2374db4c..cb29873c5 100644 --- a/_htmresc/ReleaseNotes_Patch.html +++ b/_htmresc/ReleaseNotes_Patch.html @@ -1,10 +1,6 @@ - - - -STM32CubeWB Firmware -Package V1.10.1 / 21-January-2021
                                + + +STM32CubeWB Firmware Package V1.11.1 / 02-April-2021

                                -Main Changes
                                -
                                  -
                                • Firmware -Upgrade Services (FUS) V1.1.2:
                                  • Add protection from PKA attack:
                                    • Allow larger image upgrade with lower flash size
                                    • Add protection from main attack
                                    • Add backup user keys after FUS upgrade
                                \ No newline at end of file +Main Changes

                                Patch Release for FUS security update and Wireless protocols corrections

                                • FUS:
                                  • Add functional security enhancements
                                • BLE:
                                  • STM32WB15/WB10 VCO settings update to enhance RX path
                                  • Data throughput enhancement on all projects
                                  • Ability to reconnect in secure mode on a 2nd link if master database is clear during 1st link connection
                                  • Resolution of ACI_GAP_BOND_LOST_Event timeout in case Allow_rebond is not sent
                                  • PTS issue ticket done CASE0070853: CID value should be ok above 1000
                                  • BLE_Ota application improved to be SBSFU ready and support Flash driver use / SEM7 flash activity control
                                • Thread:
                                  • Power consumption enhancement when running above 3mn in Thread_SED_Coap_Multicast example   
                                • Zigbee:
                                  • Allow Zigbee stack to go in low power mode after SF timer wrap-around
                                  • Add support of 2 new Zigbee FreeRTOS example applications (IAR only):
                                    • /P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Client_Router_FreeRTOS
                                    • /P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_OnOff_Server_Coord_FreeRTOS  
                                • MAC 802.15.4:
                                  • Allow the user to set the PLL @64MHz for CM4

                                + \ No newline at end of file diff --git a/package.xml b/package.xml index 26283f4bd..3a0cd0618 100644 --- a/package.xml +++ b/package.xml @@ -1,6 +1,6 @@ - - + + \ No newline at end of file -- cgit v1.2.3