diff options
| author | sakumisu <[email protected]> | 2022-03-08 12:39:41 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2022-03-08 12:39:41 +0800 |
| commit | b8d1fd6b658a3673adc7fb46284eae0e17b4c9bb (patch) | |
| tree | 55a28ab93ed07523f2955d83082714a94dfcbd27 /docs/_build/html/api/api_host.html | |
| parent | 5772d29f14eef3462982c3a71a7d20eacc2648fa (diff) | |
update doc structure,hosting with readdoc
Diffstat (limited to 'docs/_build/html/api/api_host.html')
| -rw-r--r-- | docs/_build/html/api/api_host.html | 416 |
1 files changed, 0 insertions, 416 deletions
diff --git a/docs/_build/html/api/api_host.html b/docs/_build/html/api/api_host.html deleted file mode 100644 index 905a7065..00000000 --- a/docs/_build/html/api/api_host.html +++ /dev/null @@ -1,416 +0,0 @@ - - -<!DOCTYPE html> -<html class="writer-html5" lang="zh-CN" > -<head> - <meta charset="utf-8" /> - - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - - <title>主机协议栈 — CherryUSB 使用指南 文档</title> - - - - <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> - - - - - - - - - - - <!--[if lt IE 9]> - <script src="../_static/js/html5shiv.min.js"></script> - <![endif]--> - - - <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> - <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> - <script src="../_static/jquery.js"></script> - <script src="../_static/underscore.js"></script> - <script src="../_static/doctools.js"></script> - <script src="../_static/translations.js"></script> - - <script type="text/javascript" src="../_static/js/theme.js"></script> - - - <link rel="index" title="索引" href="../genindex.html" /> - <link rel="search" title="搜索" href="../search.html" /> - <link rel="next" title="其他" href="api_common.html" /> - <link rel="prev" title="设备协议栈" href="api_device.html" /> -</head> - -<body class="wy-body-for-nav"> - - - <div class="wy-grid-for-nav"> - - <nav data-toggle="wy-nav-shift" class="wy-nav-side"> - <div class="wy-side-scroll"> - <div class="wy-side-nav-search" > - - - - <a href="../index.html" class="icon icon-home"> CherryUSB 使用指南 - - - - </a> - - - - - - - -<div role="search"> - <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> - <input type="text" name="q" placeholder="在文档中搜索" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> -</div> - - - </div> - - - <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> - - - - - - - <p class="caption"><span class="caption-text">快速入门</span></p> -<ul> -<li class="toctree-l1"><a class="reference internal" href="../quick_start/bl702.html">基于 BL702 开发指南</a></li> -<li class="toctree-l1"><a class="reference internal" href="../quick_start/stm32f429.html">基于 STM32F429 开发指南</a></li> -<li class="toctree-l1"><a class="reference internal" href="../quick_start/ch32v307.html">基于 CH32V307 开发指南</a></li> -<li class="toctree-l1"><a class="reference internal" href="../quick_start/rt-thread/rt-thread_zh.html">基于 RT-Thread 软件包开发指南</a></li> -</ul> -<p class="caption"><span class="caption-text">USB 基本知识点</span></p> -<ul> -<li class="toctree-l1"><a class="reference internal" href="../usb/usb_basic.html">USB 基本概念</a></li> -<li class="toctree-l1"><a class="reference internal" href="../usb/usb_desc.html">USB 描述符</a></li> -<li class="toctree-l1"><a class="reference internal" href="../usb/usb_request.html">USB 设备请求</a></li> -<li class="toctree-l1"><a class="reference internal" href="../usb/usb_enum.html">USB 枚举</a></li> -</ul> -<p class="caption"><span class="caption-text">API 手册</span></p> -<ul class="current"> -<li class="toctree-l1"><a class="reference internal" href="api_device.html">设备协议栈</a></li> -<li class="toctree-l1 current"><a class="current reference internal" href="#">主机协议栈</a><ul> -<li class="toctree-l2"><a class="reference internal" href="#core">CORE</a><ul> -<li class="toctree-l3"><a class="reference internal" href="#class">CLASS 驱动信息结构体</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id2">端点结构体</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id3">接口结构体</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id4">配置结构体</a></li> -<li class="toctree-l3"><a class="reference internal" href="#hubport">hubport 结构体</a></li> -<li class="toctree-l3"><a class="reference internal" href="#hub">hub 结构体</a></li> -<li class="toctree-l3"><a class="reference internal" href="#usbh-event-notify-handler">usbh_event_notify_handler</a></li> -<li class="toctree-l3"><a class="reference internal" href="#usbh-initialize">usbh_initialize</a></li> -<li class="toctree-l3"><a class="reference internal" href="#usbh-find-class-instance">usbh_find_class_instance</a></li> -<li class="toctree-l3"><a class="reference internal" href="#lsusb">lsusb</a></li> -</ul> -</li> -<li class="toctree-l2"><a class="reference internal" href="#cdc-acm">CDC ACM</a></li> -<li class="toctree-l2"><a class="reference internal" href="#hid">HID</a></li> -<li class="toctree-l2"><a class="reference internal" href="#msc">MSC</a></li> -<li class="toctree-l2"><a class="reference internal" href="#uac">UAC</a></li> -<li class="toctree-l2"><a class="reference internal" href="#uvc">UVC</a></li> -<li class="toctree-l2"><a class="reference internal" href="#porting">PORTING</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="api_common.html">其他</a></li> -</ul> -<p class="caption"><span class="caption-text">Class 指南</span></p> -<ul> -<li class="toctree-l1"><a class="reference internal" href="../class/class_cdc.html">CDC</a></li> -<li class="toctree-l1"><a class="reference internal" href="../class/class_hid.html">HID</a></li> -<li class="toctree-l1"><a class="reference internal" href="../class/class_msc.html">MSC</a></li> -<li class="toctree-l1"><a class="reference internal" href="../class/class_audio.html">UAC</a></li> -<li class="toctree-l1"><a class="reference internal" href="../class/class_video.html">UVC</a></li> -<li class="toctree-l1"><a class="reference internal" href="../class/winusb.html">WINUSB</a></li> -</ul> -<p class="caption"><span class="caption-text">综合例程</span></p> -<ul> -<li class="toctree-l1"><a class="reference internal" href="../demo/usb2uart.html">USB 转串口</a></li> -<li class="toctree-l1"><a class="reference internal" href="../demo/mouse_keyboard.html">键盘与鼠标</a></li> -<li class="toctree-l1"><a class="reference internal" href="../demo/msc_boot.html">U盘制作 BootLoader</a></li> -<li class="toctree-l1"><a class="reference internal" href="../demo/video.html">USB 摄像头</a></li> -<li class="toctree-l1"><a class="reference internal" href="../demo/speaker_mic.html">USB 双通道扬声器和麦克风</a></li> -<li class="toctree-l1"><a class="reference internal" href="../demo/daplink.html">DAPLINK V2.0调试器</a></li> -</ul> -<p class="caption"><span class="caption-text">Porting 说明</span></p> -<ul> -<li class="toctree-l1"><a class="reference internal" href="../porting.html">Porting 编写说明</a></li> -</ul> - - - - </div> - - </div> - </nav> - - <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> - - - <nav class="wy-nav-top" aria-label="top navigation"> - - <i data-toggle="wy-nav-top" class="fa fa-bars"></i> - <a href="../index.html">CherryUSB 使用指南</a> - - </nav> - - - <div class="wy-nav-content"> - - <div class="rst-content"> - - - - - - - - - - - - - - - - - - - -<div role="navigation" aria-label="breadcrumbs navigation"> - - <ul class="wy-breadcrumbs"> - - <li><a href="../index.html" class="icon icon-home"></a> »</li> - - <li>主机协议栈</li> - - - <li class="wy-breadcrumbs-aside"> - - - <a href="../_sources/api/api_host.rst.txt" rel="nofollow"> 查看页面源码</a> - - - </li> - - </ul> - - - <hr/> -</div> - <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> - <div itemprop="articleBody"> - - <div class="section" id="id1"> -<h1>主机协议栈<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h1> -<div class="section" id="core"> -<h2>CORE<a class="headerlink" href="#core" title="永久链接至标题">¶</a></h2> -<div class="section" id="class"> -<h3>CLASS 驱动信息结构体<a class="headerlink" href="#class" title="永久链接至标题">¶</a></h3> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span> <span class="nc">usbh_class_info</span> <span class="p">{</span> - <span class="kt">uint8_t</span> <span class="n">class</span><span class="p">;</span> <span class="cm">/* Base device class code */</span> - <span class="kt">uint8_t</span> <span class="n">subclass</span><span class="p">;</span> <span class="cm">/* Sub-class, depends on base class. Eg. */</span> - <span class="kt">uint8_t</span> <span class="n">protocol</span><span class="p">;</span> <span class="cm">/* Protocol, depends on base class. Eg. */</span> - <span class="kt">uint16_t</span> <span class="n">vid</span><span class="p">;</span> <span class="cm">/* Vendor ID (for vendor/product specific devices) */</span> - <span class="kt">uint16_t</span> <span class="n">pid</span><span class="p">;</span> <span class="cm">/* Product ID (for vendor/product specific devices) */</span> - <span class="k">const</span> <span class="k">struct</span> <span class="nc">usbh_class_driver</span> <span class="o">*</span><span class="n">class_driver</span><span class="p">;</span> -<span class="p">};</span> -</pre></div> -</div> -</div> -<div class="section" id="id2"> -<h3>端点结构体<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h3> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="nc">usbh_endpoint</span> <span class="p">{</span> - <span class="k">struct</span> <span class="nc">usb_endpoint_descriptor</span> <span class="n">ep_desc</span><span class="p">;</span> -<span class="p">}</span> <span class="n">usbh_endpoint_t</span><span class="p">;</span> -</pre></div> -</div> -</div> -<div class="section" id="id3"> -<h3>接口结构体<a class="headerlink" href="#id3" title="永久链接至标题">¶</a></h3> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="nc">usbh_interface</span> <span class="p">{</span> - <span class="k">struct</span> <span class="nc">usb_interface_descriptor</span> <span class="n">intf_desc</span><span class="p">;</span> - <span class="k">struct</span> <span class="nc">usbh_endpoint</span> <span class="n">ep</span><span class="p">[</span><span class="n">CONFIG_USBHOST_EP_NUM</span><span class="p">];</span> - <span class="kt">char</span> <span class="n">devname</span><span class="p">[</span><span class="n">CONFIG_USBHOST_DEV_NAMELEN</span><span class="p">];</span> - <span class="k">struct</span> <span class="nc">usbh_class_driver</span> <span class="o">*</span><span class="n">class_driver</span><span class="p">;</span> - <span class="kt">void</span> <span class="o">*</span><span class="n">priv</span><span class="p">;</span> -<span class="p">}</span> <span class="n">usbh_interface_t</span><span class="p">;</span> -</pre></div> -</div> -</div> -<div class="section" id="id4"> -<h3>配置结构体<a class="headerlink" href="#id4" title="永久链接至标题">¶</a></h3> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="nc">usbh_configuration</span> <span class="p">{</span> - <span class="k">struct</span> <span class="nc">usb_configuration_descriptor</span> <span class="n">config_desc</span><span class="p">;</span> - <span class="k">struct</span> <span class="nc">usbh_interface</span> <span class="n">intf</span><span class="p">[</span><span class="n">CONFIG_USBHOST_INTF_NUM</span><span class="p">];</span> -<span class="p">}</span> <span class="n">usbh_configuration_t</span><span class="p">;</span> -</pre></div> -</div> -</div> -<div class="section" id="hubport"> -<h3>hubport 结构体<a class="headerlink" href="#hubport" title="永久链接至标题">¶</a></h3> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="nc">usbh_hubport</span> <span class="p">{</span> - <span class="kt">bool</span> <span class="n">connected</span><span class="p">;</span> <span class="cm">/* True: device connected; false: disconnected */</span> - <span class="kt">bool</span> <span class="n">port_change</span><span class="p">;</span> <span class="cm">/* True: port changed; false: port do not change */</span> - <span class="kt">uint8_t</span> <span class="n">port</span><span class="p">;</span> <span class="cm">/* Hub port index */</span> - <span class="kt">uint8_t</span> <span class="n">dev_addr</span><span class="p">;</span> <span class="cm">/* device address */</span> - <span class="kt">uint8_t</span> <span class="n">speed</span><span class="p">;</span> <span class="cm">/* device speed */</span> - <span class="n">usbh_epinfo_t</span> <span class="n">ep0</span><span class="p">;</span> <span class="cm">/* control ep info */</span> - <span class="k">struct</span> <span class="nc">usb_device_descriptor</span> <span class="n">device_desc</span><span class="p">;</span> - <span class="k">struct</span> <span class="nc">usbh_configuration</span> <span class="n">config</span><span class="p">;</span> -<span class="cp">#if 0</span><span class="c"></span> -<span class="c"> uint8_t* config_desc;</span> -<span class="cp">#endif</span> - <span class="k">struct</span> <span class="nc">usb_setup_packet</span> <span class="o">*</span><span class="n">setup</span><span class="p">;</span> - <span class="k">struct</span> <span class="nc">usbh_hub</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span> <span class="cm">/*if NULL, is roothub*/</span> -<span class="p">}</span> <span class="n">usbh_hubport_t</span><span class="p">;</span> -</pre></div> -</div> -</div> -<div class="section" id="hub"> -<h3>hub 结构体<a class="headerlink" href="#hub" title="永久链接至标题">¶</a></h3> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="nc">usbh_hub</span> <span class="p">{</span> - <span class="n">usb_slist_t</span> <span class="n">list</span><span class="p">;</span> - <span class="kt">uint8_t</span> <span class="n">index</span><span class="p">;</span> <span class="cm">/* Hub index */</span> - <span class="kt">uint8_t</span> <span class="n">nports</span><span class="p">;</span> <span class="cm">/* Hub port number */</span> - <span class="kt">uint8_t</span> <span class="n">dev_addr</span><span class="p">;</span> <span class="cm">/* Hub device address */</span> - <span class="n">usbh_epinfo_t</span> <span class="n">intin</span><span class="p">;</span> - <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">int_buffer</span><span class="p">;</span> - <span class="k">struct</span> <span class="nc">hub_port_status</span> <span class="o">*</span><span class="n">port_status</span><span class="p">;</span> - <span class="k">struct</span> <span class="nc">usb_hub_descriptor</span> <span class="n">hub_desc</span><span class="p">;</span> - <span class="k">struct</span> <span class="nc">usbh_hubport</span> <span class="n">child</span><span class="p">[</span><span class="n">CONFIG_USBHOST_EHPORTS</span><span class="p">];</span> - <span class="k">struct</span> <span class="nc">usbh_hubport</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span> <span class="cm">/* Parent hub port */</span> - <span class="k">struct</span> <span class="nc">usb_work</span> <span class="n">work</span><span class="p">;</span> -<span class="p">}</span> <span class="n">usbh_hub_t</span><span class="p">;</span> -</pre></div> -</div> -</div> -<div class="section" id="usbh-event-notify-handler"> -<h3>usbh_event_notify_handler<a class="headerlink" href="#usbh-event-notify-handler" title="永久链接至标题">¶</a></h3> -<p><code class="docutils literal notranslate"><span class="pre">usbh_event_notify_handler</span></code> 是 USB 中断中的核心,用于处理不同的中断标志。包括复位、端点0 IN/OUT/SETUP、其他端点 IN/OUT 、SUSPEND、RESUME、SOF 中断等等。用于需要在 porting 接口中的 USB中断中调用该接口。</p> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">usbh_event_notify_handler</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">event</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">rhport</span><span class="p">);</span> -</pre></div> -</div> -<ul class="simple"> -<li><p><strong>event</strong> 中断事件</p></li> -<li><p><strong>rhport</strong> roothub 端口号</p></li> -</ul> -<p>其中 <code class="docutils literal notranslate"><span class="pre">event</span></code> 有如下类型:</p> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="n">usbh_event_type</span> <span class="p">{</span> - <span class="n">USBH_EVENT_ATTACHED</span><span class="p">,</span> - <span class="n">USBH_EVENT_REMOVED</span><span class="p">,</span> -<span class="p">};</span> -</pre></div> -</div> -</div> -<div class="section" id="usbh-initialize"> -<h3>usbh_initialize<a class="headerlink" href="#usbh-initialize" title="永久链接至标题">¶</a></h3> -<p><code class="docutils literal notranslate"><span class="pre">usbh_initialize</span></code> 用来初始化 usb 主机协议栈,包括:创建插拔检测用的信号量和枚举线程、高低工作队列、初始化 roothub端点0 配置,初始化 usb 主机控制器。</p> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">usbh_initialize</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span> -</pre></div> -</div> -</div> -<div class="section" id="usbh-find-class-instance"> -<h3>usbh_find_class_instance<a class="headerlink" href="#usbh-find-class-instance" title="永久链接至标题">¶</a></h3> -<p><code class="docutils literal notranslate"><span class="pre">usbh_find_class_instance</span></code> 根据注册的 class 名称查找对应的 class 结构体句柄。</p> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="o">*</span><span class="nf">usbh_find_class_instance</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">devname</span><span class="p">);</span> -</pre></div> -</div> -<ul class="simple"> -<li><p><strong>devname</strong> class 名称</p></li> -<li><p><strong>return</strong> class 结构体句柄</p></li> -</ul> -</div> -<div class="section" id="lsusb"> -<h3>lsusb<a class="headerlink" href="#lsusb" title="永久链接至标题">¶</a></h3> -<p><code class="docutils literal notranslate"><span class="pre">lsusb</span></code> 用来查看和操作 hub 上的设备信息。需要借助 shell 插件使用。</p> -<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">lsusb</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">);</span> -</pre></div> -</div> -</div> -</div> -<div class="section" id="cdc-acm"> -<h2>CDC ACM<a class="headerlink" href="#cdc-acm" title="永久链接至标题">¶</a></h2> -</div> -<div class="section" id="hid"> -<h2>HID<a class="headerlink" href="#hid" title="永久链接至标题">¶</a></h2> -</div> -<div class="section" id="msc"> -<h2>MSC<a class="headerlink" href="#msc" title="永久链接至标题">¶</a></h2> -</div> -<div class="section" id="uac"> -<h2>UAC<a class="headerlink" href="#uac" title="永久链接至标题">¶</a></h2> -</div> -<div class="section" id="uvc"> -<h2>UVC<a class="headerlink" href="#uvc" title="永久链接至标题">¶</a></h2> -</div> -<div class="section" id="porting"> -<h2>PORTING<a class="headerlink" href="#porting" title="永久链接至标题">¶</a></h2> -</div> -</div> - - - </div> - - </div> - <footer> - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="api_common.html" class="btn btn-neutral float-right" title="其他" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> - <a href="api_device.html" class="btn btn-neutral float-left" title="设备协议栈" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a> - </div> - - <hr/> - - <div role="contentinfo"> - <p> - © 版权所有 2022, sakumisu. - - </p> - </div> - - - - 利用 <a href="https://www.sphinx-doc.org/">Sphinx</a> 构建,使用了 - - <a href="https://github.com/readthedocs/sphinx_rtd_theme">主题</a> - - 由 <a href="https://readthedocs.org">Read the Docs</a>开发. - -</footer> - </div> - </div> - - </section> - - </div> - - - <script type="text/javascript"> - jQuery(function () { - SphinxRtdTheme.Navigation.enable(true); - }); - </script> - - - - - - -</body> -</html>
\ No newline at end of file |
