2025-03-24 10:30 AM
Hello,
I'm trying to implement a custom BLE Client on a P-Nucleo-WB55 board. The ST P2p_client example runs fine on the board and I could add some traces and do little modifications in it before trying to start my project from scratch with CubeMX. It seems the VS_HCI_C2_Ready is not received in my project since I never reach a breakpoint in IPCC_C1_RX_IRQHandler. I have checked many times the differences (clocks, code generated, initialisations...) between the P2P example and my project. I don't know what more to check. Since the example runs fine, I guess it's not a stack firmware problem.
If a kind soul could enlighten me...
Thanks.
2025-03-25 1:40 AM
Hello,
can you please share the project?
Best regards,
ST support
2025-03-25 7:19 AM
2025-03-28 1:40 AM
Hello,
I tried your project and it is working on my side. Can you please try it again?
Please erase full chip flash memory and reflash the BLE stack. After uploading the BLE stack, click on "Start Wireless Stack" button and try to run your application again.
Best regards,
Filip Kremen
2025-04-01 7:28 AM
I've flashed the BLE Stack Full 1.22.0, it seems to work. The Nucleo had previously an 1.13.0 version.
I'm still wondering why, on the same board with the same BLE stack, the P2P_client example worked and not my project...
Thank you
2025-04-03 1:31 AM
After a few tests it appears it's not working. I've added a
UTIL_SEQ_SetTask(1 << CFG_TASK_START_SCAN_ID, CFG_SCH_PRIO_0);
at the very end of APP_BLE_Init(). In the traces I get the line " ** START GENERAL DISCOVERY (SCAN) ** " but nothing more happens. No timeout after 10s and most of all no HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE event in SVCCTL_App_Notification().
Still the P2P_client, on the same board same stack and same line added at the end of APP_BLE_Init() is working.
I've tried to modify the ioc from the P2P_client, a load of files are not regenerated and the project cannot compile anymore.
I've tried to import the P2P_client ioc alone in CubeIDE. That compiles but doesn't work.
Starting from the P2P_client code "as is" is not an option for us since we have a lot of modules to add (SPI, some GPIOs, probably QSPI and others) and merging "by hands" is just crazy when CubeMX is meant to avoid this process. So far, the time I spent on Cube tools is a total loss.
2025-04-03 6:55 AM
Hello,
can you please share the modified project again?
Thank you.
Best regards,
ST support
2025-04-04 12:06 AM
2025-04-04 2:34 AM
Hello,
I was also able to reproduce the same behavior. Right now, I'm not sure where might be the problem.
To not waste the time, I have prepared for you P2P_client project which can you modify. I was trying to add SPI via CubeMX and it compiles fine. It's based on STM32Cube_FW_WB_V1.21.0 package.
If you encounter error messages regarding some files path location, please try to clean and refresh the project.
Can you please try it and let me know it works on your side? Thank you.
Best regards,
ST support
2025-04-07 1:29 AM
I remain polite and courteous, but I'm getting tired of wasting time with tools that are supposed to save me time!!
Your last zip "seems" to work (the few tests I made are ok)...as long as I don't add extra files to the project! I join two projects. The first (ST_try.7z) is basically your project with a extra C file. It works. Starting from there, if I modify the ioc CubeMX fails to regenerate the project. I've added a screenshot of the message box I get and the log file it tells me. The result is the second project (ST_try_modified_ioc.7z). This project fails to compile with undefined references to HAL_TIM_xxx functions.
I'm working with CubeMX 6.13 and CubeIDE 1.16.0, Linux versions.