2020-05-26 06:43 AM
code from V1.3 :
UTIL_SEQ_RegTask( 1<< CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID, UTIL_SEQ_RFU, shci_user_evt_proc );
SHci_Tl_Init_Conf.p_cmdbuffer = (uint8_t*)&SystemCmdBuffer;
SHci_Tl_Init_Conf.StatusNotCallBack = APPE_SysStatusNot;
shci_init(APPE_SysUserEvtRx, (void*) &SHci_Tl_Init_Conf);
in shci_user_evt_proc function:
if (shciContext.UserEvtRx != NULL)
{
UserEvtRxParam.pckt = phcievtbuffer;
shciContext.UserEvtRx((void *)&UserEvtRxParam);
SHCI_TL_UserEventFlow = UserEvtRxParam.status;
}
and the APPE_SysUserEvtRx:
static void APPE_SysUserEvtRx( void * pPayload )
{
UNUSED(pPayload);
/* Traces channel initialization */
TL_TRACES_Init( );
APP_BLE_Init( );
UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
return;
}
if the shci_notify_asynch_evt do,
void shci_notify_asynch_evt(void* pdata)
{
UTIL_SEQ_SetTask( 1<<CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID, CFG_SCH_PRIO_0);
return;
}
I am hard to understand ,when the " shci_user_evt_proc " do ,the APPE_SysUserEvtRx wil do, the initial will do ?