| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290 |
- <!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.13"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>Lightweight USB stack: USB device core</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="../../navtreedata.js"></script>
- <script type="text/javascript" src="../../navtree.js"></script>
- <script type="text/javascript">
- $(document).ready(initResizable);
- </script>
- <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="../../search/searchdata.js"></script>
- <script type="text/javascript" src="../../search/search.js"></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 cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">Lightweight USB stack
-  <span id="projectnumber">1.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.13 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- </script>
- <script type="text/javascript" src="../../menudata.js"></script>
- <script type="text/javascript" src="../../menu.js"></script>
- <script type="text/javascript">
- $(function() {
- initMenu('../../',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
- });
- </script>
- <div id="main-nav"></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('d0/dc2/a00104.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)">
- </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="#nested-classes">Data Structures</a> |
- <a href="#define-members">Macros</a> |
- <a href="#typedef-members">Typedefs</a> |
- <a href="#enum-members">Enumerations</a> |
- <a href="#func-members">Functions</a> </div>
- <div class="headertitle">
- <div class="title">USB device core<div class="ingroups"><a class="el" href="../../d9/dcc/a00102.html">USB Device HW driver and core API</a></div></div> </div>
- </div><!--header-->
- <div class="contents">
- <p>Contains core API.
- <a href="#details">More...</a></p>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
- Data Structures</h2></td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7b/a00296.html">usbd_ctlreq</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents generic USB control request. <a href="../../db/d7b/a00296.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da2/a00300.html">usbd_status</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0f/a00308.html">usbd_device</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a USB device data. <a href="../../d5/d0f/a00308.html#details">More...</a><br /></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
- Macros</h2></td></tr>
- <tr class="memitem:ga61f5238c546b8050578953907517c53a"><td class="memItemLeft" align="right" valign="top"><a id="ga61f5238c546b8050578953907517c53a"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga61f5238c546b8050578953907517c53a">USB_EPTYPE_DBLBUF</a>   0x04</td></tr>
- <tr class="memdesc:ga61f5238c546b8050578953907517c53a"><td class="mdescLeft"> </td><td class="mdescRight">Doublebuffered endpoint (bulk endpoint only). <br /></td></tr>
- <tr class="separator:ga61f5238c546b8050578953907517c53a"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
- Typedefs</h2></td></tr>
- <tr class="memitem:ga2992d1e12544a788bf2e1d774d68f3f7"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a>) (usbd_device *dev, uint8_t event, uint8_t ep)</td></tr>
- <tr class="memdesc:ga2992d1e12544a788bf2e1d774d68f3f7"><td class="mdescLeft"> </td><td class="mdescRight">Generic USB device event callback for events and endpoints processing. <a href="#ga2992d1e12544a788bf2e1d774d68f3f7">More...</a><br /></td></tr>
- <tr class="separator:ga2992d1e12544a788bf2e1d774d68f3f7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga69107740e936027a76fdd5e1ab951ea0"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga69107740e936027a76fdd5e1ab951ea0">usbd_rqc_callback</a>) (usbd_device *dev, <a class="el" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req)</td></tr>
- <tr class="memdesc:ga69107740e936027a76fdd5e1ab951ea0"><td class="mdescLeft"> </td><td class="mdescRight">USB control transfer completed callback function. <a href="#ga69107740e936027a76fdd5e1ab951ea0">More...</a><br /></td></tr>
- <tr class="separator:ga69107740e936027a76fdd5e1ab951ea0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga24325482daef183b8d3048cec1d3babe"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a>) (usbd_device *dev, <a class="el" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req, <a class="el" href="../../d0/dc2/a00104.html#ga69107740e936027a76fdd5e1ab951ea0">usbd_rqc_callback</a> *callback)</td></tr>
- <tr class="memdesc:ga24325482daef183b8d3048cec1d3babe"><td class="mdescLeft"> </td><td class="mdescRight">USB control callback function. <a href="#ga24325482daef183b8d3048cec1d3babe">More...</a><br /></td></tr>
- <tr class="separator:ga24325482daef183b8d3048cec1d3babe"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga304c7a310c29930f3e3a0de82cb3d5da"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a>) (<a class="el" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req, void **address, uint16_t *dsize)</td></tr>
- <tr class="memdesc:ga304c7a310c29930f3e3a0de82cb3d5da"><td class="mdescLeft"> </td><td class="mdescRight">USB get descriptor callback function. <a href="#ga304c7a310c29930f3e3a0de82cb3d5da">More...</a><br /></td></tr>
- <tr class="separator:ga304c7a310c29930f3e3a0de82cb3d5da"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga666d9b86915fa7981c64c6d72a7cc5ea"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a>) (usbd_device *dev, uint8_t cfg)</td></tr>
- <tr class="memdesc:ga666d9b86915fa7981c64c6d72a7cc5ea"><td class="mdescLeft"> </td><td class="mdescRight">USB set configuration callback function. <a href="#ga666d9b86915fa7981c64c6d72a7cc5ea">More...</a><br /></td></tr>
- <tr class="separator:ga666d9b86915fa7981c64c6d72a7cc5ea"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
- Enumerations</h2></td></tr>
- <tr class="memitem:ga5401592e6f44b34f3f08f5fbfc75d693"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga5401592e6f44b34f3f08f5fbfc75d693">usbd_machine_state</a> <tr class="memdesc:ga5401592e6f44b34f3f08f5fbfc75d693"><td class="mdescLeft"> </td><td class="mdescRight">USB device machine states. <a href="../../d0/dc2/a00104.html#ga5401592e6f44b34f3f08f5fbfc75d693">More...</a><br /></td></tr>
- </td></tr>
- <tr class="separator:ga5401592e6f44b34f3f08f5fbfc75d693"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga3aca852c36615e7fa9b6440f021240f6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga3aca852c36615e7fa9b6440f021240f6">usbd_ctl_state</a> <tr class="memdesc:ga3aca852c36615e7fa9b6440f021240f6"><td class="mdescLeft"> </td><td class="mdescRight">USB device control endpoint machine state. <a href="../../d0/dc2/a00104.html#ga3aca852c36615e7fa9b6440f021240f6">More...</a><br /></td></tr>
- </td></tr>
- <tr class="separator:ga3aca852c36615e7fa9b6440f021240f6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga0fac0b81178c584fb2baa52c8faa49f2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a> <tr class="memdesc:ga0fac0b81178c584fb2baa52c8faa49f2"><td class="mdescLeft"> </td><td class="mdescRight">Reporting status results. <a href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">More...</a><br /></td></tr>
- </td></tr>
- <tr class="separator:ga0fac0b81178c584fb2baa52c8faa49f2"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
- Functions</h2></td></tr>
- <tr class="memitem:ga32f29b38819f95a081c4b8e5901090bb"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga32f29b38819f95a081c4b8e5901090bb">usbd_init</a> (usbd_device *dev, const struct <a class="el" href="../../d8/d17/a00304.html">usbd_driver</a> *drv, const uint8_t ep0size, uint32_t *buffer, const uint16_t bsize)</td></tr>
- <tr class="memdesc:ga32f29b38819f95a081c4b8e5901090bb"><td class="mdescLeft"> </td><td class="mdescRight">Initializes device structure. <a href="#ga32f29b38819f95a081c4b8e5901090bb">More...</a><br /></td></tr>
- <tr class="separator:ga32f29b38819f95a081c4b8e5901090bb"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gae994b4f002351aea0399568a92d88c14"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gae994b4f002351aea0399568a92d88c14">usbd_poll</a> (usbd_device *dev)</td></tr>
- <tr class="memdesc:gae994b4f002351aea0399568a92d88c14"><td class="mdescLeft"> </td><td class="mdescRight">Polls USB for events. <a href="#gae994b4f002351aea0399568a92d88c14">More...</a><br /></td></tr>
- <tr class="separator:gae994b4f002351aea0399568a92d88c14"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaab0522f0d69f6b838fce7f1840f8b067"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gaab0522f0d69f6b838fce7f1840f8b067">usbd_reg_control</a> (usbd_device *dev, <a class="el" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a> callback)</td></tr>
- <tr class="memdesc:gaab0522f0d69f6b838fce7f1840f8b067"><td class="mdescLeft"> </td><td class="mdescRight">Register callback for all control requests. <a href="#gaab0522f0d69f6b838fce7f1840f8b067">More...</a><br /></td></tr>
- <tr class="separator:gaab0522f0d69f6b838fce7f1840f8b067"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac6b42380fd5e97bbc86230c81498827f"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gac6b42380fd5e97bbc86230c81498827f">usbd_reg_config</a> (usbd_device *dev, <a class="el" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a> callback)</td></tr>
- <tr class="memdesc:gac6b42380fd5e97bbc86230c81498827f"><td class="mdescLeft"> </td><td class="mdescRight">Register callback for SET_CONFIG control request. <a href="#gac6b42380fd5e97bbc86230c81498827f">More...</a><br /></td></tr>
- <tr class="separator:gac6b42380fd5e97bbc86230c81498827f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gafa5ef6dda3b942336d43aa2ba1e49f52"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gafa5ef6dda3b942336d43aa2ba1e49f52">usbd_reg_descr</a> (usbd_device *dev, <a class="el" href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a> callback)</td></tr>
- <tr class="memdesc:gafa5ef6dda3b942336d43aa2ba1e49f52"><td class="mdescLeft"> </td><td class="mdescRight">Register callback for GET_DESCRIPTOR control request. <a href="#gafa5ef6dda3b942336d43aa2ba1e49f52">More...</a><br /></td></tr>
- <tr class="separator:gafa5ef6dda3b942336d43aa2ba1e49f52"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga8d49025ebd29f8104e89b2bbdfd63185"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga8d49025ebd29f8104e89b2bbdfd63185">usbd_ep_config</a> (usbd_device *dev, uint8_t ep, uint8_t eptype, uint16_t epsize)</td></tr>
- <tr class="memdesc:ga8d49025ebd29f8104e89b2bbdfd63185"><td class="mdescLeft"> </td><td class="mdescRight">Configure endpoint. <a href="#ga8d49025ebd29f8104e89b2bbdfd63185">More...</a><br /></td></tr>
- <tr class="separator:ga8d49025ebd29f8104e89b2bbdfd63185"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga22b889eb0b4c8a88c0525cc1c90c83ea"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga22b889eb0b4c8a88c0525cc1c90c83ea">usbd_ep_deconfig</a> (usbd_device *dev, uint8_t ep)</td></tr>
- <tr class="memdesc:ga22b889eb0b4c8a88c0525cc1c90c83ea"><td class="mdescLeft"> </td><td class="mdescRight">Deconfigure endpoint. <a href="#ga22b889eb0b4c8a88c0525cc1c90c83ea">More...</a><br /></td></tr>
- <tr class="separator:ga22b889eb0b4c8a88c0525cc1c90c83ea"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga03d68cf538adebd34efd3012b92da693"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga03d68cf538adebd34efd3012b92da693">usbd_reg_endpoint</a> (usbd_device *dev, uint8_t ep, <a class="el" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> callback)</td></tr>
- <tr class="memdesc:ga03d68cf538adebd34efd3012b92da693"><td class="mdescLeft"> </td><td class="mdescRight">Register endpoint callback. <a href="#ga03d68cf538adebd34efd3012b92da693">More...</a><br /></td></tr>
- <tr class="separator:ga03d68cf538adebd34efd3012b92da693"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga3b8185117daea1d28732382b5fa36ff8"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga3b8185117daea1d28732382b5fa36ff8">usbd_reg_event</a> (usbd_device *dev, uint8_t evt, <a class="el" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> callback)</td></tr>
- <tr class="memdesc:ga3b8185117daea1d28732382b5fa36ff8"><td class="mdescLeft"> </td><td class="mdescRight">Registers event callback. <a href="#ga3b8185117daea1d28732382b5fa36ff8">More...</a><br /></td></tr>
- <tr class="separator:ga3b8185117daea1d28732382b5fa36ff8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaf290c740d704e94deed37f2f59094c17"><td class="memItemLeft" align="right" valign="top">static int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gaf290c740d704e94deed37f2f59094c17">usbd_ep_write</a> (usbd_device *dev, uint8_t ep, void *buf, uint16_t blen)</td></tr>
- <tr class="memdesc:gaf290c740d704e94deed37f2f59094c17"><td class="mdescLeft"> </td><td class="mdescRight">Write data to endpoint. <a href="#gaf290c740d704e94deed37f2f59094c17">More...</a><br /></td></tr>
- <tr class="separator:gaf290c740d704e94deed37f2f59094c17"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gabce892816f191ee4588b59dbd70ed004"><td class="memItemLeft" align="right" valign="top">static int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gabce892816f191ee4588b59dbd70ed004">usbd_ep_read</a> (usbd_device *dev, uint8_t ep, void *buf, uint16_t blen)</td></tr>
- <tr class="memdesc:gabce892816f191ee4588b59dbd70ed004"><td class="mdescLeft"> </td><td class="mdescRight">Read data from endpoint. <a href="#gabce892816f191ee4588b59dbd70ed004">More...</a><br /></td></tr>
- <tr class="separator:gabce892816f191ee4588b59dbd70ed004"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga62d8a32edf72dbdbb870d05e7e4017f7"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga62d8a32edf72dbdbb870d05e7e4017f7">usbd_ep_stall</a> (usbd_device *dev, uint8_t ep)</td></tr>
- <tr class="memdesc:ga62d8a32edf72dbdbb870d05e7e4017f7"><td class="mdescLeft"> </td><td class="mdescRight">Stall endpoint. <a href="#ga62d8a32edf72dbdbb870d05e7e4017f7">More...</a><br /></td></tr>
- <tr class="separator:ga62d8a32edf72dbdbb870d05e7e4017f7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga24b864ef84e19bcd0f815ad4242041fa"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga24b864ef84e19bcd0f815ad4242041fa">usbd_ep_unstall</a> (usbd_device *dev, uint8_t ep)</td></tr>
- <tr class="memdesc:ga24b864ef84e19bcd0f815ad4242041fa"><td class="mdescLeft"> </td><td class="mdescRight">Unstall endpoint. <a href="#ga24b864ef84e19bcd0f815ad4242041fa">More...</a><br /></td></tr>
- <tr class="separator:ga24b864ef84e19bcd0f815ad4242041fa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga13b40f8ef25729e67a948bb036b6ce58"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga13b40f8ef25729e67a948bb036b6ce58">usbd_enable</a> (usbd_device *dev, bool enable)</td></tr>
- <tr class="memdesc:ga13b40f8ef25729e67a948bb036b6ce58"><td class="mdescLeft"> </td><td class="mdescRight">Enables or disables USB hardware. <a href="#ga13b40f8ef25729e67a948bb036b6ce58">More...</a><br /></td></tr>
- <tr class="separator:ga13b40f8ef25729e67a948bb036b6ce58"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga9574c807b4052ab5f34290b1afb00065"><td class="memItemLeft" align="right" valign="top">static uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga9574c807b4052ab5f34290b1afb00065">usbd_connect</a> (usbd_device *dev, bool connect)</td></tr>
- <tr class="memdesc:ga9574c807b4052ab5f34290b1afb00065"><td class="mdescLeft"> </td><td class="mdescRight">Connects or disconnects USB hardware to/from usb host. <a href="#ga9574c807b4052ab5f34290b1afb00065">More...</a><br /></td></tr>
- <tr class="separator:ga9574c807b4052ab5f34290b1afb00065"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac64fb60affe8b2fe6253e6ebe5fe9525"><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gac64fb60affe8b2fe6253e6ebe5fe9525">usbd_getinfo</a> (usbd_device *dev)</td></tr>
- <tr class="memdesc:gac64fb60affe8b2fe6253e6ebe5fe9525"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves status and capabilities. <a href="#gac64fb60affe8b2fe6253e6ebe5fe9525">More...</a><br /></td></tr>
- <tr class="separator:gac64fb60affe8b2fe6253e6ebe5fe9525"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- bmRequestType bitmapped field</h2></td></tr>
- <tr class="memitem:ga6b9c3fcf995e5d23de85b6030a0d84dd"><td class="memItemLeft" align="right" valign="top"><a id="ga6b9c3fcf995e5d23de85b6030a0d84dd"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga6b9c3fcf995e5d23de85b6030a0d84dd">USB_REQ_DIRECTION</a>   (1 << 7)</td></tr>
- <tr class="memdesc:ga6b9c3fcf995e5d23de85b6030a0d84dd"><td class="mdescLeft"> </td><td class="mdescRight">Request direction mask. <br /></td></tr>
- <tr class="separator:ga6b9c3fcf995e5d23de85b6030a0d84dd"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac41e0607bf13b9e87a13aa102dcbb8aa"><td class="memItemLeft" align="right" valign="top"><a id="gac41e0607bf13b9e87a13aa102dcbb8aa"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gac41e0607bf13b9e87a13aa102dcbb8aa">USB_REQ_HOSTTODEV</a>   (0 << 7)</td></tr>
- <tr class="memdesc:gac41e0607bf13b9e87a13aa102dcbb8aa"><td class="mdescLeft"> </td><td class="mdescRight">Request direction is HOST to DEVICE. <br /></td></tr>
- <tr class="separator:gac41e0607bf13b9e87a13aa102dcbb8aa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gae3e09cb3d3226833ef57f916d89291ca"><td class="memItemLeft" align="right" valign="top"><a id="gae3e09cb3d3226833ef57f916d89291ca"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gae3e09cb3d3226833ef57f916d89291ca">USB_REQ_DEVTOHOST</a>   (1 << 7)</td></tr>
- <tr class="memdesc:gae3e09cb3d3226833ef57f916d89291ca"><td class="mdescLeft"> </td><td class="mdescRight">Request direction is DEVICE to HOST. <br /></td></tr>
- <tr class="separator:gae3e09cb3d3226833ef57f916d89291ca"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaa184c56c116810da76cfaae4f611e4c3"><td class="memItemLeft" align="right" valign="top"><a id="gaa184c56c116810da76cfaae4f611e4c3"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gaa184c56c116810da76cfaae4f611e4c3">USB_REQ_TYPE</a>   (3 << 5)</td></tr>
- <tr class="memdesc:gaa184c56c116810da76cfaae4f611e4c3"><td class="mdescLeft"> </td><td class="mdescRight">Request type mask. <br /></td></tr>
- <tr class="separator:gaa184c56c116810da76cfaae4f611e4c3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga4380b84c8d2470c403e280753c507bd4"><td class="memItemLeft" align="right" valign="top"><a id="ga4380b84c8d2470c403e280753c507bd4"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga4380b84c8d2470c403e280753c507bd4">USB_REQ_STANDARD</a>   (0 << 5)</td></tr>
- <tr class="memdesc:ga4380b84c8d2470c403e280753c507bd4"><td class="mdescLeft"> </td><td class="mdescRight">Standard request. <br /></td></tr>
- <tr class="separator:ga4380b84c8d2470c403e280753c507bd4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaaa13ef254ca1ef9c26170a07b98a7a64"><td class="memItemLeft" align="right" valign="top"><a id="gaaa13ef254ca1ef9c26170a07b98a7a64"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#gaaa13ef254ca1ef9c26170a07b98a7a64">USB_REQ_CLASS</a>   (1 << 5)</td></tr>
- <tr class="memdesc:gaaa13ef254ca1ef9c26170a07b98a7a64"><td class="mdescLeft"> </td><td class="mdescRight">Class specified request. <br /></td></tr>
- <tr class="separator:gaaa13ef254ca1ef9c26170a07b98a7a64"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga92c81a92bf440998e4b0777d89272185"><td class="memItemLeft" align="right" valign="top"><a id="ga92c81a92bf440998e4b0777d89272185"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga92c81a92bf440998e4b0777d89272185">USB_REQ_VENDOR</a>   (2 << 5)</td></tr>
- <tr class="memdesc:ga92c81a92bf440998e4b0777d89272185"><td class="mdescLeft"> </td><td class="mdescRight">Vendor specified request. <br /></td></tr>
- <tr class="separator:ga92c81a92bf440998e4b0777d89272185"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga26072833296e244c0dbd7e7a104f8b34"><td class="memItemLeft" align="right" valign="top"><a id="ga26072833296e244c0dbd7e7a104f8b34"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga26072833296e244c0dbd7e7a104f8b34">USB_REQ_RECIPIENT</a>   (3 << 0)</td></tr>
- <tr class="memdesc:ga26072833296e244c0dbd7e7a104f8b34"><td class="mdescLeft"> </td><td class="mdescRight">Request recipient mask. <br /></td></tr>
- <tr class="separator:ga26072833296e244c0dbd7e7a104f8b34"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga48a88d1b49e86e6018971675ee0e14ff"><td class="memItemLeft" align="right" valign="top"><a id="ga48a88d1b49e86e6018971675ee0e14ff"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga48a88d1b49e86e6018971675ee0e14ff">USB_REQ_DEVICE</a>   (0 << 0)</td></tr>
- <tr class="memdesc:ga48a88d1b49e86e6018971675ee0e14ff"><td class="mdescLeft"> </td><td class="mdescRight">Request to device. <br /></td></tr>
- <tr class="separator:ga48a88d1b49e86e6018971675ee0e14ff"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga4aed1bed2eace26ff5ab34dbb55abba3"><td class="memItemLeft" align="right" valign="top"><a id="ga4aed1bed2eace26ff5ab34dbb55abba3"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga4aed1bed2eace26ff5ab34dbb55abba3">USB_REQ_INTERFACE</a>   (1 << 0)</td></tr>
- <tr class="memdesc:ga4aed1bed2eace26ff5ab34dbb55abba3"><td class="mdescLeft"> </td><td class="mdescRight">Request to interface. <br /></td></tr>
- <tr class="separator:ga4aed1bed2eace26ff5ab34dbb55abba3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga9be6799733f1e7879f261ea28365d5d5"><td class="memItemLeft" align="right" valign="top"><a id="ga9be6799733f1e7879f261ea28365d5d5"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga9be6799733f1e7879f261ea28365d5d5">USB_REQ_ENDPOINT</a>   (2 << 0)</td></tr>
- <tr class="memdesc:ga9be6799733f1e7879f261ea28365d5d5"><td class="mdescLeft"> </td><td class="mdescRight">Request to endpoint. <br /></td></tr>
- <tr class="separator:ga9be6799733f1e7879f261ea28365d5d5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga716c2b09215f9cbf5b155b9634e3f0ef"><td class="memItemLeft" align="right" valign="top"><a id="ga716c2b09215f9cbf5b155b9634e3f0ef"></a>
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dc2/a00104.html#ga716c2b09215f9cbf5b155b9634e3f0ef">USB_REQ_OTHER</a>   (3 << 0)</td></tr>
- <tr class="memdesc:ga716c2b09215f9cbf5b155b9634e3f0ef"><td class="mdescLeft"> </td><td class="mdescRight">Other request. <br /></td></tr>
- <tr class="separator:ga716c2b09215f9cbf5b155b9634e3f0ef"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <p>Contains core API. </p>
- <h2 class="groupheader">Typedef Documentation</h2>
- <a id="ga2992d1e12544a788bf2e1d774d68f3f7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga2992d1e12544a788bf2e1d774d68f3f7">◆ </a></span>usbd_evt_callback</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef void(* usbd_evt_callback) (usbd_device *dev, uint8_t event, uint8_t ep)</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Generic USB device event callback for events and endpoints processing. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>pointer to USB device </td></tr>
- <tr><td class="paramdir"></td><td class="paramname">event</td><td><a class="el" href="../../d5/d1e/a00103.html#USB_EVENTS">USB event</a> </td></tr>
- <tr><td class="paramdir"></td><td class="paramname">ep</td><td>active endpoint number </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section note"><dt>Note</dt><dd>endpoints with same indexes i.e. 0x01 and 0x81 shares same callback. </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00175">175</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga69107740e936027a76fdd5e1ab951ea0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga69107740e936027a76fdd5e1ab951ea0">◆ </a></span>usbd_rqc_callback</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef void(* usbd_rqc_callback) (usbd_device *dev, <a class="el" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req)</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>USB control transfer completed callback function. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>pointer to USB device </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">req</td><td>pointer to usb request structure </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section note"><dt>Note</dt><dd>usbd_device->complete_callback will be set to NULL after this callback completion. </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00182">182</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga24325482daef183b8d3048cec1d3babe"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga24325482daef183b8d3048cec1d3babe">◆ </a></span>usbd_ctl_callback</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a>(* usbd_ctl_callback) (usbd_device *dev, <a class="el" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req, <a class="el" href="../../d0/dc2/a00104.html#ga69107740e936027a76fdd5e1ab951ea0">usbd_rqc_callback</a> *callback)</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>USB control callback function. </p>
- <p>Uses for the control request processing. Some requests will be handled by core if callback don't process it (returns FALSE). If request was not processed STALL PID will be issued.</p><ul>
- <li>GET_CONFIGURATION</li>
- <li>SET_CONFIGURATION (passes to <a class="el" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a>)</li>
- <li>GET_DESCRIPTOR (passes to <a class="el" href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a>)</li>
- <li>GET_STATUS</li>
- <li>SET_FEATURE, CLEAR_FEATURE (endpoints only)</li>
- <li>SET_ADDRESS <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>points to USB device </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">req</td><td>points to usb control request </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">*callback</td><td>USB control transfer completion callback, default is NULL (no callback) </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>usbd_respond status. </dd></dl>
- </li>
- </ul>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00199">199</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga304c7a310c29930f3e3a0de82cb3d5da"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga304c7a310c29930f3e3a0de82cb3d5da">◆ </a></span>usbd_dsc_callback</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a>(* usbd_dsc_callback) (<a class="el" href="../../db/d7b/a00296.html">usbd_ctlreq</a> *req, void **address, uint16_t *dsize)</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>USB get descriptor callback function. </p>
- <p>Called when GET_DESCRIPTOR request issued </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">req</td><td>pointer to usb control request structure </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">address</td><td>pointer to the descriptor in memory. Points to req->data by default. You can use this buffer. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">dsize</td><td>descriptor size. maximum buffer size by default. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>usbd_ack if you passed the correct descriptor, usbd_fail otherwise. </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00209">209</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga666d9b86915fa7981c64c6d72a7cc5ea"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga666d9b86915fa7981c64c6d72a7cc5ea">◆ </a></span>usbd_cfg_callback</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a>(* usbd_cfg_callback) (usbd_device *dev, uint8_t cfg)</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>USB set configuration callback function. </p>
- <p>called when SET_CONFIGURATION request issued </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>pointer to USB device </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">cfg</td><td>configuration number. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section note"><dt>Note</dt><dd>if config is 0 device endpoints should be de-configured </dd></dl>
- <dl class="section return"><dt>Returns</dt><dd>TRUE if success </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00218">218</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <h2 class="groupheader">Enumeration Type Documentation</h2>
- <a id="ga5401592e6f44b34f3f08f5fbfc75d693"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga5401592e6f44b34f3f08f5fbfc75d693">◆ </a></span>usbd_machine_state</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="../../d0/dc2/a00104.html#ga5401592e6f44b34f3f08f5fbfc75d693">usbd_machine_state</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>USB device machine states. </p>
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga5401592e6f44b34f3f08f5fbfc75d693a21f28f602405397500ac5755ef420d87"></a>usbd_state_default </td><td class="fielddoc"><p>Default. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga5401592e6f44b34f3f08f5fbfc75d693aa4b741eff1b346a428d12d55fa90e199"></a>usbd_state_addressed </td><td class="fielddoc"><p>Addressed. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga5401592e6f44b34f3f08f5fbfc75d693a61b7bd62db86e10c25c3d10ed3d32ad7"></a>usbd_state_configured </td><td class="fielddoc"><p>Configured. </p>
- </td></tr>
- </table>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00113">113</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga3aca852c36615e7fa9b6440f021240f6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga3aca852c36615e7fa9b6440f021240f6">◆ </a></span>usbd_ctl_state</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="../../d0/dc2/a00104.html#ga3aca852c36615e7fa9b6440f021240f6">usbd_ctl_state</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>USB device control endpoint machine state. </p>
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga3aca852c36615e7fa9b6440f021240f6acd768bd9a31560eff928ecbbf0ef4344"></a>usbd_ctl_idle </td><td class="fielddoc"><p>Idle stage. Awaiting for SETUP packet. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga3aca852c36615e7fa9b6440f021240f6aef8382ffd3aa402ab3466e7af1cb7026"></a>usbd_ctl_rxdata </td><td class="fielddoc"><p>RX stage. Receiving DATA-OUT payload. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga3aca852c36615e7fa9b6440f021240f6ac9e4174a590a9f7484286f17e126a9ac"></a>usbd_ctl_txdata </td><td class="fielddoc"><p>TX stage. Transmitting DATA-IN payload. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga3aca852c36615e7fa9b6440f021240f6a77433ddfd0efda420c5aa6ccc14b8daf"></a>usbd_ctl_ztxdata </td><td class="fielddoc"><p>TX stage. Transmitting DATA-IN payload. Zero length packet maybe required.. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga3aca852c36615e7fa9b6440f021240f6abc01743314c52bb898074373d780b9e5"></a>usbd_ctl_lastdata </td><td class="fielddoc"><p>TX stage. Last DATA-IN packed passed to buffer. Awaiting for the TX completion. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga3aca852c36615e7fa9b6440f021240f6ae38b5ef5939bd04435e89d680acc07c7"></a>usbd_ctl_statusin </td><td class="fielddoc"><p>STATUS-IN stage. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga3aca852c36615e7fa9b6440f021240f6ab38def65f71bfb910106c4f471e6d093"></a>usbd_ctl_statusout </td><td class="fielddoc"><p>STATUS-OUT stage. </p>
- </td></tr>
- </table>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00122">122</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga0fac0b81178c584fb2baa52c8faa49f2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga0fac0b81178c584fb2baa52c8faa49f2">◆ </a></span>usbd_respond</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="../../d0/dc2/a00104.html#ga0fac0b81178c584fb2baa52c8faa49f2">usbd_respond</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reporting status results. </p>
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga0fac0b81178c584fb2baa52c8faa49f2ad3ad0fc956590b793ccc6b84a0485b28"></a>usbd_fail </td><td class="fielddoc"><p>Function has an error, STALLPID will be issued. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga0fac0b81178c584fb2baa52c8faa49f2af67773b99f1ceccf0a194ac42aa51f00"></a>usbd_ack </td><td class="fielddoc"><p>Function completes request accepted ZLP or data will be send. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="gga0fac0b81178c584fb2baa52c8faa49f2aa2908dddecd599d265c626356aea8f46"></a>usbd_nak </td><td class="fielddoc"><p>Function is busy. NAK handshake. </p>
- </td></tr>
- </table>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00135">135</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <h2 class="groupheader">Function Documentation</h2>
- <a id="ga32f29b38819f95a081c4b8e5901090bb"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga32f29b38819f95a081c4b8e5901090bb">◆ </a></span>usbd_init()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_init </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const struct <a class="el" href="../../d8/d17/a00304.html">usbd_driver</a> * </td>
- <td class="paramname"><em>drv</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const uint8_t </td>
- <td class="paramname"><em>ep0size</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t * </td>
- <td class="paramname"><em>buffer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const uint16_t </td>
- <td class="paramname"><em>bsize</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Initializes device structure. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>USB device that will be initialized </td></tr>
- <tr><td class="paramname">drv</td><td>Pointer to hardware driver </td></tr>
- <tr><td class="paramname">ep0size</td><td>Control endpoint 0 size </td></tr>
- <tr><td class="paramname">buffer</td><td>Pointer to control request data buffer (32-bit aligned) </td></tr>
- <tr><td class="paramname">bsize</td><td>Size of the data buffer </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00347">347</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="gae994b4f002351aea0399568a92d88c14"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gae994b4f002351aea0399568a92d88c14">◆ </a></span>usbd_poll()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void usbd_poll </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Polls USB for events. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>Pointer to device structure </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section note"><dt>Note</dt><dd>can be called as from main routine as from USB interrupt </dd></dl>
- </div>
- </div>
- <a id="gaab0522f0d69f6b838fce7f1840f8b067"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gaab0522f0d69f6b838fce7f1840f8b067">◆ </a></span>usbd_reg_control()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_reg_control </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a> </td>
- <td class="paramname"><em>callback</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register callback for all control requests. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">callback</td><td>user control callback <a class="el" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a> </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00366">366</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="gac6b42380fd5e97bbc86230c81498827f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gac6b42380fd5e97bbc86230c81498827f">◆ </a></span>usbd_reg_config()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_reg_config </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a> </td>
- <td class="paramname"><em>callback</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register callback for SET_CONFIG control request. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">callback</td><td>pointer to user <a class="el" href="../../d0/dc2/a00104.html#ga666d9b86915fa7981c64c6d72a7cc5ea">usbd_cfg_callback</a> </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00374">374</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="gafa5ef6dda3b942336d43aa2ba1e49f52"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gafa5ef6dda3b942336d43aa2ba1e49f52">◆ </a></span>usbd_reg_descr()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_reg_descr </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="../../d0/dc2/a00104.html#ga304c7a310c29930f3e3a0de82cb3d5da">usbd_dsc_callback</a> </td>
- <td class="paramname"><em>callback</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register callback for GET_DESCRIPTOR control request. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">callback</td><td>pointer to user <a class="el" href="../../d0/dc2/a00104.html#ga24325482daef183b8d3048cec1d3babe">usbd_ctl_callback</a> </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00382">382</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga8d49025ebd29f8104e89b2bbdfd63185"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga8d49025ebd29f8104e89b2bbdfd63185">◆ </a></span>usbd_ep_config()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static bool usbd_ep_config </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>ep</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>eptype</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint16_t </td>
- <td class="paramname"><em>epsize</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Configure endpoint. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">ep</td><td>endpoint address. Use USB_EPDIR_ macros to set endpoint direction </td></tr>
- <tr><td class="paramname">eptype</td><td>endpoint type. Use USB_EPTYPE_* macros. </td></tr>
- <tr><td class="paramname">epsize</td><td>endpoint size in bytes </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>TRUE if success </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00390">390</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga22b889eb0b4c8a88c0525cc1c90c83ea"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga22b889eb0b4c8a88c0525cc1c90c83ea">◆ </a></span>usbd_ep_deconfig()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_ep_deconfig </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>ep</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Deconfigure endpoint. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">ep</td><td>endpoint index </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section note"><dt>Note</dt><dd>if you have two one-direction single-buffered endpoints with same index (i.e. 0x02 and 0x82) both will be deconfigured. </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00398">398</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga03d68cf538adebd34efd3012b92da693"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga03d68cf538adebd34efd3012b92da693">◆ </a></span>usbd_reg_endpoint()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_reg_endpoint </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>ep</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> </td>
- <td class="paramname"><em>callback</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register endpoint callback. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">ep</td><td>endpoint index </td></tr>
- <tr><td class="paramname">callback</td><td>pointer to user <a class="el" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> callback for endpoint events </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00407">407</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga3b8185117daea1d28732382b5fa36ff8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga3b8185117daea1d28732382b5fa36ff8">◆ </a></span>usbd_reg_event()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_reg_event </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>evt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> </td>
- <td class="paramname"><em>callback</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Registers event callback. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">evt</td><td>device <a class="el" href="../../d5/d1e/a00103.html#USB_EVENTS">event</a> wants to be registered </td></tr>
- <tr><td class="paramname">callback</td><td>pointer to user <a class="el" href="../../d0/dc2/a00104.html#ga2992d1e12544a788bf2e1d774d68f3f7">usbd_evt_callback</a> for this event </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00416">416</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="gaf290c740d704e94deed37f2f59094c17"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gaf290c740d704e94deed37f2f59094c17">◆ </a></span>usbd_ep_write()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static int32_t usbd_ep_write </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>ep</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint16_t </td>
- <td class="paramname"><em>blen</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Write data to endpoint. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">ep</td><td>endpoint index, hould belong to IN or CONTROL endpoint </td></tr>
- <tr><td class="paramname">buf</td><td>pointer to data buffer </td></tr>
- <tr><td class="paramname">blen</td><td>size of data will be written </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>number of written bytes </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00424">424</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="gabce892816f191ee4588b59dbd70ed004"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gabce892816f191ee4588b59dbd70ed004">◆ </a></span>usbd_ep_read()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static int32_t usbd_ep_read </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>ep</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint16_t </td>
- <td class="paramname"><em>blen</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Read data from endpoint. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">ep</td><td>endpoint index, should belong to OUT or CONTROL endpoint. </td></tr>
- <tr><td class="paramname">buf</td><td>pointer to read buffer </td></tr>
- <tr><td class="paramname">blen</td><td>size of the read buffer in bytes </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>size of the actually received data, -1 on error. </dd></dl>
- <dl class="section note"><dt>Note</dt><dd>if data does not fit buffer it will be truncated </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00432">432</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga62d8a32edf72dbdbb870d05e7e4017f7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga62d8a32edf72dbdbb870d05e7e4017f7">◆ </a></span>usbd_ep_stall()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_ep_stall </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>ep</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Stall endpoint. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">ep</td><td>endpoint address </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00440">440</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga24b864ef84e19bcd0f815ad4242041fa"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga24b864ef84e19bcd0f815ad4242041fa">◆ </a></span>usbd_ep_unstall()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_ep_unstall </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>ep</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Unstall endpoint. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">ep</td><td>endpoint address </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00448">448</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga13b40f8ef25729e67a948bb036b6ce58"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga13b40f8ef25729e67a948bb036b6ce58">◆ </a></span>usbd_enable()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void usbd_enable </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>enable</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Enables or disables USB hardware. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">enable</td><td>Enables USB when TRUE disables otherwise </td></tr>
- </table>
- </dd>
- </dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00456">456</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="ga9574c807b4052ab5f34290b1afb00065"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga9574c807b4052ab5f34290b1afb00065">◆ </a></span>usbd_connect()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static uint8_t usbd_connect </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>connect</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Connects or disconnects USB hardware to/from usb host. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">dev</td><td>dev usb device <a class="el" href="../../d5/d0f/a00308.html">_usbd_device</a> </td></tr>
- <tr><td class="paramname">connect</td><td>Connects USB to host if TRUE, disconnects otherwise </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>lanes connection status. <a class="el" href="../../d5/d1e/a00103.html#USB_LANES_STATUS">USB_LANES_STATUS</a> </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00465">465</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- <a id="gac64fb60affe8b2fe6253e6ebe5fe9525"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gac64fb60affe8b2fe6253e6ebe5fe9525">◆ </a></span>usbd_getinfo()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static uint32_t usbd_getinfo </td>
- <td>(</td>
- <td class="paramtype">usbd_device * </td>
- <td class="paramname"><em>dev</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Retrieves status and capabilities. </p>
- <dl class="section return"><dt>Returns</dt><dd>current HW status, enumeration speed and capabilities <a class="el" href="../../d5/d1e/a00103.html#USBD_HW_CAPS">USBD_HW_CAPS</a> </dd></dl>
- <p class="definition">Definition at line <a class="el" href="../../db/db6/a00074_source.html#l00471">471</a> of file <a class="el" href="../../db/db6/a00074_source.html">usbd_core.h</a>.</p>
- </div>
- </div>
- </div><!-- contents -->
- </div><!-- doc-content -->
- <!-- start footer part -->
- <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
- </div>
- </body>
- </html>
|