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

HUBにRESET_TTを発行する。

Syntax
C++
uhs_status_t Usbh_Api_ResetTT(struct usbd_usb_deviceinfo * usbhub, const uhs_ubit16_t tt_num);
引数 
説明 
struct usbd_usb_deviceinfo * usbhub 
[in] 対象HUBのデバイス情報 
tt_port 
[in] 対象TT番号(1~) 

HUBにRESET_TTの発行結果

返値の詳細 
説明 
正常終了 
状態異常 
パラメータ異常 
リソース不足 
USBリクエストの受付に失敗(キューフル等) 

HUBにRESET_TTの発行を行います。 tt_portは、SingleTTの場合は1固定、MultiTTの場合はポート番号(1~)となります。 

対象HUBがSingleTTなのか、MultiTTなのかは、usbhubの情報から判定する事が可能です。 

対象HUBがSingleTTか、MultiTTかの判定は右の情報を参照します。 usbhub-> split_info. is_multi 

対象HUBのサポートしているポート数の取得は、右を参照することで取得可能です。 (struct usb_hub_info *)(usbhub->context)->port_num 

HUB管理情報は、usbhub->context を参照することで取得可能です。

SUSPEND/RESUME中に呼び出すとエラーリターンします。

1: uhs_status_t Usbh_Api_ResetTT(struct usbd_usb_deviceinfo *usbhub, const uhs_ubit16_t tt_port ) 2: { 3: uhs_status_t retval = UDI_OK; 4: 5: 6: if( Usbh_susres_get_state() != USBH_SUSRES_STS_IDLE ){ 7: uhs_debug_print (DBG_ERR, ("ERROR : Don't Call Current State!!")); 8: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 9: return UDI_STAT_INVALID_STATE; 10: } 11: 12: if( (usbhub == NULL) || (tt_port == 0) || (tt_port > HUB_MAX_PORT_NUM) ){ 13: CORE_REPORT_ERROR( USBC_INVALID_PARAMETER ); 14: return( UDI_STAT_DATA_ERROR ); 15: } 16: else{ 17: 18: 19: 20: 21: retval = Usb_HubApi_RESET_TT( usbhub->context , tt_port ); 22: } 23: return retval; 24: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.