Update rst
This commit is contained in:
@@ -1,116 +1,11 @@
|
||||
USB CONFIG 宏
|
||||
=========================
|
||||
|
||||
通用 CONFIG 宏
|
||||
---------------------
|
||||
|
||||
设备相关 CONFIG 宏
|
||||
---------------------
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
/* USB DEVICE Configuration */
|
||||
/* core */
|
||||
#ifndef CONFIG_USBDEV_REQUEST_BUFFER_LEN
|
||||
#define CONFIG_USBDEV_REQUEST_BUFFER_LEN 256
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBDEV_DESC_CHECK
|
||||
#define CONFIG_USBDEV_DESC_CHECK 0
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBDEV_TEST_MODE
|
||||
#define CONFIG_USBDEV_TEST_MODE 0
|
||||
#endif
|
||||
|
||||
/* msc class */
|
||||
#ifndef CONFIG_USBDEV_MSC_MANUFACTURER_STRING
|
||||
#define CONFIG_USBDEV_MSC_MANUFACTURER_STRING ""
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBDEV_MSC_PRODUCT_STRING
|
||||
#define CONFIG_USBDEV_MSC_PRODUCT_STRING ""
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBDEV_MSC_VERSION_STRING
|
||||
#define CONFIG_USBDEV_MSC_VERSION_STRING "0.01"
|
||||
#endif
|
||||
|
||||
/* audio class */
|
||||
#ifndef CONFIG_USBDEV_AUDIO_VERSION
|
||||
#define CONFIG_USBDEV_AUDIO_VERSION 0x0100
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBDEV_AUDIO_MAX_CHANNEL
|
||||
#define CONFIG_USBDEV_AUDIO_MAX_CHANNEL 2
|
||||
#endif
|
||||
|
||||
|
||||
主机相关 CONFIG 宏
|
||||
---------------------
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
/* USB HOST Configuration */
|
||||
#ifndef CONFIG_USBHOST_RHPORTS
|
||||
#define CONFIG_USBHOST_RHPORTS 1
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_EHPORTS
|
||||
#define CONFIG_USBHOST_EHPORTS 4
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_PIPE_NUM
|
||||
#define CONFIG_USBHOST_PIPE_NUM 10
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_INTF_NUM
|
||||
#define CONFIG_USBHOST_INTF_NUM 6
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_EP_NUM
|
||||
#define CONFIG_USBHOST_EP_NUM 4
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT
|
||||
#define CONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT 5000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_MSC_TIMEOUT
|
||||
#define CONFIG_USBHOST_MSC_TIMEOUT 5000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_HPWORKQ_PRIO
|
||||
#define CONFIG_USBHOST_HPWORKQ_PRIO 5
|
||||
#endif
|
||||
#ifndef CONFIG_USBHOST_HPWORKQ_STACKSIZE
|
||||
#define CONFIG_USBHOST_HPWORKQ_STACKSIZE 2048
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_LPWORKQ_PRIO
|
||||
#define CONFIG_USBHOST_LPWORKQ_PRIO 1
|
||||
#endif
|
||||
#ifndef CONFIG_USBHOST_LPWORKQ_STACKSIZE
|
||||
#define CONFIG_USBHOST_LPWORKQ_STACKSIZE 2048
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_PSC_PRIO
|
||||
#define CONFIG_USBHOST_PSC_PRIO 4
|
||||
#endif
|
||||
#ifndef CONFIG_USBHOST_PSC_STACKSIZE
|
||||
#define CONFIG_USBHOST_PSC_STACKSIZE 4096
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBHOST_DEV_NAMELEN
|
||||
#define CONFIG_USBHOST_DEV_NAMELEN 16
|
||||
#endif
|
||||
|
||||
#define CONFIG_USBHOST_ASYNCH
|
||||
//#define CONFIG_USBHOST_GET_STRING_DESC
|
||||
|
||||
/* EHCI Configuration */
|
||||
#define CONFIG_USB_EHCI_HCCR_BASE (0x20072000)
|
||||
#define CONFIG_USB_EHCI_HCOR_BASE (0x20072000 + 0x10)
|
||||
#define CONFIG_USB_EHCI_QH_NUM (10)
|
||||
#define CONFIG_USB_EHCI_QTD_NUM (10)
|
||||
// #define CONFIG_USB_EHCI_INFO_ENABLE
|
||||
#define CONFIG_USB_ECHI_HCOR_RESERVED_DISABLE
|
||||
// #define CONFIG_USB_EHCI_CONFIGFLAG
|
||||
@@ -121,7 +121,7 @@ usbd_ep_start_read
|
||||
|
||||
- **ep** out 端点地址
|
||||
- **data** 接收数据缓冲区
|
||||
- **data_len** 接收长度,原则上无限长,推荐 16K 字节以内
|
||||
- **data_len** 接收长度,原则上无限长,推荐 16K 字节以内,并且推荐是最大包长的整数倍
|
||||
- **return** 返回 0 表示正确,其他表示错误
|
||||
|
||||
.. note:: 启动接收以后,以下两种情况,会进入传输完成中断:1、最后一包为短包;2、接收总长度等于 data_len
|
||||
@@ -218,8 +218,10 @@ usbh_submit_urb
|
||||
uint32_t actual_length;
|
||||
uint32_t timeout;
|
||||
int errorcode;
|
||||
uint32_t num_of_iso_packets;
|
||||
usbh_complete_callback_t complete;
|
||||
void *arg;
|
||||
struct usbh_iso_frame_packet iso_packet[];
|
||||
};
|
||||
|
||||
- **pipe** 端点对应的 pipe 句柄
|
||||
@@ -230,8 +232,10 @@ usbh_submit_urb
|
||||
- **actual_length** 实际传输长度
|
||||
- **timeout** 传输超时时间,为 0 该函数则为非阻塞,可在中断中使用
|
||||
- **errorcode** 错误码
|
||||
- **num_of_iso_packets** iso 帧或者微帧个数
|
||||
- **complete** 传输完成回调函数
|
||||
- **arg** 传输完成时携带的参数
|
||||
- **iso_packet** iso 数据包
|
||||
|
||||
`errorcode` 可以返回以下值:
|
||||
|
||||
@@ -258,4 +262,20 @@ usbh_submit_urb
|
||||
* - EPIPE
|
||||
- 数据溢出
|
||||
* - ESHUTDOWN
|
||||
- 设备断开,传输中止
|
||||
- 设备断开,传输中止
|
||||
|
||||
其中 `iso_packet` 结构体信息如下:
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
struct usbh_iso_frame_packet {
|
||||
uint8_t *transfer_buffer;
|
||||
uint32_t transfer_buffer_length;
|
||||
uint32_t actual_length;
|
||||
int errorcode;
|
||||
};
|
||||
|
||||
- **transfer_buffer** 传输的数据缓冲区
|
||||
- **transfer_buffer_length** 传输长度
|
||||
- **actual_length** 实际传输长度
|
||||
- **errorcode** 错误码
|
||||
Reference in New Issue
Block a user