AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: uhs_status_t Usbh_Cdc_Init(app_callback_info* stCallback) 2: { 3: CDC_FUNC_STATUS nRetval; 4: 5: 6: 7: 8: IAPI_CDC_REPORT_MILESTONE( USBCDC_CHKPOINTS_API_INITIALIZE ); 9: 10: 11: 12: 13: if(stCallback->clsdrv_type != USB_CLASS_CDC){ 14: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_SYS_PARAM_ERROR ); 15: return( UDI_STAT_DATA_ERROR ); 16: } 17: 18: 19: 20: 21: if(g_pCdcDriver != NULL){ 22: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_ALREADY_INIT ); 23: return( UDI_STAT_DATA_ERROR ); 24: } 25: 26: 27: 28: 29: 30: g_pCdcDriver = (PCDC_DRIVER)CdcUtils_Malloc(sizeof(CDC_DRIVER)); 31: if( g_pCdcDriver == NULL ) { 32: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_SYS_OUT_OF_RESOURCE ); 33: return( UDI_STAT_RESOURCE_UNAVAIL ); 34: } 35: 36: nRetval = Usbh_Cdc_CreateCdcDriver( stCallback->attach_callback, stCallback->detach_callback ); 37: if(nRetval != CDC_FUNC_STATUS_SUCCESS ) { 38: (void)CdcUtils_Free(g_pCdcDriver); 39: g_pCdcDriver = NULL; 40: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_FAILED_CRE_CDCD ); 41: return( UDI_STAT_DATA_ERROR ); 42: } 43: 44: 45: 46: 47: nRetval = Usbh_Cdc_Acm_Initialize(); 48: if(nRetval != CDC_FUNC_STATUS_SUCCESS ) { 49: (void)Usbh_Cdc_DeleteCdcDriver(); 50: (void)CdcUtils_Free(g_pCdcDriver); 51: g_pCdcDriver = NULL; 52: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_FAILED_CBI_INIT ); 53: return( UDI_STAT_DATA_ERROR ); 54: } 55: 56: 57: 58: 59: IAPI_CDC_REPORT_MILESTONE( USBCDC_CHKPOINTS_API_INITIALIZE_FINISH ); 60: 61: return( UDI_OK ); 62: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.