-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question : Hal to use RF on STM32WB55 #69
Comments
Hi! Unfortunately, I think I'm providing the answer you don't want to hear: This library has no RF functionality. :( I understand that this places a severe limit on its utility on that MCU. It will work for most of the non-RF functionality on your MCU. I suspect you're correct that there are no mature rust HALs that handle the WB's RF functionality. In general, Rust has poor support for RF. I'm not sure what the best path is: Perhaps the Rubble library can help? Perhaps this HAL (or the other one you looked at) could be patched to better use the hardware semaphores ST provides to communicate between the cores? I believe you need to flash proprietary ST firmware to the RF core. Then you would (somehow?) communicate between the main core running Rust with the other core; I'm not sure how though. I've used this HAL to experiment with the ST WB dev board, and got the flash and other peripherals working, but I never tried the radio. |
Update: Apparently I tried writing HSEM and IPCC modules at some point: https://github.com/David-OConnor/stm32-hal/blob/main/src/hsem.rs https://github.com/David-OConnor/stm32-hal/blob/main/src/ipcc.rs These are the hardware periphs for communicating between cores. They are incomplete and untested. |
Hi David, Thank you for your time |
Recently, I'm exploring STM32WB RF too. While comparing code between https://github.com/eupn/stm32wb55 and STM32Cube code generated for the recent version of stack (v1.16.0.0), I can see some ABI difference between the old code and new code. Because of this, I think it should be in a different crate, not in HAL. The data structure is radio firmware dependent (adding new entries mostly. They tried their best(?) effort not breaking the ABI compatibility tho) and it is prone to change in case of RF stack update. |
Hello
I am starting a new project, I investigate to find the most adequat Hal crate for the MCU (STM32WB55). I would to start an application that send data via USB on a first time, and send data by BLE in a second time thanks to stm32wb55 MCU. I am using the STM32WB55 Nucleo board.
Unfortunatly I am a litlle bit frustrated because hals seems be incomplete or incompatible each together. The hal stm32-hal2 seems to me written pretty good, with examples and the repository is very often updated, but this hal doesn’t contains any RF part of stm32WB55. I follow the hal advised for RF usage « stm32wb_hal » but some examples for periph usages are out of dated, so it is a little bit difficult to me to use this crate.
It’s not a good idea to try to use the two hal in the same time because type mismatch or borroing data like RCC are difficult to manage.
Do you have any advise ? Rust hal are not mature enought for the mcu stm32wb55 ?
Thank you by advance for yours answsers
The text was updated successfully, but these errors were encountered: