esp32-s2_dfu/0.4/structtusb__descriptor__end...

228 lines
16 KiB
HTML

<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>tinyusb: tusb_descriptor_endpoint_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">tinyusb
&#160;<span id="projectnumber">0.4</span>
</div>
</td>
<td align="right">
<a href="https://pledgie.com/campaigns/24694"><img border="0" src="https://pledgie.com/campaigns/24694.png?skin_name=chrome" alt="Click here to lend your support to tinyusb donation and make a donation at pledgie.com"></a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('structtusb__descriptor__endpoint__t.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle">
<div class="title">tusb_descriptor_endpoint_t Struct Reference<div class="ingroups"><a class="el" href="group___group___std_descriptor.html">Standard Descriptors</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>USB Standard Endpoint Descriptor (section 9.6.1 table 9-13)
<a href="structtusb__descriptor__endpoint__t.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="std__descriptors_8h_source.html">std_descriptors.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a1deca1f1d6e5815b290e6e1015bce5b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1deca1f1d6e5815b290e6e1015bce5b8"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtusb__descriptor__endpoint__t.html#a1deca1f1d6e5815b290e6e1015bce5b8">bLength</a></td></tr>
<tr class="memdesc:a1deca1f1d6e5815b290e6e1015bce5b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of this descriptor in bytes. <br/></td></tr>
<tr class="separator:a1deca1f1d6e5815b290e6e1015bce5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67d7027b9eb9ed268d28e84fbc675707"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67d7027b9eb9ed268d28e84fbc675707"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtusb__descriptor__endpoint__t.html#a67d7027b9eb9ed268d28e84fbc675707">bDescriptorType</a></td></tr>
<tr class="memdesc:a67d7027b9eb9ed268d28e84fbc675707"><td class="mdescLeft">&#160;</td><td class="mdescRight">ENDPOINT Descriptor Type. <br/></td></tr>
<tr class="separator:a67d7027b9eb9ed268d28e84fbc675707"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a527afb0f25cdd442d8d32c7df8e18c45"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a527afb0f25cdd442d8d32c7df8e18c45"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtusb__descriptor__endpoint__t.html#a527afb0f25cdd442d8d32c7df8e18c45">bEndpointAddress</a></td></tr>
<tr class="memdesc:a527afb0f25cdd442d8d32c7df8e18c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">The address of the endpoint on the USB device described by this descriptor. The address is encoded as follows: <br/>
Bit 3...0: The endpoint number <br/>
Bit 6...4: Reserved, reset to zero <br/>
Bit 7: Direction, ignored for control endpoints 0 = OUT endpoint 1 = IN endpoint. <br/></td></tr>
<tr class="separator:a527afb0f25cdd442d8d32c7df8e18c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d80d36c01bf6552c8bf985e936cd23a"><td class="memItemLeft" ><a class="anchor" id="a0d80d36c01bf6552c8bf985e936cd23a"></a>
struct {</td></tr>
<tr class="memitem:a726208049a2ed7ead0600a2719e6e51c"><td class="memItemLeft" ><a class="anchor" id="a726208049a2ed7ead0600a2719e6e51c"></a>
&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>xfer</b>: 2</td></tr>
<tr class="separator:a726208049a2ed7ead0600a2719e6e51c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb4b09387463cd61bf8f7217366310ef"><td class="memItemLeft" ><a class="anchor" id="adb4b09387463cd61bf8f7217366310ef"></a>
&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>sync</b>: 2</td></tr>
<tr class="separator:adb4b09387463cd61bf8f7217366310ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae57e160624e2ff78e1f612d92a3bd4ff"><td class="memItemLeft" ><a class="anchor" id="ae57e160624e2ff78e1f612d92a3bd4ff"></a>
&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>usage</b>: 2</td></tr>
<tr class="separator:ae57e160624e2ff78e1f612d92a3bd4ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b4eebe79ded0459acec2f4950102ba3"><td class="memItemLeft" ><a class="anchor" id="a8b4eebe79ded0459acec2f4950102ba3"></a>
&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>__pad0__</b>: 2</td></tr>
<tr class="separator:a8b4eebe79ded0459acec2f4950102ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d80d36c01bf6552c8bf985e936cd23a"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtusb__descriptor__endpoint__t.html#a0d80d36c01bf6552c8bf985e936cd23a">bmAttributes</a></td></tr>
<tr class="memdesc:a0d80d36c01bf6552c8bf985e936cd23a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This field describes the endpoint's attributes when it is configured using the bConfigurationValue. <br/>
Bits 1..0: Transfer Type <br/>
- 00 = Control <br/>
- 01 = Isochronous <br/>
- 10 = Bulk <br/>
- 11 = Interrupt <br/>
If not an isochronous endpoint, bits 5..2 are reserved and must be set to zero. If isochronous, they are defined as follows: <br/>
Bits 3..2: Synchronization Type <br/>
- 00 = No Synchronization <br/>
- 01 = Asynchronous <br/>
- 10 = Adaptive <br/>
- 11 = Synchronous <br/>
Bits 5..4: Usage Type <br/>
- 00 = Data endpoint <br/>
- 01 = Feedback endpoint <br/>
- 10 = Implicit feedback Data endpoint <br/>
- 11 = Reserved <br/>
Refer to Chapter 5 of USB 2.0 specification for more information. <br/>
All other bits are reserved and must be reset to zero. Reserved bits must be ignored by the host. <br/></td></tr>
<tr class="separator:a0d80d36c01bf6552c8bf985e936cd23a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae20de48d45afa1109e31a7906cba99e9"><td class="memItemLeft" ><a class="anchor" id="ae20de48d45afa1109e31a7906cba99e9"></a>
struct {</td></tr>
<tr class="memitem:aaba88b24a21a6c70c895c0d55f4a69a0"><td class="memItemLeft" ><a class="anchor" id="aaba88b24a21a6c70c895c0d55f4a69a0"></a>
&#160;&#160;&#160;uint16_t&#160;&#160;&#160;<a class="el" href="structtusb__descriptor__endpoint__t.html#aaba88b24a21a6c70c895c0d55f4a69a0">size</a>: 11</td></tr>
<tr class="memdesc:aaba88b24a21a6c70c895c0d55f4a69a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected. <br/>
For isochronous endpoints, this value is used to reserve the bus time in the schedule, required for the per-(micro)frame data payloads. The pipe may, on an ongoing basis, actually use less bandwidth than that reserved. The device reports, if necessary, the actual bandwidth used via its normal, non-USB defined mechanisms. <br/>
For all endpoints, bits 10..0 specify the maximum packet size (in bytes). <br/>
For high-speed isochronous and interrupt endpoints: <br/>
Bits 12..11 specify the number of additional transaction opportunities per microframe: <br/>
- 00 = None (1 transaction per microframe) <br/>
- 01 = 1 additional (2 per microframe) <br/>
- 10 = 2 additional (3 per microframe) <br/>
- 11 = Reserved <br/>
Bits 15..13 are reserved and must be set to zero. <br/></td></tr>
<tr class="separator:aaba88b24a21a6c70c895c0d55f4a69a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dbe5f705add75856baa9dab4fa6779e"><td class="memItemLeft" ><a class="anchor" id="a2dbe5f705add75856baa9dab4fa6779e"></a>
&#160;&#160;&#160;uint16_t&#160;&#160;&#160;<b>hs_period_mult</b>: 2</td></tr>
<tr class="separator:a2dbe5f705add75856baa9dab4fa6779e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77132c2c26a75f5b8751b235cda23828"><td class="memItemLeft" ><a class="anchor" id="a77132c2c26a75f5b8751b235cda23828"></a>
&#160;&#160;&#160;uint16_t&#160;&#160;&#160;<b>__pad0__</b>: 0</td></tr>
<tr class="separator:a77132c2c26a75f5b8751b235cda23828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae20de48d45afa1109e31a7906cba99e9"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>wMaxPacketSize</b></td></tr>
<tr class="separator:ae20de48d45afa1109e31a7906cba99e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff92277eea8536f7de1a88d818c91b9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff92277eea8536f7de1a88d818c91b9e"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtusb__descriptor__endpoint__t.html#aff92277eea8536f7de1a88d818c91b9e">bInterval</a></td></tr>
<tr class="memdesc:aff92277eea8536f7de1a88d818c91b9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interval for polling endpoint for data transfers. Expressed in frames or microframes depending on the device operating speed (i.e., either 1 millisecond or 125 us units). <br/>
- For full-/high-speed isochronous endpoints, this value must be in the range from 1 to 16. The bInterval value is used as the exponent for a <img class="formulaInl" alt="$ 2^(bInterval-1) $" src="form_0.png"/> value; e.g., a bInterval of 4 means a period of 8 ( <img class="formulaInl" alt="$ 2^(4-1) $" src="form_1.png"/>). <br/>
- For full-/low-speed interrupt endpoints, the value of this field may be from 1 to 255. <br/>
- For high-speed interrupt endpoints, the bInterval value is used as the exponent for a <img class="formulaInl" alt="$ 2^(bInterval-1) $" src="form_0.png"/> value; e.g., a bInterval of 4 means a period of 8 ( <img class="formulaInl" alt="$ 2^(4-1) $" src="form_1.png"/>) . This value must be from 1 to 16. <br/>
- For high-speed bulk/control OUT endpoints, the bInterval must specify the maximum NAK rate of the endpoint. A value of 0 indicates the endpoint never NAKs. Other values indicate at most 1 NAK each bInterval number of microframes. This value must be in the range from 0 to 255. <br/>
Refer to Chapter 5 of USB 2.0 specification for more information. <br/></td></tr>
<tr class="separator:aff92277eea8536f7de1a88d818c91b9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>USB Standard Endpoint Descriptor (section 9.6.1 table 9-13) </p>
<p>Definition at line <a class="el" href="std__descriptors_8h_source.html#l00104">104</a> of file <a class="el" href="std__descriptors_8h_source.html">std_descriptors.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>tinyusb/common/<a class="el" href="std__descriptors_8h_source.html">std_descriptors.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structtusb__descriptor__endpoint__t.html">tusb_descriptor_endpoint_t</a></li>
<li class="footer">Generated on Tue Apr 15 2014 10:49:31 for tinyusb by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>