2022-08-19 04:28 AM
Hello
I am developing a FW that alternately runs BLE and Mac using stm32wb5x_BLE_Mac_802_15_4_fw.bin 1.13.3.0(3) for protocol stack.
For FW, BLE and Mac are alternately switched over time (every second).
The initialization of BLE, the initialization and switching method of Mac are referred to the sample.
Here is a problem.
When there was no radio wave of the Mac protocol, it worked for one day, but it stopped in a few hours when the radio waves of the Mac protocol were out.
The radio waves of the Mac protocol are at several 10ms intervals.
When I looked it up, I had been waiting for a CPU2 response with UTIL_SEQ_WaitEvt() after execution of MAC_MLMESetReq(), MAC_MLMEStartReq(), MAC_MLMEResetReq() executed when initializing or stopping the Mac protocol.
The time to stop the FW is not constant, so when some conditions are met, I think that something occurs in the protocol stack and this is the case.
It is best not to have such a phenomenon, is there a way to receive the Mac protocol again?
Is there a way to restart the protocol stack?
I'm impatient because I don't have time to complete the FW.
note that,
(01) After checking the IPCC register, it is IPCC->C2TOC1SR = 0x4 when it is working normally, but it was IPCC->C2TOC1SR = 0x0 when waiting for a response.
(02) If it is forcibly executed, there is no response from the protocol stack at the time of the Mac protocol, but in the case of BLE protocol, it works normally and runs.
Thank you.
2022-11-07 04:46 AM
Hello,
A fix has been identified and will be present in next STM32CubeWB release v1.15.0.
Best Regards