📄 at90usb1287-hcd_8c.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>usbstack: /home/bene/projects/sl811/usbstack/host/at90usb1287-hcd.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul></div><h1>/home/bene/projects/sl811/usbstack/host/at90usb1287-hcd.c File Reference</h1><code>#include "<a class="el" href="host_8h-source.html">host.h</a>"</code><br><code>#include <wait.h></code><br><code>#include <stdlib.h></code><br><code>#include "<a class="el" href="at90usb1287_8h-source.html">at90usb1287.h</a>"</code><br><code>#include <avr/io.h></code><br><code>#include "uart.h"</code><br><code>#include <<a class="el" href="core_8h-source.html">core/core.h</a>></code><br><code>#include <<a class="el" href="usb11spec_8h-source.html">usbspec/usb11spec.h</a>></code><br><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#3c41bd8208a4ccb6902dfab1ada4e82c">at90usb1287_roothub_probe</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#1a3d009906c9ffdce273133c14cb4638">at90usb1287_roothub_check</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#e8558b50d99a54990fc4815536e97817">at90usb1287_start_transfer</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#a5e728976c2dc39c8374ddbea42e9864">hcdi_init</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#156486d5382dea364107d54250a29795">hcdi_enqueue</a> (<a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *td)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#2937060a6cc3d0d69f04ea1d33d24de1">hcdi_dequeue</a> (<a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *td)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#68ce1031b8a7a610ec829f164d6f33cd">hcdi_irq</a> ()</td></tr><tr><td colspan="2"><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__device__t.html">usb_device</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#fc9f5e8894c82e44f3ebe104df7d5fb6">td_usba</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#14a82e7d20769a960e54b3eaa0122b94">td_usbb</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__driver__t.html">usb_driver</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#4ee608227528ece23c06ed0cea3e5d5d">at90usb1287_roothub</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__device__t.html">usb_device</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="1a3d009906c9ffdce273133c14cb4638"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_roothub_check" ref="1a3d009906c9ffdce273133c14cb4638" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void at90usb1287_roothub_check </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>This function is called periodical, to notice port changes after an hub </div></div><p><a class="anchor" name="3c41bd8208a4ccb6902dfab1ada4e82c"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_roothub_probe" ref="3c41bd8208a4ccb6902dfab1ada4e82c" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void at90usb1287_roothub_probe </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Find and initial root hub </div></div><p><a class="anchor" name="e8558b50d99a54990fc4815536e97817"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_start_transfer" ref="e8558b50d99a54990fc4815536e97817" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void at90usb1287_start_transfer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="2937060a6cc3d0d69f04ea1d33d24de1"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_dequeue" ref="2937060a6cc3d0d69f04ea1d33d24de1" args="(usb_transfer_descriptor *td)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 hcdi_dequeue </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td> <td class="paramname"> <em>td</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Remove an transfer descriptor from transfer queue. </div></div><p><a class="anchor" name="156486d5382dea364107d54250a29795"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_enqueue" ref="156486d5382dea364107d54250a29795" args="(usb_transfer_descriptor *td)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">u8 hcdi_enqueue </td> <td>(</td> <td class="paramtype"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> * </td> <td class="paramname"> <em>td</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>hcdi_enqueue takes usb_irp and split it into several usb packeges (SETUP,IN,OUT) In the usbstack they are transported with the usb_transfer_descriptor data structure. </div></div><p><a class="anchor" name="a5e728976c2dc39c8374ddbea42e9864"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_init" ref="a5e728976c2dc39c8374ddbea42e9864" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void hcdi_init </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Intial host controller and necessary software structures. </div></div><p><a class="anchor" name="68ce1031b8a7a610ec829f164d6f33cd"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_irq" ref="68ce1031b8a7a610ec829f164d6f33cd" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void hcdi_irq </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>IRQ from host controller. </div></div><p><hr><h2>Variable Documentation</h2><a class="anchor" name="4ee608227528ece23c06ed0cea3e5d5d"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_roothub" ref="4ee608227528ece23c06ed0cea3e5d5d" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__driver__t.html">usb_driver</a> <a class="el" href="at90usb1287-hcd_8c.html#4ee608227528ece23c06ed0cea3e5d5d">at90usb1287_roothub</a> </td> </tr> </table></div><div class="memdoc"><p><b>Initial value:</b><div class="fragment"><pre class="fragment"> { .name = <span class="stringliteral">"at90usb1287_roothub"</span>, .probe = <a class="code" href="at90usb1287-hcd_8c.html#3c41bd8208a4ccb6902dfab1ada4e82c">at90usb1287_roothub_probe</a>, .check = <a class="code" href="at90usb1287-hcd_8c.html#1a3d009906c9ffdce273133c14cb4638">at90usb1287_roothub_check</a>, .data = NULL,}</pre></div></div></div><p><a class="anchor" name="62e872bcf4a481ddb425c94ac5ec3be7"></a><!-- doxytag: member="at90usb1287-hcd.c::device_on_downstream" ref="62e872bcf4a481ddb425c94ac5ec3be7" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__device__t.html">usb_device</a>* <a class="el" href="sl811hs-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a> </td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="62e872bcf4a481ddb425c94ac5ec3be7"></a><!-- doxytag: member="at90usb1287-hcd.c::device_on_downstream" ref="62e872bcf4a481ddb425c94ac5ec3be7" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__device__t.html">usb_device</a>* <a class="el" href="sl811hs-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a> </td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="fc9f5e8894c82e44f3ebe104df7d5fb6"></a><!-- doxytag: member="at90usb1287-hcd.c::td_usba" ref="fc9f5e8894c82e44f3ebe104df7d5fb6" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a>* <a class="el" href="sl811hs-hcd_8c.html#fc9f5e8894c82e44f3ebe104df7d5fb6">td_usba</a> </td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="14a82e7d20769a960e54b3eaa0122b94"></a><!-- doxytag: member="at90usb1287-hcd.c::td_usbb" ref="14a82e7d20769a960e54b3eaa0122b94" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a>* <a class="el" href="sl811hs-hcd_8c.html#14a82e7d20769a960e54b3eaa0122b94">td_usbb</a> </td> </tr> </table></div><div class="memdoc"><p></div></div><p><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 08:14:11 2007 for usbstack by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -