From b0e78ca824c28af27057d02a808995fe19060d25 Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Wed, 10 Jan 2024 18:21:35 +0100 Subject: [PATCH] chore: rename STM32Cube_FW to STM32_WPAN Signed-off-by: Frederic Pillon --- .github/workflows/codespell.yml | 2 +- ...0001-chore-adapt-STM32_WPAN-sources.patch} | 66 ++-- ...imeout-when-waiting-for-the-cmd_resp.patch | 8 +- ...ort-for-customize-app_conf_default.h.patch | 8 +- ...-fix-TL_Evt_t-payload-size-for-reset.patch | 8 +- patch0.patch | 296 ++++++++++++++++++ src/utility/HCISharedMemTransport.cpp | 2 +- src/utility/HCISharedMemTransport.h | 8 +- .../{STM32Cube_FW => STM32_WPAN}/LICENSE.md | 0 .../{STM32Cube_FW => STM32_WPAN}/README.md | 0 .../{STM32Cube_FW => STM32_WPAN}/app_conf.h | 0 .../app_conf_default.h | 0 .../ble_bufsize.h | 0 src/utility/{STM32Cube_FW => STM32_WPAN}/hw.h | 0 .../{STM32Cube_FW => STM32_WPAN}/hw_ipcc.c | 0 .../{STM32Cube_FW => STM32_WPAN}/mbox_def.h | 0 .../{STM32Cube_FW => STM32_WPAN}/shci.c | 0 .../{STM32Cube_FW => STM32_WPAN}/shci.h | 0 .../{STM32Cube_FW => STM32_WPAN}/shci_tl.c | 0 .../{STM32Cube_FW => STM32_WPAN}/shci_tl.h | 0 .../stm32_wpan_common.h | 0 .../{STM32Cube_FW => STM32_WPAN}/stm_list.c | 0 .../{STM32Cube_FW => STM32_WPAN}/stm_list.h | 0 src/utility/{STM32Cube_FW => STM32_WPAN}/tl.h | 0 .../tl_dbg_conf.h | 0 .../{STM32Cube_FW => STM32_WPAN}/tl_mbox.c | 0 26 files changed, 347 insertions(+), 51 deletions(-) rename extras/{STM32Cube_FW/0001-chore-adapt-STM32Cube_FW-sources.patch => STM32_WPAN/0001-chore-adapt-STM32_WPAN-sources.patch} (84%) rename extras/{STM32Cube_FW => STM32_WPAN}/0002-fix-include-a-timeout-when-waiting-for-the-cmd_resp.patch (83%) rename extras/{STM32Cube_FW => STM32_WPAN}/0003-chore-add-support-for-customize-app_conf_default.h.patch (95%) rename extras/{STM32Cube_FW => STM32_WPAN}/0004-fix-TL_Evt_t-payload-size-for-reset.patch (79%) create mode 100644 patch0.patch rename src/utility/{STM32Cube_FW => STM32_WPAN}/LICENSE.md (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/README.md (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/app_conf.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/app_conf_default.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/ble_bufsize.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/hw.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/hw_ipcc.c (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/mbox_def.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/shci.c (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/shci.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/shci_tl.c (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/shci_tl.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/stm32_wpan_common.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/stm_list.c (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/stm_list.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/tl.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/tl_dbg_conf.h (100%) rename src/utility/{STM32Cube_FW => STM32_WPAN}/tl_mbox.c (100%) diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 744a6d2e..5c30659f 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -24,5 +24,5 @@ jobs: check_hidden: true # In the event of a false positive, add the word in all lower case to this file: # ignore_words_file: ./extras/codespell-ignore-words-list.txt - skip: src/utility/STM32Cube_FW + skip: src/utility/STM32_WPAN path: src diff --git a/extras/STM32Cube_FW/0001-chore-adapt-STM32Cube_FW-sources.patch b/extras/STM32_WPAN/0001-chore-adapt-STM32_WPAN-sources.patch similarity index 84% rename from extras/STM32Cube_FW/0001-chore-adapt-STM32Cube_FW-sources.patch rename to extras/STM32_WPAN/0001-chore-adapt-STM32_WPAN-sources.patch index 48a28137..6798e172 100644 --- a/extras/STM32Cube_FW/0001-chore-adapt-STM32Cube_FW-sources.patch +++ b/extras/STM32_WPAN/0001-chore-adapt-STM32_WPAN-sources.patch @@ -1,24 +1,24 @@ From 542e007fa5a1b53664d2efb5f01d67767123a357 Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Thu, 13 Jul 2023 17:08:05 +0200 -Subject: [PATCH 1/4] chore: adapt STM32Cube_FW sources +Subject: [PATCH 1/4] chore: adapt STM32_WPAN sources Signed-off-by: Frederic Pillon --- - src/utility/STM32Cube_FW/app_conf_default.h | 46 ++++++++++++++++----- - src/utility/STM32Cube_FW/ble_bufsize.h | 7 ++++ - src/utility/STM32Cube_FW/hw.h | 13 +++++- - src/utility/STM32Cube_FW/hw_ipcc.c | 5 ++- - src/utility/STM32Cube_FW/shci.c | 3 +- - src/utility/STM32Cube_FW/shci_tl.c | 18 +++++++- - src/utility/STM32Cube_FW/stm_list.c | 7 +++- - src/utility/STM32Cube_FW/tl_mbox.c | 7 +++- + src/utility/STM32_WPAN/app_conf_default.h | 46 ++++++++++++++++----- + src/utility/STM32_WPAN/ble_bufsize.h | 7 ++++ + src/utility/STM32_WPAN/hw.h | 13 +++++- + src/utility/STM32_WPAN/hw_ipcc.c | 5 ++- + src/utility/STM32_WPAN/shci.c | 3 +- + src/utility/STM32_WPAN/shci_tl.c | 18 +++++++- + src/utility/STM32_WPAN/stm_list.c | 7 +++- + src/utility/STM32_WPAN/tl_mbox.c | 7 +++- 8 files changed, 86 insertions(+), 20 deletions(-) -diff --git a/src/utility/STM32Cube_FW/app_conf_default.h b/src/utility/STM32Cube_FW/app_conf_default.h +diff --git a/src/utility/STM32_WPAN/app_conf_default.h b/src/utility/STM32_WPAN/app_conf_default.h index 51bd33a..1c6dd91 100644 ---- a/src/utility/STM32Cube_FW/app_conf_default.h -+++ b/src/utility/STM32Cube_FW/app_conf_default.h +--- a/src/utility/STM32_WPAN/app_conf_default.h ++++ b/src/utility/STM32_WPAN/app_conf_default.h @@ -1,9 +1,9 @@ /* USER CODE BEGIN Header */ /** @@ -125,10 +125,10 @@ index 51bd33a..1c6dd91 100644 -#endif /*APP_CONF_H */ +#endif +#endif /*APP_CONF_DEFAULT_H */ -diff --git a/src/utility/STM32Cube_FW/ble_bufsize.h b/src/utility/STM32Cube_FW/ble_bufsize.h +diff --git a/src/utility/STM32_WPAN/ble_bufsize.h b/src/utility/STM32_WPAN/ble_bufsize.h index b9935c0..d4d2890 100644 ---- a/src/utility/STM32Cube_FW/ble_bufsize.h -+++ b/src/utility/STM32Cube_FW/ble_bufsize.h +--- a/src/utility/STM32_WPAN/ble_bufsize.h ++++ b/src/utility/STM32_WPAN/ble_bufsize.h @@ -75,6 +75,13 @@ ((pw) + MAX(BLE_MEM_BLOCK_X_MTU(mtu, n_link), \ BLE_MBLOCKS_SECURE_CONNECTIONS)) @@ -143,10 +143,10 @@ index b9935c0..d4d2890 100644 /* * BLE_FIXED_BUFFER_SIZE_BYTES: * A part of the RAM, is dynamically allocated by initializing all the pointers -diff --git a/src/utility/STM32Cube_FW/hw.h b/src/utility/STM32Cube_FW/hw.h +diff --git a/src/utility/STM32_WPAN/hw.h b/src/utility/STM32_WPAN/hw.h index 651e1f1..1472a5e 100644 ---- a/src/utility/STM32Cube_FW/hw.h -+++ b/src/utility/STM32Cube_FW/hw.h +--- a/src/utility/STM32_WPAN/hw.h ++++ b/src/utility/STM32_WPAN/hw.h @@ -26,14 +26,23 @@ extern "C" { #endif @@ -173,10 +173,10 @@ index 651e1f1..1472a5e 100644 void HW_IPCC_BLE_Init( void ); void HW_IPCC_BLE_SendCmd( void ); -diff --git a/src/utility/STM32Cube_FW/hw_ipcc.c b/src/utility/STM32Cube_FW/hw_ipcc.c +diff --git a/src/utility/STM32_WPAN/hw_ipcc.c b/src/utility/STM32_WPAN/hw_ipcc.c index fd620b8..c730482 100644 ---- a/src/utility/STM32Cube_FW/hw_ipcc.c -+++ b/src/utility/STM32Cube_FW/hw_ipcc.c +--- a/src/utility/STM32_WPAN/hw_ipcc.c ++++ b/src/utility/STM32_WPAN/hw_ipcc.c @@ -17,9 +17,9 @@ ****************************************************************************** */ @@ -194,10 +194,10 @@ index fd620b8..c730482 100644 __weak void HW_IPCC_TRACES_EvtNot( void ){}; +#endif /* STM32WBxx */ -diff --git a/src/utility/STM32Cube_FW/shci.c b/src/utility/STM32Cube_FW/shci.c +diff --git a/src/utility/STM32_WPAN/shci.c b/src/utility/STM32_WPAN/shci.c index eaa35d7..4525656 100644 ---- a/src/utility/STM32Cube_FW/shci.c -+++ b/src/utility/STM32Cube_FW/shci.c +--- a/src/utility/STM32_WPAN/shci.c ++++ b/src/utility/STM32_WPAN/shci.c @@ -16,7 +16,7 @@ ****************************************************************************** */ @@ -212,10 +212,10 @@ index eaa35d7..4525656 100644 return (SHCI_Success); } +#endif /* STM32WBxx */ -diff --git a/src/utility/STM32Cube_FW/shci_tl.c b/src/utility/STM32Cube_FW/shci_tl.c +diff --git a/src/utility/STM32_WPAN/shci_tl.c b/src/utility/STM32_WPAN/shci_tl.c index 0f60430..e343809 100644 ---- a/src/utility/STM32Cube_FW/shci_tl.c -+++ b/src/utility/STM32Cube_FW/shci_tl.c +--- a/src/utility/STM32_WPAN/shci_tl.c ++++ b/src/utility/STM32_WPAN/shci_tl.c @@ -16,12 +16,13 @@ ****************************************************************************** */ @@ -257,10 +257,10 @@ index 0f60430..e343809 100644 return; } +#endif /* STM32WBxx */ -diff --git a/src/utility/STM32Cube_FW/stm_list.c b/src/utility/STM32Cube_FW/stm_list.c +diff --git a/src/utility/STM32_WPAN/stm_list.c b/src/utility/STM32_WPAN/stm_list.c index 4c92864..4e8c364 100644 ---- a/src/utility/STM32Cube_FW/stm_list.c -+++ b/src/utility/STM32Cube_FW/stm_list.c +--- a/src/utility/STM32_WPAN/stm_list.c ++++ b/src/utility/STM32_WPAN/stm_list.c @@ -16,11 +16,13 @@ ****************************************************************************** */ @@ -282,10 +282,10 @@ index 4c92864..4e8c364 100644 __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ } +#endif /* STM32WBxx */ -diff --git a/src/utility/STM32Cube_FW/tl_mbox.c b/src/utility/STM32Cube_FW/tl_mbox.c +diff --git a/src/utility/STM32_WPAN/tl_mbox.c b/src/utility/STM32_WPAN/tl_mbox.c index 27a998a..1139316 100644 ---- a/src/utility/STM32Cube_FW/tl_mbox.c -+++ b/src/utility/STM32Cube_FW/tl_mbox.c +--- a/src/utility/STM32_WPAN/tl_mbox.c ++++ b/src/utility/STM32_WPAN/tl_mbox.c @@ -16,6 +16,7 @@ ****************************************************************************** */ diff --git a/extras/STM32Cube_FW/0002-fix-include-a-timeout-when-waiting-for-the-cmd_resp.patch b/extras/STM32_WPAN/0002-fix-include-a-timeout-when-waiting-for-the-cmd_resp.patch similarity index 83% rename from extras/STM32Cube_FW/0002-fix-include-a-timeout-when-waiting-for-the-cmd_resp.patch rename to extras/STM32_WPAN/0002-fix-include-a-timeout-when-waiting-for-the-cmd_resp.patch index 07ce6e6e..d147a37e 100644 --- a/extras/STM32Cube_FW/0002-fix-include-a-timeout-when-waiting-for-the-cmd_resp.patch +++ b/extras/STM32_WPAN/0002-fix-include-a-timeout-when-waiting-for-the-cmd_resp.patch @@ -5,13 +5,13 @@ Subject: [PATCH 2/4] fix: include a timeout when waiting for the cmd_resp Signed-off-by: Frederic Pillon --- - src/utility/STM32Cube_FW/shci_tl.c | 10 ++++++---- + src/utility/STM32_WPAN/shci_tl.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) -diff --git a/src/utility/STM32Cube_FW/shci_tl.c b/src/utility/STM32Cube_FW/shci_tl.c +diff --git a/src/utility/STM32_WPAN/shci_tl.c b/src/utility/STM32_WPAN/shci_tl.c index e343809..6038025 100644 ---- a/src/utility/STM32Cube_FW/shci_tl.c -+++ b/src/utility/STM32Cube_FW/shci_tl.c +--- a/src/utility/STM32_WPAN/shci_tl.c ++++ b/src/utility/STM32_WPAN/shci_tl.c @@ -23,6 +23,7 @@ #include "stm_list.h" #include "shci_tl.h" diff --git a/extras/STM32Cube_FW/0003-chore-add-support-for-customize-app_conf_default.h.patch b/extras/STM32_WPAN/0003-chore-add-support-for-customize-app_conf_default.h.patch similarity index 95% rename from extras/STM32Cube_FW/0003-chore-add-support-for-customize-app_conf_default.h.patch rename to extras/STM32_WPAN/0003-chore-add-support-for-customize-app_conf_default.h.patch index e23d54c8..93e3e80f 100644 --- a/extras/STM32Cube_FW/0003-chore-add-support-for-customize-app_conf_default.h.patch +++ b/extras/STM32_WPAN/0003-chore-add-support-for-customize-app_conf_default.h.patch @@ -5,13 +5,13 @@ Subject: [PATCH 3/4] chore: add support for customize app_conf_default.h Signed-off-by: Frederic Pillon --- - src/utility/STM32Cube_FW/app_conf_default.h | 86 ++++++++++++++++----- + src/utility/STM32_WPAN/app_conf_default.h | 86 ++++++++++++++++----- 1 file changed, 68 insertions(+), 18 deletions(-) -diff --git a/src/utility/STM32Cube_FW/app_conf_default.h b/src/utility/STM32Cube_FW/app_conf_default.h +diff --git a/src/utility/STM32_WPAN/app_conf_default.h b/src/utility/STM32_WPAN/app_conf_default.h index 1c6dd91..d39492e 100644 ---- a/src/utility/STM32Cube_FW/app_conf_default.h -+++ b/src/utility/STM32Cube_FW/app_conf_default.h +--- a/src/utility/STM32_WPAN/app_conf_default.h ++++ b/src/utility/STM32_WPAN/app_conf_default.h @@ -48,7 +48,9 @@ /** * Define Tx Power diff --git a/extras/STM32Cube_FW/0004-fix-TL_Evt_t-payload-size-for-reset.patch b/extras/STM32_WPAN/0004-fix-TL_Evt_t-payload-size-for-reset.patch similarity index 79% rename from extras/STM32Cube_FW/0004-fix-TL_Evt_t-payload-size-for-reset.patch rename to extras/STM32_WPAN/0004-fix-TL_Evt_t-payload-size-for-reset.patch index c239749f..8ac978ea 100644 --- a/extras/STM32Cube_FW/0004-fix-TL_Evt_t-payload-size-for-reset.patch +++ b/extras/STM32_WPAN/0004-fix-TL_Evt_t-payload-size-for-reset.patch @@ -9,13 +9,13 @@ which require 4 bytes. Signed-off-by: Frederic Pillon --- - src/utility/STM32Cube_FW/tl.h | 2 +- + src/utility/STM32_WPAN/tl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/utility/STM32Cube_FW/tl.h b/src/utility/STM32Cube_FW/tl.h +diff --git a/src/utility/STM32_WPAN/tl.h b/src/utility/STM32_WPAN/tl.h index 8e8c6cb..7452087 100644 ---- a/src/utility/STM32Cube_FW/tl.h -+++ b/src/utility/STM32Cube_FW/tl.h +--- a/src/utility/STM32_WPAN/tl.h ++++ b/src/utility/STM32_WPAN/tl.h @@ -108,7 +108,7 @@ typedef PACKED_STRUCT { uint8_t evtcode; diff --git a/patch0.patch b/patch0.patch new file mode 100644 index 00000000..ae067cb6 --- /dev/null +++ b/patch0.patch @@ -0,0 +1,296 @@ +diff --git a/src/utility/STM32Cube_FW/README.md b/src/utility/STM32Cube_FW/README.md +index 0d39a3e..97c4ceb 100644 +--- a/src/utility/STM32Cube_FW/README.md ++++ b/src/utility/STM32Cube_FW/README.md +@@ -1,6 +1,6 @@ + + ## Source + +-[STMicroelectronics/STM32CubeWB Release v1.17.0](https://github.com/STMicroelectronics/STM32CubeWB/releases/tag/v1.17.0) +-- Application: [BLE_TransparentMode](https://github.com/STMicroelectronics/STM32CubeWB/tree/v1.17.0/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_TransparentMode) ++[STMicroelectronics/STM32CubeWB Release v1.18.0](https://github.com/STMicroelectronics/STM32CubeWB/releases/tag/v1.18.0) ++- Application: [BLE_TransparentMode](https://github.com/STMicroelectronics/STM32CubeWB/tree/v1.18.0/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_TransparentMode) + +diff --git a/src/utility/STM32Cube_FW/app_conf_default.h b/src/utility/STM32Cube_FW/app_conf_default.h +index 51bd33a..846be3c 100644 +--- a/src/utility/STM32Cube_FW/app_conf_default.h ++++ b/src/utility/STM32Cube_FW/app_conf_default.h +@@ -61,14 +61,14 @@ + #define CFG_GAP_DEVICE_NAME_LENGTH (8) + + /** +-* Identity root key used to derive LTK and CSRK ++* Identity root key used to derive IRK and DHK(Legacy) + */ +-#define CFG_BLE_IRK {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0} ++#define CFG_BLE_IR {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0} + + /** +-* Encryption root key used to derive LTK and CSRK ++* Encryption root key used to derive LTK(Legacy) and CSRK + */ +-#define CFG_BLE_ERK {0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21, 0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21} ++#define CFG_BLE_ER {0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21, 0xFE, 0xDC, 0xBA, 0x09, 0x87, 0x65, 0x43, 0x21} + + /** + * SMPS supply +@@ -166,12 +166,12 @@ + #define CFG_BLE_DATA_LENGTH_EXTENSION 1 + + /** +- * Sleep clock accuracy in Slave mode (ppm value) ++ * Sleep clock accuracy in Peripheral mode (ppm value) + */ +-#define CFG_BLE_SLAVE_SCA 500 ++#define CFG_BLE_PERIPHERAL_SCA 500 + + /** +- * Sleep clock accuracy in Master mode ++ * Sleep clock accuracy in Central mode + * 0 : 251 ppm to 500 ppm + * 1 : 151 ppm to 250 ppm + * 2 : 101 ppm to 150 ppm +@@ -181,7 +181,7 @@ + * 6 : 21 ppm to 30 ppm + * 7 : 0 ppm to 20 ppm + */ +-#define CFG_BLE_MASTER_SCA 0 ++#define CFG_BLE_CENTRAL_SCA 0 + + /** + * LsSource +@@ -202,7 +202,7 @@ + #define CFG_BLE_HSE_STARTUP_TIME 0x148 + + /** +- * Maximum duration of the connection event when the device is in Slave mode in units of 625/256 us (~2.44 us) ++ * Maximum duration of the connection event when the device is in Peripheral mode in units of 625/256 us (~2.44 us) + */ + #define CFG_BLE_MAX_CONN_EVENT_LENGTH (0xFFFFFFFF) + +@@ -318,10 +318,11 @@ + /* BLE core version (16-bit signed integer). + * - SHCI_C2_BLE_INIT_BLE_CORE_5_2 + * - SHCI_C2_BLE_INIT_BLE_CORE_5_3 +- * which are used to set: 11(5.2), 12(5.3). ++ * - SHCI_C2_BLE_INIT_BLE_CORE_5_4 ++ * which are used to set: 11(5.2), 12(5.3), 13(5.4). + */ + +-#define CFG_BLE_CORE_VERSION (SHCI_C2_BLE_INIT_BLE_CORE_5_3) ++#define CFG_BLE_CORE_VERSION (SHCI_C2_BLE_INIT_BLE_CORE_5_4) + + /****************************************************************************** + * Transport Layer +@@ -486,13 +487,13 @@ typedef enum + * Debug + ******************************************************************************/ + /** +- * When set, this resets some hw resources to set the device in the same state than the power up +- * The FW resets only register that may prevent the FW to run properly ++ * When set, this resets some hw resources to put the device in the same state as at power up. ++ * It resets only register that may prevent the FW to run properly. + * + * This shall be set to 0 in a final product + * + */ +-#define CFG_HW_RESET_BY_FW 1 ++#define CFG_HW_RESET_BY_FW 0 + + /** + * keep debugger enabled while in any low power mode when set to 1 +diff --git a/src/utility/STM32Cube_FW/shci.c b/src/utility/STM32Cube_FW/shci.c +index eaa35d7..5c32555 100644 +--- a/src/utility/STM32Cube_FW/shci.c ++++ b/src/utility/STM32Cube_FW/shci.c +@@ -644,6 +644,26 @@ SHCI_CmdStatus_t SHCI_C2_802_15_4_DeInit( void ) + return (SHCI_CmdStatus_t)(((TL_CcEvt_t*)(p_rsp->evtserial.evt.payload))->payload[0]); + } + ++SHCI_CmdStatus_t SHCI_C2_SetSystemClock( SHCI_C2_SET_SYSTEM_CLOCK_Cmd_Param_t clockSel ) ++{ ++ /** ++ * Buffer is large enough to hold command complete without payload ++ */ ++ uint8_t local_buffer[TL_BLEEVT_CC_BUFFER_SIZE]; ++ TL_EvtPacket_t * p_rsp; ++ ++ p_rsp = (TL_EvtPacket_t *)local_buffer; ++ ++ local_buffer[0] = (uint8_t)clockSel; ++ ++ shci_send( SHCI_OPCODE_C2_SET_SYSTEM_CLOCK, ++ 1, ++ local_buffer, ++ p_rsp ); ++ ++ return (SHCI_CmdStatus_t)(((TL_CcEvt_t*)(p_rsp->evtserial.evt.payload))->payload[0]); ++} ++ + /** + * Local System COMMAND + * These commands are NOT sent to the CPU2 +diff --git a/src/utility/STM32Cube_FW/shci.h b/src/utility/STM32Cube_FW/shci.h +index 750fa97..30ae10c 100644 +--- a/src/utility/STM32Cube_FW/shci.h ++++ b/src/utility/STM32Cube_FW/shci.h +@@ -227,6 +227,7 @@ extern "C" { + SHCI_OCF_C2_CONCURRENT_GET_NEXT_BLE_EVT_TIME, + SHCI_OCF_C2_CONCURRENT_ENABLE_NEXT_802154_EVT_NOTIFICATION, + SHCI_OCF_C2_802_15_4_DEINIT, ++ SHCI_OCF_C2_SET_SYSTEM_CLOCK, + } SHCI_OCF_t; + + #define SHCI_OPCODE_C2_FUS_GET_STATE (( SHCI_OGF << 10) + SHCI_OCF_C2_FUS_GET_STATE) +@@ -436,7 +437,7 @@ extern "C" { + * PrWriteListSize + * NOTE: This parameter is ignored by the CPU2 when the parameter "Options" is set to "LL_only" ( see Options description in that structure ) + * +- * Maximum number of supported �prepare write request� ++ * Maximum number of supported "prepare write request" + * - Min value: given by the macro DEFAULT_PREP_WRITE_LIST_SIZE + * - Max value: a value higher than the minimum required can be specified, but it is not recommended + */ +@@ -464,20 +465,20 @@ extern "C" { + uint16_t AttMtu; + + /** +- * SlaveSca +- * The sleep clock accuracy (ppm value) that used in BLE connected slave mode to calculate the window widening ++ * PeripheralSca ++ * The sleep clock accuracy (ppm value) that used in BLE connected Peripheral mode to calculate the window widening + * (in combination with the sleep clock accuracy sent by master in CONNECT_REQ PDU), + * refer to BLE 5.0 specifications - Vol 6 - Part B - chap 4.5.7 and 4.2.2 + * - Min value: 0 + * - Max value: 500 (worst possible admitted by specification) + */ +- uint16_t SlaveSca; ++ uint16_t PeripheralSca; + + /** +- * MasterSca +- * The sleep clock accuracy handled in master mode. It is used to determine the connection and advertising events timing. ++ * CentralSca ++ * The sleep clock accuracy handled in Central mode. It is used to determine the connection and advertising events timing. + * It is transmitted to the slave in CONNEC_REQ PDU used by the slave to calculate the window widening, +- * see SlaveSca and Bluetooth Core Specification v5.0 Vol 6 - Part B - chap 4.5.7 and 4.2.2 ++ * see PeripheralSca and Bluetooth Core Specification v5.0 Vol 6 - Part B - chap 4.5.7 and 4.2.2 + * Possible values: + * - 251 ppm to 500 ppm: 0 + * - 151 ppm to 250 ppm: 1 +@@ -488,7 +489,7 @@ extern "C" { + * - 21 ppm to 30 ppm: 6 + * - 0 ppm to 20 ppm: 7 + */ +- uint8_t MasterSca; ++ uint8_t CentralSca; + + /** + * LsSource +@@ -503,7 +504,7 @@ extern "C" { + * MaxConnEventLength + * This parameter determines the maximum duration of a slave connection event. When this duration is reached the slave closes + * the current connections event (whatever is the CE_length parameter specified by the master in HCI_CREATE_CONNECTION HCI command), +- * expressed in units of 625/256 �s (~2.44 �s) ++ * expressed in units of 625/256 us (~2.44 us) + * - Min value: 0 (if 0 is specified, the master and slave perform only a single TX-RX exchange per connection event) + * - Max value: 1638400 (4000 ms). A higher value can be specified (max 0xFFFFFFFF) but results in a maximum connection time + * of 4000 ms as specified. In this case the parameter is not applied, and the predicted CE length calculated on slave is not shortened +@@ -512,7 +513,7 @@ extern "C" { + + /** + * HsStartupTime +- * Startup time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 �s (~2.44 �s). ++ * Startup time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 us (~2.44 us). + * - Min value: 0 + * - Max value: 820 (~2 ms). A higher value can be specified, but the value that implemented in stack is forced to ~2 ms + */ +@@ -598,7 +599,7 @@ extern "C" { + int16_t rx_path_compens; + + /* BLE core specification version (8-bit unsigned integer). +- * values as: 11(5.2), 12(5.3) ++ * values as: 11(5.2), 12(5.3), 13(5.4) + */ + uint8_t ble_core_version; + +@@ -829,6 +830,7 @@ extern "C" { + /** No response parameters*/ + + #define SHCI_OPCODE_C2_CONFIG (( SHCI_OGF << 10) + SHCI_OCF_C2_CONFIG) ++ + /** Command parameters */ + typedef PACKED_STRUCT{ + uint8_t PayloadCmdSize; +@@ -843,6 +845,15 @@ extern "C" { + + #define SHCI_OPCODE_C2_802_15_4_DEINIT (( SHCI_OGF << 10) + SHCI_OCF_C2_802_15_4_DEINIT) + ++#define SHCI_OPCODE_C2_SET_SYSTEM_CLOCK (( SHCI_OGF << 10) + SHCI_OCF_C2_SET_SYSTEM_CLOCK) ++ /** Command parameters */ ++ typedef enum ++ { ++ SET_SYSTEM_CLOCK_HSE_TO_PLL, ++ SET_SYSTEM_CLOCK_PLL_ON_TO_HSE, ++ SET_SYSTEM_CLOCK_PLL_OFF_TO_HSE, ++ }SHCI_C2_SET_SYSTEM_CLOCK_Cmd_Param_t; ++ + /** + * PayloadCmdSize + * Value that shall be used +@@ -859,8 +870,8 @@ extern "C" { + /** + * Device ID + */ +-#define SHCI_C2_CONFIG_STM32WB55xx (0x495) +-#define SHCI_C2_CONFIG_STM32WB15xx (0x494) ++#define SHCI_C2_CONFIG_STM32WB55xx (0x495) ++#define SHCI_C2_CONFIG_STM32WB15xx (0x494) + + /** + * Config1 +@@ -878,7 +889,7 @@ extern "C" { + */ + #define SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE (1<<0) + #define SHCI_C2_CONFIG_EVTMASK1_BIT1_BLE_NVM_RAM_UPDATE_ENABLE (1<<1) +-#define SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE (1<<2) ++#define SHCI_C2_CONFIG_EVTMASK1_BIT2_THREAD_NVM_RAM_UPDATE_ENABLE (1<<2) + #define SHCI_C2_CONFIG_EVTMASK1_BIT3_NVM_START_WRITE_ENABLE (1<<3) + #define SHCI_C2_CONFIG_EVTMASK1_BIT4_NVM_END_WRITE_ENABLE (1<<4) + #define SHCI_C2_CONFIG_EVTMASK1_BIT5_NVM_START_ERASE_ENABLE (1<<5) +@@ -965,7 +976,8 @@ extern "C" { + #define INFO_STACK_TYPE_ZIGBEE_RFD 0x31 + #define INFO_STACK_TYPE_MAC 0x40 + #define INFO_STACK_TYPE_BLE_THREAD_FTD_STATIC 0x50 +-#define INFO_STACK_TYPE_BLE_THREAD_FTD_DYAMIC 0x51 ++#define INFO_STACK_TYPE_BLE_THREAD_FTD_DYNAMIC 0x51 ++#define INFO_STACK_TYPE_BLE_THREAD_LIGHT_DYNAMIC 0x52 + #define INFO_STACK_TYPE_802154_LLD_TESTS 0x60 + #define INFO_STACK_TYPE_802154_PHY_VALID 0x61 + #define INFO_STACK_TYPE_BLE_PHY_VALID 0x62 +@@ -1364,9 +1376,24 @@ typedef struct { + */ + SHCI_CmdStatus_t SHCI_C2_802_15_4_DeInit( void ); + +- #ifdef __cplusplus ++ /** ++ * SHCI_C2_SetSystemClock ++ * @brief Request CPU2 to change system clock ++ * ++ * @param clockSel: It can be one of the following list ++ * - SET_SYSTEM_CLOCK_HSE_TO_PLL : CPU2 set system clock to PLL, PLL must be configured and started before. ++ * - SET_SYSTEM_CLOCK_PLL_ON_TO_HSE : CPU2 set System clock to HSE, PLL is still ON after command execution. ++ * - SET_SYSTEM_CLOCK_PLL_OFF_TO_HSE : CPU2 set System clock to HSE, PLL is turned OFF after command execution. ++ * ++ * @retval Status ++ */ ++ SHCI_CmdStatus_t SHCI_C2_SetSystemClock( SHCI_C2_SET_SYSTEM_CLOCK_Cmd_Param_t clockSel ); ++ ++ ++#ifdef __cplusplus + } + #endif + + #endif /*__SHCI_H */ + ++/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/utility/HCISharedMemTransport.cpp b/src/utility/HCISharedMemTransport.cpp index 0db95041..8ced5f67 100644 --- a/src/utility/HCISharedMemTransport.cpp +++ b/src/utility/HCISharedMemTransport.cpp @@ -19,7 +19,7 @@ #if defined(STM32WBxx) #include "HCISharedMemTransport.h" -#include "STM32Cube_FW/hw.h" +#include "STM32_WPAN/hw.h" #include "otp.h" /* Private variables ---------------------------------------------------------*/ diff --git a/src/utility/HCISharedMemTransport.h b/src/utility/HCISharedMemTransport.h index 58fb871d..e739d63f 100644 --- a/src/utility/HCISharedMemTransport.h +++ b/src/utility/HCISharedMemTransport.h @@ -26,10 +26,10 @@ #include "stm32wbxx_ll_rcc.h" #include "stm32wbxx_ll_ipcc.h" #include "stm32wbxx_ll_system.h" -#include "STM32Cube_FW/tl.h" -#include "STM32Cube_FW/shci.h" -#include "STM32Cube_FW/shci_tl.h" -#include "STM32Cube_FW/app_conf.h" +#include "STM32_WPAN/tl.h" +#include "STM32_WPAN/shci.h" +#include "STM32_WPAN/shci_tl.h" +#include "STM32_WPAN/app_conf.h" /* this one is for printing info content when HW serial enabled */ //#define PRINT_IPCC_INFO diff --git a/src/utility/STM32Cube_FW/LICENSE.md b/src/utility/STM32_WPAN/LICENSE.md similarity index 100% rename from src/utility/STM32Cube_FW/LICENSE.md rename to src/utility/STM32_WPAN/LICENSE.md diff --git a/src/utility/STM32Cube_FW/README.md b/src/utility/STM32_WPAN/README.md similarity index 100% rename from src/utility/STM32Cube_FW/README.md rename to src/utility/STM32_WPAN/README.md diff --git a/src/utility/STM32Cube_FW/app_conf.h b/src/utility/STM32_WPAN/app_conf.h similarity index 100% rename from src/utility/STM32Cube_FW/app_conf.h rename to src/utility/STM32_WPAN/app_conf.h diff --git a/src/utility/STM32Cube_FW/app_conf_default.h b/src/utility/STM32_WPAN/app_conf_default.h similarity index 100% rename from src/utility/STM32Cube_FW/app_conf_default.h rename to src/utility/STM32_WPAN/app_conf_default.h diff --git a/src/utility/STM32Cube_FW/ble_bufsize.h b/src/utility/STM32_WPAN/ble_bufsize.h similarity index 100% rename from src/utility/STM32Cube_FW/ble_bufsize.h rename to src/utility/STM32_WPAN/ble_bufsize.h diff --git a/src/utility/STM32Cube_FW/hw.h b/src/utility/STM32_WPAN/hw.h similarity index 100% rename from src/utility/STM32Cube_FW/hw.h rename to src/utility/STM32_WPAN/hw.h diff --git a/src/utility/STM32Cube_FW/hw_ipcc.c b/src/utility/STM32_WPAN/hw_ipcc.c similarity index 100% rename from src/utility/STM32Cube_FW/hw_ipcc.c rename to src/utility/STM32_WPAN/hw_ipcc.c diff --git a/src/utility/STM32Cube_FW/mbox_def.h b/src/utility/STM32_WPAN/mbox_def.h similarity index 100% rename from src/utility/STM32Cube_FW/mbox_def.h rename to src/utility/STM32_WPAN/mbox_def.h diff --git a/src/utility/STM32Cube_FW/shci.c b/src/utility/STM32_WPAN/shci.c similarity index 100% rename from src/utility/STM32Cube_FW/shci.c rename to src/utility/STM32_WPAN/shci.c diff --git a/src/utility/STM32Cube_FW/shci.h b/src/utility/STM32_WPAN/shci.h similarity index 100% rename from src/utility/STM32Cube_FW/shci.h rename to src/utility/STM32_WPAN/shci.h diff --git a/src/utility/STM32Cube_FW/shci_tl.c b/src/utility/STM32_WPAN/shci_tl.c similarity index 100% rename from src/utility/STM32Cube_FW/shci_tl.c rename to src/utility/STM32_WPAN/shci_tl.c diff --git a/src/utility/STM32Cube_FW/shci_tl.h b/src/utility/STM32_WPAN/shci_tl.h similarity index 100% rename from src/utility/STM32Cube_FW/shci_tl.h rename to src/utility/STM32_WPAN/shci_tl.h diff --git a/src/utility/STM32Cube_FW/stm32_wpan_common.h b/src/utility/STM32_WPAN/stm32_wpan_common.h similarity index 100% rename from src/utility/STM32Cube_FW/stm32_wpan_common.h rename to src/utility/STM32_WPAN/stm32_wpan_common.h diff --git a/src/utility/STM32Cube_FW/stm_list.c b/src/utility/STM32_WPAN/stm_list.c similarity index 100% rename from src/utility/STM32Cube_FW/stm_list.c rename to src/utility/STM32_WPAN/stm_list.c diff --git a/src/utility/STM32Cube_FW/stm_list.h b/src/utility/STM32_WPAN/stm_list.h similarity index 100% rename from src/utility/STM32Cube_FW/stm_list.h rename to src/utility/STM32_WPAN/stm_list.h diff --git a/src/utility/STM32Cube_FW/tl.h b/src/utility/STM32_WPAN/tl.h similarity index 100% rename from src/utility/STM32Cube_FW/tl.h rename to src/utility/STM32_WPAN/tl.h diff --git a/src/utility/STM32Cube_FW/tl_dbg_conf.h b/src/utility/STM32_WPAN/tl_dbg_conf.h similarity index 100% rename from src/utility/STM32Cube_FW/tl_dbg_conf.h rename to src/utility/STM32_WPAN/tl_dbg_conf.h diff --git a/src/utility/STM32Cube_FW/tl_mbox.c b/src/utility/STM32_WPAN/tl_mbox.c similarity index 100% rename from src/utility/STM32Cube_FW/tl_mbox.c rename to src/utility/STM32_WPAN/tl_mbox.c