AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
Usbh_Api_ReqResume 関数

USB HOSTスタックに対してRESUMEを要求する。

Syntax
C++
uhs_status_t Usbh_Api_ReqResume();

USB HOSTスタックに対してRESUMEの要求結果

返値の詳細 
説明 
正常終了 
状態異常 
パラメータ異常 
リソース不足 
アボートエラー(ルートHUB挿抜含む。) 

USB HOSTスタックに対してRESUMEの要求を行います。 SUSPEND状態からRESUME処理を行い、USB HOSTスタックを通常(クラスドライバ動作可能)状態に遷移することを指示します。

本APIからのリターン時は、SUSPENDは解除されているが、各クラスドライバの通信は再開していないため、 

各クラスドライバの通信をアプリケーションにて再開して下さい。 

通信再開後に、クラスデバイスによっては初期化コマンドが必要な場合は、 アプリケーションにて発行して下さい。

1: uhs_status_t Usbh_Api_ReqResume( void ) 2: { 3: uhs_status_t retval = UDI_STAT_INVALID_STATE; 4: uhs_status_t result; 5: UHS_MSG_APIWRAP_ANS_RESUME_FMT *rcv_msg; 6: 7: 8: if( Usbh_susres_get_state() == USBH_SUSRES_STS_SUSPENDING ){ 9: 10: 11: retval = kernel_create_message( &g_response_reqans_mbox ); 12: if(retval != UDI_OK){ 13: CORE_REPORT_ERROR( USBC_RESOURCE_UNAVAIL ); 14: return UDI_STAT_RESOURCE_UNAVAIL; 15: } 16: 17: 18: 19: retval = Usbh_susres_SendMsg_req_susres( &g_response_reqans_mbox , USBH_APIWRAP_MSGID_REQ_RESUME ); 20: if(retval != UDI_OK){ 21: kernel_delete_message( &g_suspend_reqans_mbox , in_interrupt() ); 22: CORE_REPORT_ERROR( USBC_RESOURCE_UNAVAIL ); 23: return UDI_STAT_RESOURCE_UNAVAIL; 24: } 25: 26: 27: retval = kernel_receive_message( 28: &g_response_reqans_mbox , 29: (T_MSG **)&rcv_msg, 30: WAITFOREVER , 31: in_interrupt() 32: ); 33: if(retval != UDI_OK){ 34: kernel_delete_message( &g_suspend_reqans_mbox , in_interrupt() ); 35: CORE_REPORT_ERROR(USBC_ILLEGAL_ERROR); 36: return retval; 37: } 38: 39: #ifdef USBH_COMMON_DISP_MESSID 40: 41: Usbh_common_DisplayMessage( (void *)rcv_msg , "API_WR_RES" ); 42: #endif 43: 44: 45: retval = rcv_msg->result; 46: 47: 48: result = kernel_mem_free( &g_apiwrap_info.mpl_osc , (void*)rcv_msg , in_interrupt() ); 49: if( result != UDI_OK ) { 50: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 51: } 52: 53: 54: result = kernel_delete_message( &g_response_reqans_mbox , in_interrupt() ); 55: if(result != UDI_OK){ 56: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 57: } 58: } 59: else{ 60: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 61: uhs_debug_print (DBG_ERR, ("Usbh_Api_ReqResume : error stage error !!")); 62: } 63: 64: #ifdef USBH_DBG_ADD_MESSAGE 65: uhs_debug_print( DBG_ERR, ( "Return Usbh_Api_ReqResume (result=%d)",retval) ); 66: #endif 67: return retval; 68: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.