AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
usb_control_block 構造体
Syntax
C++
struct usb_control_block { struct usbd_usb_deviceinfo* usbdev; uhs_ubit32_t pipe; uhs_ubit8_t open_cnt; usb_device_request_t * setup_data; void * data_buf; uhs_ubit32_t data_len; uhs_ubit32_t act_len; usb_common_callback_t complete_func; uhs_ubit32_t time_out; uhs_status_t status; uhs_ubit8_t interval; kernel_context_t ucb_mbx; uhs_boolean_t is_sync; uhs_ubit8_t flags; uhs_ubit8_t request_flags; uhs_ubit8_t cancel_flags; void * context; };

usbc_api.h

メンバ 
説明 
struct usbd_usb_deviceinfo* usbdev; 
デバイス情報 Split管理情報も含む。(HUBクラスで格納する。) 
uhs_ubit32_t pipe; 
PIPE情報
Pipe情報は主にUSBコントロールブロックのメンバとしてパイプ操作やUSBリクエストの発行に使用します。
Pipe情報には、以下の情報が含まれます。
MAXパケットサイズ、EP種別、パケットID、EP番号、USBアドレス 
uhs_ubit8_t open_cnt; 
パイプのオープンカウンタ 
usb_device_request_t * setup_data; 
SETUPパケット格納(コントロール転送のみ) 
void * data_buf; 
データ格納バッファ(非キャッシュ領域) 
uhs_ubit32_t data_len; 
転送データサイズ格納 
uhs_ubit32_t act_len; 
転送済みデータサイズ格納 
usb_common_callback_t complete_func; 
完了CALLBACK関数ポインタ 
uhs_ubit32_t time_out; 
タイムアウト時間格納 
uhs_status_t status; 
転送ステータス格納
次のAPIを使用時に下のエラーが格納されます。
Usbh_Api_ControlMsg
Usbh_Api_BulkMsg
Usbh_Api_SyncControlMsg
Usbh_Api_SyncBulkMsg
Usbh_Api_IntMsg
Usbh_Api_CancelPipe
Usbh_Api_GetDescriptor
Usbh_Api_ClearFeature
Usbh_Api_SetFeature
Usbh_Api_GetStatus
Usbh_Api_GetInterface
Usbh_Api_GetConfiguration
EUSB_NO_ERROR : 正常終了
EUSB_DATABUF_ERROR : Overrun/underrunエラー
EUSB_BABBLE_DETECTED : Bubble検出エラー
EUSB_TX_ERROR : 転送エラー検出(BadPID,CRC,Timeout)
EUSB_MISSED_MICROFRAME : FS/LS Missed microフレーム
EUSB_INTXFER_UNKNOWNSIZE : 転送サイズ未定。(Interruptの転送キャンセル時)
EUSB_STOP_TRANS : 転送停止
EUSB_HALT : AnyError,STALL(上記エラーに引っかからないケース)
EUSB_TIMEOUT : タイムアウト 
uhs_ubit8_t interval; 
同期転送時のインターバル時間 
kernel_context_t ucb_mbx; 
同期転送用メールボックス(同期転送の待ち合せようにmailboxを生成する) 
uhs_boolean_t is_sync; 
同期時にTrue設定(転送完了Threadで参照) 
uhs_ubit8_t flags; 
フラグ フラグ無し 
uhs_ubit8_t request_flags; 
フラグ 
uhs_ubit8_t cancel_flags; 
フラグ 
void * context; 
コンテキストデータポインタ 

本構造体はUSBリクエストの発行やパイプ操作に使用します。 

クラスドライバは本構造体のためにメモリを確保し、各メンバを適切に設定後、本構造体を使用してUSB HostのAPIを呼び出します。 

生成タイミング : 随時 

削除タイミング : コールバック関数が呼び出されるAPIの場合、コールバック関数が呼び出されるまで削除禁止

Copyright (c) 2017-2025 Axell Corporation. All rights reserved.