summaryrefslogtreecommitdiff
path: root/docs/source/api
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2022-09-25 13:59:10 +0800
committersakumisu <[email protected]>2022-09-25 17:32:03 +0800
commit34a1d171cea659fdbe0b906cfa389c24a3ec87c7 (patch)
treecdce9ea092aba7c5e2e4cec998de7f9bffcf971f /docs/source/api
parentcf2fa1503cdbff4007f1f0686f5bb2eed74cf801 (diff)
Update rst
Diffstat (limited to 'docs/source/api')
-rw-r--r--docs/source/api/api_config.rst109
-rw-r--r--docs/source/api/api_port.rst24
2 files changed, 24 insertions, 109 deletions
diff --git a/docs/source/api/api_config.rst b/docs/source/api/api_config.rst
index d7754fd0..836d3d85 100644
--- a/docs/source/api/api_config.rst
+++ b/docs/source/api/api_config.rst
@@ -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 \ No newline at end of file
diff --git a/docs/source/api/api_port.rst b/docs/source/api/api_port.rst
index 1fe9716b..95be593d 100644
--- a/docs/source/api/api_port.rst
+++ b/docs/source/api/api_port.rst
@@ -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
- - 设备断开,传输中止 \ No newline at end of file
+ - 设备断开,传输中止
+
+其中 `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** 错误码 \ No newline at end of file