VOS_VOID CBTPPM_OamVComCbtPortInit(VOS_VOID) { /* CBT端口与PCVOICE复用,动态注册数据接收函数 */ CBTCPM_PortRcvReg(CBTSCM_SoftDecodeDataRcv); /* 校准走VCOM28,会有数据下发,数据的回复不走CPM,直接发送 */ APP_VCOM_RegDataCallback(APP_VCOM_DEV_INDEX_LOG, CBTPPM_OamVComCbtReadData); CBTCPM_PortSndReg(CBTPPM_OamVComCbtSendData); return; }
VOS_VOID GU_OamVComPortInit(VOS_VOID) { VOS_MemSet(&g_stVComDebugInfo, 0, sizeof(g_stVComDebugInfo)); #if (VOS_LINUX == VOS_OS_VER) sema_init(&g_stVCOMRxBuffSem, 1); #endif APP_VCOM_RegDataCallback(APP_VCOM_DEV_INDEX_LOG, GU_OamVComReadData); APP_VCOM_RegEvtCallback(APP_VCOM_DEV_INDEX_LOG, GU_OamVComStatus); CPM_PhySendReg(CPM_VCOM_PORT, GU_OamVComSendData); #if (FEATURE_ON == FEATURE_CBT_LOG) APP_VCOM_RegDataCallback(APP_VCOM_DEV_INDEX_CBT, OMRL_AcpuRcvCBTData); VOS_MemSet(&g_stVComCBTDebugInfo, 0, sizeof(g_stVComCBTDebugInfo)); #endif return; }
VOS_UINT32 diag_VcomInit(VOS_VOID) { diag_VcomInfo_Init(); #if (FEATURE_ON == FEATURE_VCOM_EXT) /*注册APP VCOM读回调*/ APP_VCOM_RegDataCallback(DIAG_APPVCOM_CHAN_CTRL, (SEND_UL_AT_FUNC)diag_VcomRead); /*CTRL口事件回调*/ APP_VCOM_RegEvtCallback(DIAG_APPVCOM_CHAN_CTRL, (EVENT_FUNC)diag_VcomCtrlEvtCB); /*APP口事件回调*/ APP_VCOM_RegEvtCallback(DIAG_APPVCOM_CHAN_APP, (EVENT_FUNC)diag_VcomAppEvtCB); DIAG_PORT_INIT_STATE_SWITCH(EN_DIAG_VCOM_BEABER_DIAG_CTRL,EN_PORT_INIT_SUCC); DIAG_PORT_INIT_STATE_SWITCH(EN_DIAG_VCOM_BEABER_DIAG_APP,EN_PORT_INIT_SUCC); #endif return ERR_MSP_SUCCESS; }
VOS_VOID GU_OamErrLogVComPortInit(VOS_VOID) { #if(FEATURE_ON == FEATURE_PTM) VOS_SpinLockInit(&g_stVosErrLogSendSpinLock); /* 商用ERR LOG上报全局变量初始化 */ g_stOmAppMsgRecord.ulErrLogReportSend = 0;/* 记录Err Log需要上报组件 */ g_stOmAppMsgRecord.ulFTMReportSend = 0;/* 记录FTM需要上报组件 */ g_stOmAppMsgRecord.pulErrorLogModule = VOS_NULL_PTR; g_stOmAppMsgRecord.pulFTMModule = VOS_NULL_PTR; g_stOmAppMsgRecord.usModemId = MODEM_ID_BUTT; #if (VOS_LINUX == VOS_OS_VER) sema_init(&g_stOmRxErrorLogBuffSem, 1); #endif /* 注册收Vcom Error log函数给NAS */ APP_VCOM_RegDataCallback(APP_VCOM_DEV_INDEX_ERRLOG, OM_AcpuReadVComData); #endif return; }