cancel
Showing results for 
Search instead for 
Did you mean: 

Can't get the advertising state

Franklin
Associate II

Hello everyone,

I'm trying to build a server application with the STM32WB55 but I can't get the advertising state. I took example on the server example in the STM32Cube_FW_WB_V1.0.0 and I think it is pretty similar but it doen't work as intended.

I made some researches and I find someone with the same problem here : https://community.st.com/s/question/0D50X0000AhPJcCSQW/trying-to-get-the-advertising-state . However the proposed solution didn't work for me and I still can't get the advertising state. The programm doesn't run APPE_SysUserEvtRx() because I don't receive VS_HCI_C2_Ready I think.

Would anyone has any idea on why it behaves this way and how to solve this problem ?

Thank you.

13 REPLIES 13
Camille Louapre
Associate II

Hello all,

If some of you encounter problems to detect the Stack ready event (like I), please find my code below (working fine).

Note that this event is named SHCI_SUB_EVT_CODE_READY in shci.h, not VS_HCI_C2_Ready, as mentioned earlier in this thread.

void APPE_SysUserEvtRx (void * pv_iPayload)
{
  tSHCI_UserEvtRxParam * pst_userEventRxParam = NULL;
  TL_AsynchEvt_t st_asynchEvt = {0};
 
  /* Get SHCI evt code from payload */
  pst_userEventRxParam = (tSHCI_UserEvtRxParam*)pv_iPayload;
  memcpy(&st_asynchEvt, pst_userEventRxParam->pckt->evtserial.evt.payload, sizeof(st_asynchEvt));
 
  /* SHCI_SUB_EVT_CODE_READY => BLE stack is ready on M0+ MCU */ 
  if ((SHCI_EVTCODE == pst_userEventRxParam->pckt->evtserial.evt.evtcode) && 
  (SHCI_SUB_EVT_CODE_READY ==  st_asynchEvt.subevtcode))
  {
    /* Your code here */
  }
  else {/*Nothing */}
}

Enyoy.

Camille

Hi Camille,

Where did you find this solution? is in any official ST document?

Regards

�?lvaro

​Hello,

Examples can be found in both Ble_Ota and BLE_RfWithFlash projects.

Regards.

Hello,

I've the same problem.

All buffers (like, EvtPool, SystemCmdBuffer, SystemSpareEvtBuffer,BleSpareEvtBuffer) locate in SRAM2.

But IPCC_C1_RX_IRQHandler is not called.

What did you do with it?