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

HUBにCLR_TT_BUFFERを発行する。

Syntax
C++
uhs_status_t Usbh_Api_ClearTTBuffer(struct usbd_usb_deviceinfo * usbhub, const uhs_ubit16_t tt_num, struct usbd_usb_spliterrinfo * split_err_info);
引数 
説明 
struct usbd_usb_deviceinfo * usbhub 
[in] 対象HUBのデバイス情報 
struct usbd_usb_spliterrinfo * split_err_info 
[in] splitエラー発生時の情報 
tt_port 
[in] 対象TT番号(1~) 

HUBにCLR_TT_BUFFERの発行結果

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

HUBにCLR_TT_BUFFERの発行を行います。 

SingleTT HUBの場合、tt_num=1固定となります。 

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

splitエラー通知のCALLBACK関数内で呼び出すことは禁止です。 SUSPEND/RESUME中に呼び出すとエラーリターンします。

1: uhs_status_t Usbh_Api_ClearTTBuffer(struct usbd_usb_deviceinfo *usbhub, const uhs_ubit16_t tt_port , struct usbd_usb_spliterrinfo *split_err_info) 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) || (split_err_info == NULL) ){ 13: CORE_REPORT_ERROR( USBC_INVALID_PARAMETER ); 14: return( UDI_STAT_DATA_ERROR ); 15: } 16: else{ 17: 18: 19: 20: 21: retval = Usb_HubApi_ClearTTBuffer( usbhub->context, tt_port, split_err_info ); 22: } 23: return retval; 24: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.