diff options
Diffstat (limited to 'docs/source/api')
| -rw-r--r-- | docs/source/api/api_config.rst | 109 | ||||
| -rw-r--r-- | docs/source/api/api_port.rst | 24 |
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 |
